Disclosure of Invention
In view of the above, the present invention aims to overcome the defects in the prior art, and provide a method, a system and a storage medium for access scheduling of a terminal service point.
The invention provides the following technical scheme:
In a first aspect, an embodiment of the present disclosure provides an access scheduling method for a terminal service point, which is applied to an access scheduling system for the terminal service point, where the system includes a proxy module, a cross-link module, a configuration data module, a decision data module and a core module; the method comprises the following steps:
receiving flow load information reported from each machine room through the proxy module;
Acquiring configuration data in the configuration data module through the cross-link module, calculating the latest scheduling weight of each machine room in each coverage according to the traffic load information and the configuration data, and pushing the latest scheduling weight to the core module;
and processing and responding to the scheduling request of the terminal through the core module, and outputting the connectable machine room access point address to the terminal according to the latest scheduling weight.
Further, the system further includes a detection module, and before the configuration data in the configuration data module is acquired by the cross-link module, the system further includes:
the health check interface of each machine room is regularly called through the detection module, whether each machine room has faults or not is judged, and fault results are reported to the configuration data module;
And acquiring a fault result of each machine room in the configuration data module through the cross-chain module, and eliminating the machine room with the fault result in an unavailable state.
Further, the obtaining, by the cross-link module, the configuration data in the configuration data module, and calculating, according to the traffic load information and the configuration data, a latest scheduling weight of each machine room in each coverage, including:
Calculating expected scheduling weights of all the machine rooms in all the coverage based on preset quota, and calculating the sum of the expected scheduling weights;
acquiring actual flow loads of the machine rooms in the coverage based on the flow load information, and calculating the sum of the actual flow loads;
Calculating the expected flow load of each machine room in each coverage according to the sum of the actual flow loads and the expected scheduling weight;
calculating the difference value between the expected flow load and the actual flow load of each machine room in each coverage, and calculating the target scheduling weight to be adjusted in each machine room in each coverage according to a preset formula based on the difference value;
and taking the sum of the expected scheduling weight and the target scheduling weight of each machine room in each coverage as the latest scheduling weight.
Further, before the processing and responding to the scheduling request of the terminal by the core module, the method further includes:
After the core module establishes long connection with the cross-link module, monitoring and receiving the latest scheduling weight of each machine room in each coverage reported by the cross-link module;
When receiving a scheduling request sent by the terminal, acquiring a source IP address of the terminal;
and matching the source IP address of the terminal with the IP addresses in the IP address library, and identifying the attribution and the operator corresponding to the source IP address of the terminal.
Further, the outputting, according to the latest scheduling weight, the connectable machine room access point address to the terminal includes:
Searching for coverage with the same home location and operator according to the home location and operator of the source IP address of the terminal;
acquiring a machine room list in the coverage and the latest scheduling weight corresponding to each machine room in the machine room list;
And matching the target machine room from the machine room list according to the latest dispatching weight of each machine room and a preset matching rule, and outputting the machine room access point address of the target machine room to the terminal.
Further, the system further comprises a network console module, the method further comprising:
and displaying and managing all the configuration data, traffic load information of each machine room in each coverage and the latest scheduling weight through the network console module.
In a second aspect, an embodiment of the present disclosure provides an access scheduling system for a terminal service point, where the system includes a proxy module, a cross-link module, a configuration data module, a decision data module, and a core module;
The agent module is used for receiving flow load information reported by each machine room;
The cross-link module is used for acquiring traffic load information in the agent module and configuration data in the configuration data module, calculating the latest scheduling weight in each coverage of each machine room, pushing the latest scheduling weight to the core module, and reporting the latest scheduling weight of each machine room in each coverage in a period to the decision data module;
The core module is used for processing and responding to the scheduling request of the terminal according to the latest scheduling weight calculated by the cross-link module, and outputting the connectable machine room access point address to the terminal.
Further, the system also comprises a detection module, wherein the detection module is used for calling the health check interface of each machine room at regular time, judging whether each machine room has faults or not, and reporting the fault results to the configuration data module.
Further, the system further comprises a network console module, wherein the network console module is used for displaying and managing all the configuration data, traffic load information of each machine room in each coverage and the latest scheduling weight.
In a third aspect, in an embodiment of the present disclosure, there is provided a computer readable storage medium storing a computer program, where the computer program when executed by a processor implements the steps of the access scheduling method of the terminal service point in the first aspect.
Embodiments of the present application have the following advantages:
The access scheduling method of the terminal service point is applied to an access scheduling system of the terminal service point, and the system comprises an agent module, a cross-link module, a configuration data module, a decision data module and a core module; the method comprises the following steps: receiving flow load information reported from each machine room through the proxy module; acquiring configuration data in the configuration data module through the cross-link module, calculating the latest scheduling weight of each machine room in each coverage according to the traffic load information and the configuration data, and pushing the latest scheduling weight to the core module; and processing and responding to the scheduling request of the terminal through the core module, and outputting the connectable machine room access point address to the terminal according to the latest scheduling weight. By the method, a proper service access point can be selected for the terminal, the communication quality between the terminal and the network of the service end is optimized, so that the terminal obtains good user experience, and the operation stability of a service system is guaranteed.
In order to make the above objects, features and advantages of the present invention more comprehensible, preferred embodiments accompanied with figures are described in detail below.
Detailed Description
Embodiments of the present invention are described in detail below, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to like or similar elements or elements having like or similar functions throughout. The embodiments described below by referring to the drawings are illustrative only and are not to be construed as limiting the invention.
It will be understood that when an element is referred to as being "fixed to" another element, it can be directly on the other element or intervening elements may also be present. When an element is referred to as being "connected" to another element, it can be directly connected to the other element or intervening elements may also be present. In contrast, when an element is referred to as being "directly on" another element, there are no intervening elements present. The terms "vertical," "horizontal," "left," "right," and the like are used herein for illustrative purposes only.
In the present invention, unless explicitly specified and limited otherwise, the terms "mounted," "connected," "secured," and the like are to be construed broadly, and may be, for example, fixedly connected, detachably connected, or integrally formed; can be mechanically or electrically connected; can be directly connected or indirectly connected through an intermediate medium, and can be communicated with the inside of two elements or the interaction relationship of the two elements. The specific meaning of the above terms in the present invention can be understood by those of ordinary skill in the art according to the specific circumstances.
Furthermore, the terms "first," "second," and the like, are used for descriptive purposes only and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature. In the description of the present invention, the meaning of "a plurality" is two or more, unless explicitly defined otherwise.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description of the templates herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The term "and/or" as used herein includes any and all combinations of one or more of the associated listed items.
Example 1
As shown in fig. 1, a flowchart of a method for scheduling access to a terminal service point in an embodiment of the present application is shown, where the method for scheduling access to a terminal service point provided in the embodiment of the present application is applied to an access scheduling system of a terminal service point, where the system includes a proxy module, a cross-link module, a configuration data module, a decision data module, and a core module; the method comprises the following steps:
And step S110, receiving flow load information reported from each machine room through the proxy module.
In this embodiment, the proxy module receives the traffic load information reported from each machine room, where the traffic load information includes information such as the connection number of all terminals in the machine room, the traffic flow in unit time, and the overall CPU usage rate of the machine room, and generally, there are multiple servers in each machine room to jointly serve the outside, so each server needs to report its own traffic load information through a script, and finally, the proxy module aggregates the traffic load information of each server and reports the traffic load information to the cross-link module.
Step S120, obtaining configuration data in the configuration data module through the cross-link module, calculating a latest scheduling weight of each machine room in each coverage according to the traffic load information and the configuration data, and pushing the latest scheduling weight to the core module.
Specifically, when the cross-link module is started, the configuration data module is connected, and configuration data in the configuration data module is pulled, wherein the configuration data comprises names of all machine rooms, access IP addresses, scheduling quota, network operators where the machine rooms are located, machine room physical addresses, machine room availability states, scheduling coverage lists, coverage types, coverage areas, machine room lists contained in coverage and other necessary configuration data of a system. And when the scheduling period starts, the cross-link module establishes connection with the proxy module according to the access IP address of each machine room in the obtained configuration data, and obtains the traffic load information of each machine room in an interface mode.
It should be noted that the overlay is one basic scheduling unit in this embodiment. In order to realize nearby dispatching, terminal requests are classified according to different network attributions and network operators, the terminal request origin attributions and the operators are classified into the same class, and the coverage is an associated machine room list for serving the terminal requests of the same class, wherein main attributes of one coverage include: network home, network operator, and their associated computer room list, where a computer room requests services for such terminals.
Furthermore, before calculation starts, the health check interface of each machine room is also required to be called regularly through the detection module, whether each machine room has a fault or not is judged, and the fault result is reported to the configuration data module to be used as a judgment basis of the availability of the machine room. And after the cross-link module acquires the fault result of each machine room in the configuration data module, the machine room with the fault result in an unavailable state is removed from the calculation range of the scheduling calculation.
As shown in fig. 2, after the configuration data and the traffic load information of each machine room are obtained, the calculation of the latest scheduling weights of all the machine rooms in the current scheduling period is started. The specific calculation steps are as follows:
Step S121, calculating expected dispatching weights of all machine rooms in all the coverage based on preset quota, and calculating the sum of the expected dispatching weights;
Step S122, obtaining the actual flow load of each machine room in each coverage based on the flow load information, and calculating the sum of the actual flow loads;
Step S123, calculating the expected flow load of each machine room in each coverage according to the sum of the actual flow loads and the expected scheduling weight;
step S124, calculating the difference value between the expected flow load and the actual flow load of each machine room in each coverage, and calculating the target scheduling weight to be adjusted in each machine room in each coverage according to a preset formula based on the difference value;
Step S125, taking the sum of the expected scheduling weight and the target scheduling weight of each machine room in each coverage as the latest scheduling weight.
In this embodiment, the quota refers to a reasonable load flow configured by a machine room, and needs to be preset according to the composition structure and the number of the machine rooms. The actual flow may exceed the quota, but when exceeded indicates that the machine room has been overloaded.
Specifically, in the first step, the expected scheduling weight Ri of each machine room in each coverage is calculated based on a preset quota, and a calculation formula is as follows:
In formula 1, Pi represents a preset quota of the machine room i, and n is the number of machine rooms. For example, if the room list of the overlay a includes room 1, room 2, room 3, and room 4, and the corresponding quotas of the four rooms are P1, P2, P3, and P4, respectively, the desired scheduling weight R1=P1÷(P1+P2+P3+P4 of the room 1 in the overlay a), the desired scheduling weight R2=P2÷(P1+P2+P3+P4 of the room 2, and so on. And finally, calculating the sum Rs of expected scheduling weights of the machine rooms in the coverage.
And secondly, obtaining the actual flow load Ui of each machine room in each coverage based on the flow load information obtained from the proxy module, and calculating the sum Us of the actual flow loads.
Thirdly, calculating an expected traffic load Ei of each machine room in each coverage based on the sum Us of the actual traffic loads and the expected scheduling weight Ri, wherein the calculation formula is as follows:
ei=Us×Ri (2)
In equation 2, Us represents the sum of the actual traffic loads, and Ri represents the desired scheduling weight of the room i. For example, if the machine room list of the overlay a includes the machine room 1, the machine room 2, the machine room 3, and the machine room 4, and the corresponding quotas of the four machine rooms are P1, P2, P3, and P4, respectively, the desired traffic load E1=Us×R1 of the machine room 1, the desired traffic load E2=Us×R2 of the machine room 2, and so on in the overlay a.
Fourth, calculating a difference Di between the expected flow load and the actual flow load of each machine room in each coverage based on the actual flow load Ui and the expected flow load Ei of each machine room in each coverage, where the calculation formula is as follows:
di=Ui-Ei (3)
In equation 3, Ui represents the actual traffic load of the room i, and Ei represents the desired traffic load of the room i. For example, if the machine room list of the overlay a includes the machine room 1, the machine room 2, the machine room 3, and the machine room 4, and the corresponding quotas of the four machine rooms are P1, P2, P3, and P4, respectively, the difference D1=U1-E1 between the expected traffic load and the actual traffic load of the machine room 1 in the overlay a, the difference D2=U2-E2 between the expected traffic load and the actual traffic load of the machine room 2, and so on. Further, calculating a target scheduling weight Ci to be adjusted in each machine room in each coverage according to a preset formula based on the difference value, wherein the preset formula is as follows:
c1=-P×Di÷Ui×Rs (4)
In equation 4, Di represents a difference between the expected traffic load and the actual traffic load of the room i, Ui represents the actual traffic load of the room i, and Rs represents a sum of the expected scheduling weights. In order to control the fluctuation energy of the target scheduling weight to be adjusted each time, the embodiment introduces a fluctuation factor P, and the amplitude of the target scheduling weight to be adjusted each time can be controlled through the fluctuation factor P. It can be understood that, in this embodiment, the value range of P is (0, 1), and the larger the P value, the larger the fluctuation range of the target scheduling weight representing each adjustment, and the specific value of the fluctuation factor P can be adjusted according to the actual situation during the operation.
And fifthly, taking the sum of the expected scheduling weight Ri and the target scheduling weight Ci of each machine room in each coverage as the latest scheduling weight. As can be derived from the formulas 3 and 4, when the actual flow load Ui of the machine room is smaller than the expected flow load Ei, the difference Di between the two is a negative number, and the target scheduling weight Ci is a positive number, which indicates that the flow load of the machine room is not expected at this time, and the scheduling weight can be increased; when the actual traffic load Ui of the machine room is greater than the expected traffic load Ei, the difference Di between the actual traffic load Ui and the expected traffic load Ei is positive, and the target scheduling weight Ci is negative, which indicates that the traffic load of the machine room exceeds the expected traffic load at this time, and the scheduling weight can be reduced. And when the actual flow load Ui of the machine room is consistent with the expected flow load Ei, the weight is not required to be adjusted again, and the existing weight scheduling is kept continuously. Finally, through continuous repeated adjustment, the flow load condition of the machine room is in a dynamic balance state.
And dynamically calculating the latest scheduling weight of each machine room in each coverage through the algorithm of the five steps, pushing the latest scheduling weight to a core module, and storing the data of all the scheduling weights to a decision data module.
The negative feedback mechanism algorithm can reduce the scheduling weight under the condition that the machine room is overloaded with traffic, and increase the scheduling weight under the condition that the traffic is idle, so that the machine room is in dynamic balance with higher resource utilization rate. And the machine room is operated under the condition of the appointed resource utilization rate by a mode of presetting the quota.
And step S130, processing and responding to a scheduling request of the terminal through the core module, and outputting a connectable machine room access point address to the terminal according to the latest scheduling weight.
And the core module establishes long connection with the cross-link module when being started, monitors and receives the latest scheduling weight data of each machine room in each coverage reported by the cross-link module in real time. In order to prevent interface failure caused by no scheduling weight data in the initial starting process, the core module needs to store the latest scheduling weight data in a local server file each time when receiving the latest scheduling weight data and replace old scheduling weight data, and the local server file needs to be loaded first to form initialized scheduling weight data when starting each time.
In order to identify the source attribution and network operators of the scheduling request sent by the terminal, a local IP address library needs to be loaded when the core module is started, and each IP address and the corresponding attribution operator are recorded in the local IP address library. When the core module receives a scheduling request sent by a terminal, a source IP address of the terminal is obtained, and the source IP address of the terminal is matched with an IP address in an IP address library, so that the attribution and the operator corresponding to the source IP address of the terminal are identified.
As shown in fig. 3, in an alternative embodiment, step S130 further includes:
Step S131, searching the coverage with the same attribution and the same operator according to the attribution and the operator of the source IP address of the terminal;
Step S132, acquiring a machine room list in the coverage and the latest scheduling weight corresponding to each machine room in the machine room list;
And step S133, matching a target machine room from the machine room list according to the latest dispatching weight of each machine room and a preset matching rule, and outputting a machine room access point address of the target machine room to the terminal.
Further, according to the identified attribution and operator corresponding to the source IP address of the terminal, searching for a coverage with the same attribution and operator, and acquiring a machine room list in the coverage and the latest scheduling weight corresponding to each machine room in the machine room list. Because the terminal is consistent with the attribution and the operator of the coverage, the deployment position, the operator and the coverage attribute of the machine room in the coverage are consistent, the machine room list in the coverage is required to meet the nearby access principle, and the terminal can be effectively prevented from being connected into the machine room far away from the terminal.
When a proper machine room list is obtained, selecting a most proper access machine room in a weighted polling mode according to the latest scheduling weight of the machine room list, selecting the machine room with larger weight with larger probability, and finally returning the selected machine room access point address to the terminal through an interface. After the terminal takes the machine room access point address returned from the core module, the terminal can be connected with the corresponding machine room through the machine room access point address to carry out service communication. The scheduling weight is a main influencing factor influencing the terminal to select to access the machine room, and the calculation of the scheduling weight is obtained according to the flow load information feedback, so that the machine room scheduling weight with larger flow load is smaller, the probability of being selected by the terminal is smaller, and the flow load balancing and dynamic scheduling are realized.
In an optional implementation manner, the access scheduling method of the terminal service point further includes:
and displaying and managing all the configuration data, traffic load information of each machine room in each coverage and the latest scheduling weight through the network console module.
Specifically, the network console module is used for managing system parameters and displaying data, and the aspect of data display mainly comprises displaying current flow load information and change trend of the machine room, machine room state of a machine room list in the current system, scheduling weight of each overlay and change trend of the scheduling weight, an associated machine room list of each overlay and attribute of each overlay and the like. The system parameter management aspect mainly comprises the steps of setting machine room quota, setting machine room availability state, configuring and adjusting covered attributes and a related machine room list thereof, configuring system user authority and manager authority, monitoring alarm configuration and the like.
Through the display and management functions of the network console module, development and operation staff can intuitively observe the operation condition and scheduling decision result of each machine room through the platform, and master the operation condition of the system in real time. In the emergency situation of the system, operation and maintenance personnel can make emergency manual intervention on the system through the network console module, so that good user experience is ensured, and meanwhile, the stability of the service system is also ensured.
The access scheduling method of the terminal service point is applied to an access scheduling system of the terminal service point, and the system comprises an agent module, a cross-link module, a configuration data module, a decision data module and a core module; the method comprises the following steps: receiving flow load information reported from each machine room through the proxy module; acquiring configuration data in the configuration data module through the cross-link module, calculating the latest scheduling weight of each machine room in each coverage according to the traffic load information and the configuration data, and pushing the latest scheduling weight to the core module; and processing and responding to the scheduling request of the terminal through the core module, and outputting the connectable machine room access point address to the terminal according to the latest scheduling weight. By the method, a proper service access point can be selected for the terminal, the communication quality between the terminal and the network of the service end is optimized, so that the terminal obtains good user experience, and the operation stability of a service system is guaranteed.
Example 2
Fig. 4 is a schematic structural diagram of an access scheduling system of a terminal service point according to an embodiment of the present application, where the system includes a proxy module 10, a cross-link module 20, a configuration data module 30, a decision data module 40, and a core module 50;
The proxy module 10 is configured to receive traffic load information reported by each machine room, where the traffic load information includes information such as connection numbers of all terminals of the machine room, traffic flow in unit time, and overall CPU usage rate of the machine room, and generally, there are multiple servers in each machine room to jointly serve the outside, so each server needs to report its own traffic load information through a script, and finally, the proxy module 10 aggregates and calculates traffic load information of each server, and reports the traffic load information to the cross-link module 20.
In this embodiment, as shown in fig. 6, in the deployment mode of the proxy module 10, in consideration of availability, dual-node deployment is adopted in each machine room as mutual backup, and when one of the nodes cannot work normally, the other node can be used as backup.
The cross-link module 20 is configured to obtain traffic load information in the proxy module 10 and configuration data in the configuration data module 30, periodically calculate a latest scheduling weight in each overlay of each machine room, push the latest scheduling weight to the core module 50, and report the latest scheduling weight of each machine room in each overlay in a period to the decision data module 40;
the working principle of the cross-chain module 20 is: the configuration data module 30 is connected when the cross-chain module 20 is started, and the configuration data in the configuration data module 30 is pulled. At the beginning of the scheduling period, the cross-link module 20 establishes connection with the proxy module according to the access IP address of each machine room in the obtained configuration data, and obtains the traffic load information of each machine room in an interface mode. After the configuration data and the traffic load information of each machine room are obtained, the latest dispatching weights of all the machine rooms in the dispatching cycle are calculated. The specific calculation steps are as follows: (1) Calculating expected scheduling weights of all the machine rooms in all the coverage based on preset quota, and calculating the sum of the expected scheduling weights; (2) Acquiring actual flow loads of the machine rooms in the coverage based on the flow load information, and calculating the sum of the actual flow loads; (3) Calculating the expected flow load of each machine room in each coverage according to the sum of the actual flow loads and the expected scheduling weight; (4) Calculating the difference value between the expected flow load and the actual flow load of each machine room in each coverage, and calculating the target scheduling weight to be adjusted in each machine room in each coverage according to a preset formula based on the difference value; (5) And taking the sum of the expected scheduling weight and the target scheduling weight of each machine room in each coverage as the latest scheduling weight.
The cross-chain module 20 is a scheduling weight calculation module, which is the "brain" of the system. The method has the function of calculating the latest scheduling weight of each machine room in each coverage through a dynamic algorithm of a negative feedback mechanism, so as to determine the access selection of the terminal. By the calculation method, the scheduling weight can be reduced under the condition that the machine room is overloaded with flow, and the scheduling weight can be increased under the condition that the flow is idle, so that the machine room is in dynamic balance with higher resource utilization rate. And the machine room is operated under the condition of the appointed resource utilization rate by a mode of presetting the quota.
In this embodiment, as shown in fig. 6, in the deployment manner of the cross-link module 20, the cross-link module 20 is deployed by using a master/slave node from different places in consideration of high availability and disaster tolerance of the system. The master node is used as a normal working node, and the backup node is used as a backup when the master node fails. All other modules in the application are based on the scheduling weight data of the main node of the cross-link module 20, and report the data to the main node, and the scheduling weight data of the backup node is adopted if and only if the main node fails.
The core module 50 is configured to process and respond to a scheduling request of a terminal according to the latest scheduling weight calculated by the cross-link module 20, and output a connectable machine room access point address to the terminal.
The core module 50 operates as follows: and when the long connection is established with the cross-link module 20 during starting, monitoring and receiving the latest scheduling weight data of each machine room in each coverage reported by the cross-link module 20 in real time, taking the data of a main node of the cross-link module 20 as a scheduling basis, and adopting the data reference of a backup node when the data of the main node cannot be received for a long time. The core module 50 needs to save the latest scheduling weight data in the local server file each time it receives the latest scheduling weight data, and replace the old scheduling weight data, and needs to load the local server file to form initialized scheduling weight data each time it starts.
The core module 50 loads a local IP address library when started, in which each IP address and its corresponding home operator are recorded. When the core module 50 receives a scheduling request sent by a terminal, a source IP address of the terminal is obtained, and the source IP address of the terminal is matched with an IP address in an IP address library, so that a home location and an operator corresponding to the source IP address of the terminal are identified.
Further, according to the identified attribution and operator corresponding to the source IP address of the terminal, searching for a coverage with the same attribution and operator, and acquiring a machine room list in the coverage and the latest scheduling weight corresponding to each machine room in the machine room list. When a proper machine room list is obtained, selecting a most proper access machine room in a weighted polling mode according to the latest scheduling weight of the machine room list, selecting the machine room with larger weight with larger probability, and finally returning the selected machine room access point address to the terminal through an interface. After the terminal takes the machine room access point address returned from the core module, the terminal can be connected with the corresponding machine room through the machine room access point address to carry out service communication.
From the above, the scheduling weight is a main influencing factor influencing the terminal to select to access the machine room, and the calculation of the scheduling weight is obtained according to the flow load information feedback, so that the machine room scheduling weight with larger flow load is smaller, the probability of being selected by the terminal is smaller, and the balancing and dynamic scheduling of the flow load are realized.
In this embodiment, as shown in fig. 6, the core module 50 provides interface service for the terminal, and the concurrency of the scheduling request of the terminal is large, so in order to support high availability, the core module 50 needs to be deployed by multiple nodes in different places, and each node can serve externally and does not depend on other nodes. Each node deploys multiple instances and the front end uses a load balancing component to evenly distribute scheduling requests into each instance.
The configuration data module 30 uses mysql (relational database management system) as a storage component to store configuration data required by the weight scheduling of the present application, including names of various rooms, access IP addresses, scheduling quota, network operators where the rooms are located, physical addresses of the rooms, available states of the rooms, scheduling coverage list, coverage type, coverage area, coverage-contained room list, and other configuration data necessary for the system, and mysql guarantees data reliability in a master-slave manner. When configuring the coverage associated machine room list, a proper machine room should be configured for coverage according to the physical deployment region of the machine room and the attribute of the machine room outlet operator. In this embodiment, as shown in fig. 6, in the deployment manner of the configuration data module 30, the configuration data module 30 is centrally deployed, and all the active and standby nodes of other modules acquire required data from the configuration data module 30.
The decision data module 40 uses influxdb (open source time sequence database) as a storage component to store the machine room traffic load data and the scheduling weight data of each period. In this embodiment, as shown in fig. 6, in the deployment manner of the decision data module 40, since the scheduling weight data outputted by the main and standby nodes of the cross-link module 20 are to be distinguished, the decision data module 40 deploys the main and standby nodes in the same manner as the cross-link module 20, the main node stores the scheduling weight data generated by the main node of the cross-link module 20, and the standby node stores the scheduling weight data generated by the standby node of the cross-link module 20.
Optionally, as shown in fig. 5, the access scheduling system of the terminal service point further includes a detection module 60, where the detection module 60 is configured to call the health check interface of each machine room at regular time, determine whether each machine room has a fault, and report the fault result to the configuration data module 30.
The function of the detection module 60 is to determine if a room is available, avoiding that a faulty room is also included in the calculation of the scheduling period. In implementation, as shown in fig. 6, the detection module 60 is deployed as a separate module, and the health check interface of each machine room is invoked regularly, and finally the availability status of each machine room is saved to the local cache, and finally reported to the configuration data module 30 for floor storage. The cross-chain module 20 accesses the configuration data module 30 at the beginning of a scheduling cycle to obtain availability status of all the rooms. To avoid errors in the detection results, the detection module 60 sends three requests to each machine room each time, and if three requests are found to be unavailable at the same time, the machine room can be determined to be unavailable, and the same method is used to detect whether the machine room is restored to be available.
Optionally, as shown in fig. 5, the access scheduling system of the terminal service point further includes a network console module 70, where the network console module 70 is configured to display and manage all the configuration data, traffic load information of each machine room in each coverage, and latest scheduling weights.
The network console module 70 is mainly used for managing system parameters and displaying data, and the data displaying aspect mainly comprises displaying the current flow load information and the variation trend of the machine room, the machine room state of a list of machine rooms in the current system, the scheduling weight of each overlay and the variation trend of the scheduling weight, the list of relevant machine rooms of each overlay and the attribute of the overlay, and the like. The system parameter management aspect mainly comprises the steps of setting machine room quota, setting machine room availability state, configuring and adjusting covered attributes and a related machine room list thereof, configuring system user authority and manager authority, monitoring alarm configuration and the like. The method of automatic detection by using the detection module 60 sometimes inevitably causes inaccuracy, and when misjudgment is observed manually, the machine room availability status can also be set manually by the network console module 70.
In the present embodiment, as shown in fig. 6, in view of high availability of the system, the entire system deploys an example of two network console modules 70, one of which is a primary use node and the other of which is a backup node, and when one of which is unavailable, the backup node is used. In addition, the network console module 70 may configure the network service address of the proxy module 10 of each machine room, and the server in the machine room reports the load information to the proxy module 10 of the machine room by pulling the configured network service address of the proxy module 10. The configuration data module 30 implements an http interface, and provides an interface to the network console module 70 to add, delete, and modify configuration data. The decision data module 40 implements an http interface, providing interface acquisition data to the network console module 70 for page presentation and monitoring alarms.
The access scheduling system of the terminal service point provided by the embodiment of the application can select a proper service access point for the terminal, optimize the communication quality between the terminal and the network of the service end, ensure that the terminal obtains good user experience, and is also beneficial to ensuring the operation stability of the service system.
In an embodiment of the present disclosure, a computer readable storage medium is provided, where a computer program is stored, where the computer program, when executed by a processor, implements the steps of the access scheduling method of a terminal service point described in embodiment 1.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. The above-described apparatus embodiments are merely illustrative, for example, of the flow diagrams and block diagrams in the figures, illustrate the architecture, functionality, and operation of possible implementations of methods, systems and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules or units in various embodiments of the invention may be integrated together to form a single part, or the modules may exist alone, or two or more modules may be integrated to form a single part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a smart phone, a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a usb disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely illustrative of the present invention, and the present invention is not limited thereto, and any person skilled in the art will readily recognize that variations or substitutions are within the scope of the present invention.