CN113419938A - Control method, device and equipment for user concurrent access - Google Patents
Control method, device and equipment for user concurrent access Download PDFInfo
- Publication number
- CN113419938A CN113419938A CN202110746706.2A CN202110746706A CN113419938A CN 113419938 A CN113419938 A CN 113419938A CN 202110746706 A CN202110746706 A CN 202110746706A CN 113419938 A CN113419938 A CN 113419938A
- Authority
- CN
- China
- Prior art keywords
- user
- maximum
- server
- access amount
- concurrency
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000004364 calculation method Methods 0.000 claims abstract description 130
- 230000006399 behavior Effects 0.000 claims description 68
- 238000012559 user support system Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000002354 daily effect Effects 0.000 description 56
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000004458 analytical method Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 239000000047 product Substances 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003203 everyday effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000750 progressive effect Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The embodiment of the specification relates to the technical field of artificial intelligence, and discloses a method, a device and equipment for controlling concurrent access of users, wherein the method comprises the following steps: calculating the maximum client connection number which can be supported by each calculation server based on the cost value of each calculation server under the SAS service architecture, calculating the average value of the user concurrency number of each calculation server in each day in a specified period according to the user access log, and further calculating the maximum user concurrency number limited by the server corresponding to each calculation server. The method has the advantages that the user concurrency number of the calculation server is reasonably configured based on the calculated maximum user concurrency number limited by the server corresponding to the calculation server, so that the user concurrency number of the calculation server can be controlled within a reasonable range, the server is ensured to be in a relatively stable running state, the condition of resource load cannot occur, the feedback efficiency of user access is not influenced, and the system performance and the user experience are improved.
Description
Technical Field
The present specification belongs to the technical field of artificial intelligence, and in particular, to a method, an apparatus, and a device for controlling concurrent access of a user.
Background
Today, with the rapid development of informatization, data is emerging in an explosive manner, and the method is undoubtedly a difficult task for how to extract and mine useful value information from massive data. Therefore, it becomes critical to have a set of efficient and robust analytical tools. Especially in the field of financial science and technology, in order to help analysts save time, produce good use experience, realize the business value fast, high efficiency and stability are essential characteristics for a set of analysis tool.
The SAS (STATISTICAL ANALYSIS SYSTEM, statistical analysis software) is widely used in the fields of data mining and data analysis as a commercial analysis software, and is particularly obvious in the financial field. The service layer, in turn, contains metadata, a middle layer, and a compute layer. The computing layer service is a computing core for a client to initiate a request, and program codes or complex operations submitted by a user are executed on the computing layer server. With the rapid increase of business users and business data, the high concurrent performance problem of users becomes more and more important for the computation layer server. Meanwhile, due to the fact that big data technology is rapidly developed in recent years, database software is continuously updated, the SAS starts to be in butt joint with a Teradata platform, a Hadoop platform and a GaussDB platform, and a user frequently switches among the database platforms through the SAS to analyze data. This results in an increasing consumption of server resources and an increasing demand on server performance. No matter how well the hardware is used, there will always be a performance ceiling. Meanwhile, because the resources among the servers in the computing layer in the SAS are isolated from each other, the real load balance cannot be achieved.
In view of the above problems, no effective solution has been proposed.
Disclosure of Invention
An embodiment of the specification aims to provide a method, a device and equipment for controlling concurrent access of users, so that the stability of a system is improved.
In one aspect, an embodiment of the present specification provides a method for controlling concurrent access of users, where the method includes:
calculating the maximum connection number of the supported clients of each calculation server based on the cost values of the calculation servers;
collecting user behavior logs of each computing server in a specified period;
determining the average value of the user concurrency numbers corresponding to each calculation server in the designated period according to the user behavior logs in the designated period;
determining the maximum user concurrency number limited by the server corresponding to each calculation server according to the average value of the maximum support client connection number and the user concurrency number average value corresponding to each calculation server;
and limiting the maximum user concurrency quantity according to the server corresponding to each calculation server, and configuring the user concurrency quantity of each calculation server.
Further, the method further comprises:
determining the user group access amount ratio of the user access amount of each user group to the user access amount of the corresponding calculation server according to the user behavior log in the specified period;
determining the maximum user concurrency number supported by the user group corresponding to each user group based on the product of the maximum user concurrency number limited by the service end corresponding to each computing service end and the corresponding user group access amount ratio;
and configuring the user concurrency number of each user group according to the maximum user concurrency number supported by the user group corresponding to each user group.
Further, the determining, according to the user behavior log in the specified period, a user group access amount ratio of the user access amount of each user group to the user access amount of the corresponding computing server includes:
determining a mean value of daily access quantity of service end users corresponding to each computing service end and a mean value of daily access quantity of user groups corresponding to each user group in the appointed period according to the user behavior logs in the appointed period;
and determining the user group access amount ratio of the user access amount of each user group to the user access amount of the corresponding calculation server according to the ratio of the user daily access amount mean value of each user group to the service end user daily access amount mean value of the corresponding calculation server.
Further, the method further comprises:
determining the user access amount ratio of the access amount of each user to the user access amount of the corresponding user group according to the user behavior log in the specified period;
determining the maximum client connection number supported by the user corresponding to each user based on the product of the maximum user concurrency number supported by the user group corresponding to each user group and the corresponding user access amount ratio;
and configuring the client connection number of each user according to the maximum client connection number supported by the user corresponding to each user.
Further, the determining, according to the user behavior log in the specified period, a user access amount ratio of an access amount of each user to a user access amount of a corresponding user group includes:
calculating user daily access quantity average value of each user in the appointed period according to the user behavior log in the appointed period, and user daily access quantity average value of the user group;
and determining the user access amount ratio of the access amount of each user to the user access amount of the corresponding user group according to the ratio of the user daily access amount average value of each user to the user daily access amount average value of the corresponding user group.
Further, the calculating the maximum number of supported client connections of each computing server based on the cost value of the computing server includes:
acquiring a cost difference value between the maximum cost value and the starting cost value of each calculation server;
and determining the maximum connection number of the supported clients of each calculation server according to the ratio of the cost difference value to the cost value of each client.
Further, the determining, according to the user behavior log in the specified period, the user concurrency number average value corresponding to each computing server in the specified period includes:
acquiring the median of the concurrent users of the concurrent number of each day of users of each computing server in a specified period according to the user behavior log in the specified period;
and determining the user concurrency number average value corresponding to each calculation server in the specified period according to the concurrency user median.
Further, the method further comprises:
recalculating at least one of the maximum user concurrency limit number of the server corresponding to each calculation server, the maximum user concurrency supported number of the user group corresponding to each user group and the maximum client connection supported number of the user corresponding to each user every other designated period;
and reconfiguring and calculating the user concurrency number of the service end or the user concurrency number of the user group or the client connection number of the user based on the newly calculated service end limitation maximum user concurrency number, the user group support maximum user concurrency number and the user support maximum client connection number.
In another aspect, the present specification provides a control apparatus for concurrent access by a user, the apparatus comprising:
the maximum client number calculation module is used for calculating the maximum supported client connection number of each calculation server based on the cost value of the calculation server;
the log acquisition module is used for acquiring user behavior logs of each computing server in a specified period;
the user concurrency number calculation module is used for determining the user concurrency number average value corresponding to each calculation server in the specified period according to the user behavior log in the specified period;
the user concurrency number limiting calculation module is used for determining the maximum user concurrency number limited by the server corresponding to each calculation server according to the maximum support client connection number corresponding to each calculation server and the average value of the user concurrency number average value;
and the user concurrency number configuration module is used for limiting the maximum user concurrency number according to the server corresponding to each calculation server and configuring the user concurrency number of each calculation server.
Further, the apparatus further includes a user group user concurrency number configuration module, configured to:
determining the user group access amount ratio of the user access amount of each user group to the user access amount of the corresponding calculation server according to the user behavior log in the specified period;
determining the maximum user concurrency number supported by the user group corresponding to each user group based on the product of the maximum user concurrency number limited by the service end corresponding to each computing service end and the corresponding user group access amount ratio;
and configuring the user concurrency number of each user group according to the maximum user concurrency number supported by the user group corresponding to each user group. Further, the apparatus further comprises a user client connection configuration module configured to:
determining the user access amount ratio of the access amount of each user to the user access amount of the corresponding user group according to the user behavior log in the specified period;
determining the maximum client connection number supported by the user corresponding to each user based on the product of the maximum user concurrency number supported by the user group corresponding to each user group and the corresponding user access amount ratio;
and configuring the client connection number of each user according to the maximum client connection number supported by the user corresponding to each user.
In another aspect, an embodiment of the present specification provides a control device for user concurrent access, which is applied to a server, and the device includes at least one processor and a memory for storing processor-executable instructions, where the instructions, when executed by the processor, implement a control method including the user concurrent access.
According to the method, the device and the equipment for controlling the concurrent user access, the maximum client connection number which can be supported by each computing server is calculated based on the cost value of each computing server under the SAS service architecture, the average value of the concurrent user number of each computing server in each day in a specified period is calculated according to the user access log, and then the maximum user concurrent number limited by the server corresponding to each computing server is calculated. The method has the advantages that the user concurrency number of the calculation server is reasonably configured based on the calculated maximum user concurrency number limited by the server corresponding to the calculation server, so that the user concurrency number of the calculation server can be controlled within a reasonable range, the server is ensured to be in a relatively stable running state, the condition of resource load cannot occur, the feedback efficiency of user access is not influenced, and the system performance and the user experience are improved.
Drawings
In order to more clearly illustrate the embodiments of the present specification or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only some embodiments described in the present specification, and for those skilled in the art, other drawings can be obtained according to the drawings without any creative effort.
FIG. 1 is a diagram illustrating a SAS9 metadata information structure in one embodiment of the present description;
FIG. 2 is a diagram of a SAS9 system cluster architecture in one embodiment of the present description;
fig. 3 is a schematic flowchart of an embodiment of a method for controlling concurrent access of users provided in an embodiment of the present specification;
FIG. 4 is a schematic diagram illustrating the principle of concurrent control of a computing server to a user in one embodiment of the present disclosure;
FIG. 5 is a schematic diagram of a user concurrent access control principle at user group granularity in one embodiment of the present description;
FIG. 6 is a schematic diagram of a user concurrent access control principle at user granularity in one embodiment of the present description;
FIG. 7 is a schematic diagram of a user concurrent access control in an embodiment of the present specification;
FIG. 8 is a schematic structural diagram of a control device for user concurrent access in one embodiment of the present specification;
fig. 9 is a block diagram of a hardware configuration of a control server for concurrent access by users in one embodiment of the present specification.
Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present specification, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only a part of the embodiments of the present specification, and not all of the embodiments. All other embodiments obtained by a person skilled in the art based on the embodiments in the present specification without any inventive step should fall within the scope of protection of the present specification.
In a scenario example provided in this specification, the method for controlling concurrent access of a user may be applied to a device that performs control of concurrent access of a user, such as an architecture of an SAS service, and may be a server or a server cluster including multiple servers. Fig. 1 is a schematic diagram of a SAS9 metadata information structure in an embodiment of the present disclosure, and as shown in fig. 1, in an architecture of a SAS9 service, a metadata Meta may be used as a center for user information management, where the Meta stores information such as users, user groups, user authentication domains, and authorization templates, and computing nodes are managed and controlled by a metadata cluster. As shown in fig. 1, a plurality of computing servers SASApp are corresponding to the metadata Meta, a plurality of department user groups Wkgrp are corresponding to each computing server SASApp, and a plurality of users are corresponding to each department user group Wkgrp. Fig. 2 is a schematic diagram of a SAS9 system cluster structure in an embodiment of the present disclosure, and as shown in fig. 2, through the relationship among users, user groups, and computing servers in metadata, when a service user logs in a SASEG client, the service user is automatically allocated to a corresponding computing node, i.e., a computing server, by the metadata cluster. And below the computing nodes, hierarchical relationship division is further implemented, and finally, the user authority can be refined to the unified authentication account of each user. As shown in fig. 2, each computing server includes a Workspace service, i.e., a Workspace service.
The control method for user concurrent access provided in the embodiments of the present specification provides a user concurrent access control optimization strategy based on SAS service, and can be applied to a server under an SAS service architecture, thereby overcoming the disadvantages that computing layer resources in the SAS9 service are isolated from each other and load balancing cannot be achieved, and effectively reducing the number of invalid or low-efficiency client connections in production. By this policy, the computing resources served by SAS9 may be allocated reasonably, providing a better means to control concurrent access to the system by users. Therefore, the server can be always kept in a relatively stable running state, the condition of resource load basically cannot occur, and the experience of flexible service query cannot be influenced.
Fig. 3 is a flowchart schematically illustrating an embodiment of a method for controlling concurrent access of users according to an embodiment of the present disclosure. Although the present specification provides the method steps or apparatus structures as shown in the following examples or figures, more or less steps or modules may be included in the method or apparatus after being partially combined based on conventional or non-inventive efforts. In the case of steps or structures which do not logically have the necessary cause and effect relationship, the execution order of the steps or the block structure of the apparatus is not limited to the execution order or the block structure shown in the embodiments or the drawings of the present specification. The method or module structure of (1) can be implemented in a sequential or parallel manner according to the embodiments or the method or module structure shown in the drawings (for example, in the environment of parallel processors or multi-thread processing, or even in the environment of distributed processing and server clustering).
In a specific embodiment of the method for controlling concurrent access of users provided in this specification, as shown in fig. 3, the method may be applied to a server, a computer, a smart phone, a tablet computer, and the like, and the method may include the following steps:
and step 302, calculating the maximum connection number of the supported clients of each calculation server based on the cost values of the calculation servers.
In a specific implementation process, the user concurrent access control method provided in the embodiments of the present specification is mainly applied to an SAS service architecture, and in an SAS9, when a client is connected to an SAS9 server, some loads of a server are occupied. The magnitude of these loads is represented by a cost value in the cost balancing algorithm. Each time a client connects to the server, the SAS9 calculates the cost value that the spawner service in the server would allocate to it and recalculates the total cost value remaining for itself. The maximum number of client connections that can be supported by each computing server (i.e., the computing server described above) may be calculated based on the cost value for each computing server. Such as: if the cost value of the computing server is 600 and the cost value required for connecting a client is 200, then the maximum number of supported client connections for the computing server is 3.
In some embodiments of the present description, calculating the maximum number of supported client connections of each computing server based on the cost value of the computing server may include:
acquiring a cost difference value between the maximum cost value and the starting cost value of each calculation server;
and determining the maximum connection number of the supported clients of each calculation server according to the ratio of the cost difference value to the cost value of each client.
Specifically, in the embodiment of the present specification, cost values of one computing server are divided into 3 types: the cost value of each client (the cost value required for connecting one client to the server), the start cost value (the cost value required for starting the Workspace service), and the maximum cost value (the maximum cost value of one server) are calculated, based on which, the cost difference value between the maximum cost value and the start cost value of each computing server is calculated, and the ratio of the cost difference value to the cost value of each client is used as the maximum number of connections of the supported clients of each computing server, which may be specifically referred to the following formula:
count=(cost(max)-cost(startup))/cost(per)
wherein, cost(max)Cost as the maximum cost value(startup)Starting cost value, cost(per)For each cost value of the clients, count is the maximum number of supported client connections.
As can be seen from table 1, assuming that the cost value per client is 100, the startup cost value of the Workspace service is 200, the maximum cost value of server a is 1000, and the maximum cost value of server B is 800, the maximum number of supported client connections that can be supported by server a and server B is 8 and 6, respectively.
TABLE 1 cost value State of compute Server
Parameter(s) | Server A | Server B |
Cost per client value | 100 | 100 |
Starting cost value | 200 | 200 |
Maximum cost value | 1000 | 800 |
Number of client connections | 8 | 6 |
Through analyzing the cost values of the computing servers, the maximum number of the clients which can be supported by each computing server is reasonably calculated, and a data base is laid for reasonable configuration of the subsequent user access concurrency number.
And 304, collecting user behavior logs of each computing server in a specified period.
In a specific implementation process, in the SAS9 service architecture, a server is connected to a client, and the server starts an application process, where the process includes a keyword sasxee, and further can collect user behavior logs of each computing server in a specified period, such as: and capturing the user concurrency number of different time periods, the access time of each user and the like. The following may be referred to as core code for capturing the user concurrency number (removing the administrator account process included in the service) and the server memory state:
pnum=`ps-ef|grep sasexe|egrep-v'sasadm|sassrv|grep'|wc-l`;
free-h;
and step 306, determining the average value of the user concurrency numbers corresponding to each calculation server in the specified period according to the user behavior logs in the specified period.
In a specific implementation process, the average value of the user concurrency numbers corresponding to each calculation server in a specified period can be analyzed according to the user behavior logs of each calculation server in the specified period. The designated period can be set based on actual application requirements, such as: 1 month, 1 quarter, half year, etc., and the examples herein are not particularly limited. For example: the method comprises the steps of collecting user behavior logs of a server A in a quarter, calculating the number of concurrent users of the server A in the quarter based on the user behavior logs in the quarter, dividing the number of concurrent users of the server A in each day by the total number of days to obtain an average value of the number of concurrent users of the server A in each day, or calculating an average value of the number of concurrent users of the server A in each day, averaging the average value of the average values of each day to obtain the average value of the number of concurrent users of the server A in the quarter. In addition, according to the time of the concurrent access of the user, the reasonable configuration of the concurrent access of the user can be carried out aiming at the peak time, and the collected user behavior logs are as follows: user behavior logs at 8:30-18:00 per day were used as the analytical data.
In some embodiments of this specification, the determining, according to the user behavior log in the specified period, an average value of the user concurrency numbers corresponding to each computing server in the specified period includes:
acquiring the median of the concurrent users of the concurrent number of each day of users of each computing server in a specified period according to the user behavior log in the specified period;
and determining the user concurrency number average value corresponding to each calculation server in the specified period according to the concurrency user median.
In a specific implementation process, the concurrent user number of the concurrent users with the memory usage rate of more than 90% in one day and the information capturing time can be reserved through calculation, then the concurrent user number is written into a parameter table, and then the median of the concurrent user number of each calculation server side in the specified period every day is obtained. And (3) based on data of one quarter, eliminating double holidays and holidays, and calculating the average value of the concurrency number of the user. The basic calculation can be referred to the following formula:
wherein N isiThe method comprises the steps of representing the median of concurrent users of the concurrent number used by a calculation server in a specified period every day, wherein i is the calculation number of days, and avr represents the average value of the concurrent number of the users.
The median of the user concurrency number of the calculation server every day is screened out to represent the user concurrency number of one day, and the user concurrency number of each day in the specified period is calculated based on the median of the user concurrency number of each day, so that the calculation amount is reduced, and the data processing efficiency is improved.
And 308, determining that the server corresponding to each calculation server limits the maximum user concurrency number according to the average value of the maximum support client connection number and the user concurrency number average value corresponding to each calculation server.
In a specific implementation process, after the maximum number of supported client connections and the average value of the number of user concurrencies corresponding to each computing server are obtained through calculation, the two calculated parameters can be averaged, and then the maximum number of user concurrencies limited by the server corresponding to each computing server is obtained. See in particular the following formula:
concurrency(SASApp)=(count+avr)/2
wherein, convurency(SASApp)The maximum user concurrency number is limited by the server side, the count is the maximum connection number of the supported client side, and the avr represents the average value of the user concurrency number.
For example: the maximum number of the supported clients of the computing server a is calculated to be 8 and the maximum number of the supported clients of the computing server B is calculated to be 6 based on the cost values of the computing server a and the computing server B, and the average value of the number of the concurrent users of the computing server a per day in one quarter is calculated to be 60 and the average value of the number of the concurrent users of the computing server B per day is calculated to be 50 by counting the user behavior logs of the computing server A, B, so that the maximum number of the concurrent users of the computing server a limited to be (8+60)/2 is calculated to be 34, and the maximum number of the concurrent users of the computing server B limited to be (6+50)/2 is calculated to be 28.
And 310, limiting the maximum user concurrency quantity according to the server corresponding to each calculation server, and configuring the user concurrency quantity of each calculation server.
In a specific implementation process, after determining that the server of each computing server limits the maximum user concurrency number, the user concurrency number of each computing server may be configured, for example: and configuring the user concurrency number of each computing server by writing corresponding program codes. For example: the user concurrency number control code of the calculation server can be written based on the maximum user concurrency number limited by the server of each calculation server, and the written code is written into a starting script of the calculation server, such as: in the starting script of the Workspace service, the user concurrency number of each calculation server can be controlled, and the user concurrency number of the calculation server is in a reasonable range. In some scenario examples, the core code may refer to the following:
pnum=`ps-ef|grep sasexe|egrep-v'sasadm|sassrv|grep'|wc-l`;
if[$pnum-gt$concurrency(SASApp)];then
cmd="$SAS_COMMAND/etc/exceedconnection.log$USERMODS_OPTIONS"
fi
fig. 4 is a schematic diagram illustrating a principle of computing a server side for controlling user concurrency in one embodiment of the present disclosure, and as shown in fig. 4, from the perspective of server granularity, the user concurrency access control may be divided into two modules: the system comprises a cost balance algorithm module and a user behavior analysis log module. The cost balancing algorithm module is configured to calculate the maximum number of connections of the supported clients of each computing server based on the cost value of the computing server, and the specific calculation method refers to the descriptions in the above embodiments. The user behavior analysis log module may be deployed in a monitoring schedule on the computing server, such as: and the method is responsible for counting the concurrency number of the users, the memory state of the server and the like every five minutes in a 08:30-18:00 time period every day, and calculating the average value of the concurrency number of the users of each calculation server in each day in a specified period based on the counted concurrency number of the users. And comprehensively analyzing the calculation results of the cost balance algorithm module and the user behavior analysis log module, thereby obtaining the maximum user concurrency number limited by the server corresponding to each calculation server, and further reasonably configuring the user concurrency number of each calculation server. For a specific process, reference may be made to the descriptions of the above embodiments, which are not described herein again.
In the method for controlling concurrent user access provided in the embodiment of the present specification, based on the cost value of each computing server in the SAS service architecture, the maximum number of client connections that each computing server can support is calculated, and then according to the user access log, the average value of the number of concurrent users of each computing server in each day in a specified period is calculated, so as to calculate the maximum number of concurrent users limited by the server corresponding to each computing server. The method has the advantages that the user concurrency number of the calculation server is reasonably configured based on the calculated maximum user concurrency number limited by the server corresponding to the calculation server, so that the user concurrency number of the calculation server can be controlled within a reasonable range, the server is ensured to be in a relatively stable running state, the condition of resource load cannot occur, the feedback efficiency of user access is not influenced, and the system performance and the user experience are improved.
Fig. 5 is a schematic diagram of a user concurrent access control principle of user group granularity in one embodiment of the present specification, as shown in fig. 5, in some embodiments, the method further includes:
determining the user group access amount ratio of the user access amount of each user group to the user access amount of the corresponding calculation server according to the user behavior log in the specified period;
determining the maximum user concurrency number supported by the user group corresponding to each user group based on the product of the maximum user concurrency number limited by the service end corresponding to each computing service end and the corresponding user group access amount ratio;
and configuring the user concurrency number of each user group according to the maximum user concurrency number supported by the user group corresponding to each user group.
In a specific implementation process, as shown in fig. 1 and fig. 2, there are multiple department user groups under the SASApp server, and each user is under the department group. As described above, user behavior logs of each computing server are collected, such as: the user behavior analysis log function of the user behavior analysis log module can be used for capturing the user access quantity of each department user group in a specified period, and the user access quantity in a peak period can be analyzed according to actual use requirements, such as: the user visits per day are collected over a period of 08:30-18: 00. Similarly, the total query volume of the whole SASAPP server, namely the computing service end user in the period of 08:30-18:00 per day can be obtained. Based on the user access amount of the user group and the user access amount of the calculation server side corresponding to the user group, the occupation ratio of the user access amount corresponding to the user group to the user access amount of the calculation server side, that is, the user group access amount occupation ratio can be calculated.
In some embodiments of this specification, the determining, according to the user behavior log in the specified period, a user access amount ratio of a user access amount of each user group to a user access amount of a corresponding computing server includes:
determining a mean value of daily access quantity of service end users corresponding to each computing service end and a mean value of daily access quantity of user groups corresponding to each user group in the appointed period according to the user behavior logs in the appointed period;
and determining the user group access amount ratio of the user access amount of each user group to the user access amount of the corresponding calculation server according to the ratio of the user daily access amount mean value of each user group to the service end user daily access amount mean value of the corresponding calculation server.
Specifically, the average value of the total query volume of the user in the period of 08:30-18:00 in a specified period, namely the average value of the daily access number of the user at the service end, of the SASAPP server, namely each calculation service end, is calculated. The calculation formula can be referred to as follows:
wherein, queryjCalculating the total visit volume of the user at the service end in the period of 08:30-18:00 for each day in a specified period, wherein j is the calculation number of days, and queryAvr(SASApp)The average value of the daily access number of the service end users of the service end is calculated.
And calculating the average value of the total access amount of the users in the time period of 08:30-18:00 under each user group. The calculation formula can be referred to as follows:
wherein, querykFor a daily user group Wkgrp in a specified periodNThe total visit of the next user in the period of 08:30-18:00, k is the calculation days, queryAvr(WkgrpN)For user groups Wkgrp in a specified periodNAnd (4) average value of daily access quantity of users of the corresponding user group.
According to the calculated average value of the daily access quantity of the service end users corresponding to each calculation service end and the average value of the daily access quantity of the user group users of the corresponding user group, the user group access quantity ratio of the user access quantity of each user group to the user access quantity of the corresponding calculation service end can be calculated. Such as: based on the precedingCalculated queryAvr(SASApp)、queryAvr(WkgrpN)Value, can calculate user group WkgrpNThe ratio of the total user access amount, namely the ratio of the user group access amount, under the SASAPP server of the computing server side. The calculation formula can be referred to as follows:
ratio(WkgrpN)=queryAvr(WkgrpN)/queryAvr(SASApp)
wherein, ratio(WkgrpN)Can represent user group WkgrpNIs given by the user group access volume ratio of (1), queryAvr(WkgrpN)For user groups Wkgrp in a specified periodNMean daily access volume, queryAvr, of users of the corresponding user group(SASApp)The average value of the daily access number of the service end users of the service end is calculated. And the user access amount of the user group and the calculation server is counted to realize the rapid calculation of the user group access amount ratio.
Then, according to the calculated server corresponding to each calculation server, the maximum user concurrency number concurency is limited(SASApp)And user group access amount ratio of corresponding user group(WkgrpN)The maximum number of user concurrencies supported by each user group can be calculated. The calculation formula may be as follows:
concurrency(WkgrpN)=concurrency(SASApp)×ratio(WkgrpN)
wherein, convurency(WkgrpN)Can represent user group WkgrpNMaximum number of user concurrencies supported, confluency(SASApp)Can indicate that the service end limits the maximum user concurrency number, ratio(WkgrpN)Can represent user group WkgrpNIs compared to the user group access amount.
For example: the user group 1 is configured under the computing server 1, and through analysis of a user behavior log, an average value of daily average access numbers of all users of the user group 1 in a specified period, namely an average value of daily access numbers of users of the user group, is calculated, then the daily access number of the users of the computing server 1 in the specified period is calculated, and further, the ratio of the daily access number of the users of the user group 1 to the daily access number of the computing server 1, namely the ratio of the daily access numbers of the users of the user group 1 to the daily access number of the computing server 1 is calculated. Based on the calculated user group access amount ratio of the user group 1 and the product of the maximum user concurrency number limited by the server corresponding to the computing server 1 calculated by the processing method in the foregoing, the user group supported maximum user concurrency number of the user group 1 can be obtained. By analogy, the maximum user concurrency number supported by the user group of each user group can be calculated.
After the maximum user concurrency number supported by the user group of each user group is calculated, the user concurrency number of each user group can be reasonably configured based on the maximum user concurrency number supported by the user group of each user group. Reasonable configuration of the user concurrency number of the user group can be realized by writing computer codes, such as: configuration codes for the user group concurrency number can be written into a starting script of the computing server, such as: and writing the data into a Workspace service starting script, thereby realizing the control of the number of users of each department user group and reducing resource contention among the departments. The control core code of the user group user concurrent access number can refer to the following:
WkgrpABCN=`groups$USER|awk'{for(i=3;i<=NF;i++)print$i}'`;
WkgrpN=${WkgrpABCN%?};
sum=0;
user=`grep-w"$WkgrpN"/sas/group_user_list.txt|awk-F':″{print$2}'`;
for var in`$user`;
do
pnum=`ps-ef|grep sasexe|grep$var|egrep-v'sasadm|sassrv|grep'`;
sum=$[sum+pnum];
Done
if[$sum-gt concurrency(WkgrpN)];then
cmd="$SAS_COMMAND/etc/exceedconnection.log$USERMODS_OPTIONS"
Fi
the group _ user _ list.txt is the corresponding relationship between the user and the department group as follows:
user1:Wkgrp1
user2:Wkgrp2
user3:Wkgrp3
............
in the embodiment of the specification, the user behavior logs of all user groups under the computing server are analyzed, the user daily access quantity average value of the user groups and the corresponding server user daily access quantity average value of the computing server are calculated, the maximum user concurrency quantity is limited by combining the server of the computing server, and the maximum user supported concurrency quantity of the user groups corresponding to all the user groups is calculated, so that the reasonable configuration of the user concurrency quantity from the user group granularity is realized, resource contention among different user groups is avoided, and the system access performance is improved.
Fig. 6 is a schematic diagram illustrating a principle of user concurrent access control at user granularity in an embodiment of the present specification, and as shown in fig. 6, in some embodiments of the present specification, the method further includes:
determining the user access amount ratio of the access amount of each user to the user access amount of the corresponding user group according to the user behavior log in the specified period;
determining the maximum client connection number supported by the user corresponding to each user based on the product of the maximum user concurrency number supported by the user group corresponding to each user group and the corresponding user access amount ratio;
and configuring the client connection number of each user according to the maximum client connection number supported by the user corresponding to each user.
In a specific implementation process, as shown in fig. 1 and fig. 2, there are a plurality of department user groups under the SASApp server, and each user is under the user group. As described above, user behavior logs of each computing server are collected, such as: the user behavior analysis log function of the user behavior analysis log module can capture the daily access number of each user in a specified period, and the user access amount in a peak period can be analyzed according to actual use requirements, such as: the visit volume of each user in a period of 08:30-18:00 per day in a specified period is collected. Similarly, the total query volume of the whole SASAPP server, namely the computing service end user in the period of 08:30-18:00 per day can be obtained. And calculating the ratio of the daily access volume of the user to the daily access volume of the corresponding user group, namely the ratio of the user access volume to the daily access volume of each user in the user group.
In some embodiments of this specification, the determining, according to the user behavior log in the specified period, a user access amount ratio of an access amount of each user to a user access amount of a corresponding user group includes:
calculating user daily access quantity average value of each user in the appointed period according to the user behavior log in the appointed period, and user daily access quantity average value of the user group;
and determining the user access amount ratio of the access amount of each user to the user access amount of the corresponding user group according to the ratio of the user daily access amount average value of each user to the user daily access amount average value of the corresponding user group.
Specifically, based on the user behavior log, the average value of the query volume of each user in the time period of 08:30-18:00, namely the average value of the daily access volume of the user, is calculated. The calculation formula can be referred to as follows:
wherein, querymFor USERNTotal daily visits per day, such as: the total query volume of the user in a period of 08:30-18:00 per day, m is the number of calculation days,mean daily access volume of the user.
Referring to the description of the above embodiment, the user group user daily access volume average value queryAvr of each user group in a specified period can be calculated based on the user behavior log(WkgrpN). Combining the calculated average value of daily access of each userAnd user group daily access of corresponding user groupQuantity average value queryAvr(WkgrpN)The user visit amount ratio, which is the ratio of the query amount of each user in the department group, can be calculated. The calculation formula is as follows:
wherein,can represent the USER USERNIs proportional to the amount of user access,representing USERNUser daily access volume mean, queryAvr(WkgrpN)And representing the average value of the daily access quantity of the user group users of the user group WkgrpN. And the quick calculation of the user access ratio is realized by counting the daily access volume of the users in each user group.
And then the user group support maximum user concurrency number concurency calculated based on the previous text and corresponding to each user group(WkgrpN)And the user access amount of each user in the user groupThat is, the maximum number of client connections supported by the user of each user can be calculated. The calculation formula can be referred to as follows:
wherein,representing USERNSupport the maximum number of client connections, conflrency(WkgrpN)Indicating that the user group WkgrpN supports the maximum number of user concurrencies,can represent the USER USERNIs proportional to the amount of user access.
For example: the user 1 belongs to the user under the user group 1, and through analysis of the user behavior log, the average value of the daily access amount of the user 1 in a specified period, namely the average value of the daily access amount of the user, is calculated, then the average value of the daily access amount of the user group 1 in the specified period is calculated, and further the user access amount occupation ratio of the user daily access amount of the user 1 in the user group 1, namely the user access amount occupation ratio is calculated. And obtaining the maximum client connection number supported by the user of the user 1 based on the calculated user access amount ratio of the user 1 and the product of the maximum user concurrency number supported by the user group corresponding to the user group 1 calculated by the processing mode. By analogy, the maximum client connection number supported by the user of each user can be calculated.
After the maximum client connection number supported by the users of each user is calculated, the client connection number of each user can be reasonably configured based on the maximum client connection number supported by the users of each user. The reasonable configuration of the client connection number of the user can be realized by writing computer codes, such as: configuration code that supports the maximum number of client connections for the user may be written into the compute server's startup script as: and writing the data into a Workspace service starting script, thereby realizing control over the client connection number of each user and reducing resource contention among the users. The control core code for supporting the maximum number of client connections by the user may refer to the following:
in the embodiment of the specification, the user behavior logs of the users in the user groups are analyzed, the user daily access quantity average value and the user daily access quantity average value of the corresponding user group are calculated, and the user supported maximum client connection quantity corresponding to each user is calculated by combining the user supported maximum user concurrent quantity, so that the reasonable configuration of the user granularity to the client connection quantity of the users is realized, resource contention among different users is avoided, and the system access performance is improved.
In some embodiments of the present description, the method further comprises:
recalculating at least one of the maximum user concurrency limit number of the server corresponding to each calculation server, the maximum user concurrency supported number of the user group corresponding to each user group and the maximum client connection supported number of the user corresponding to each user every other designated period;
and reconfiguring and calculating the user concurrency number of the service end or the user concurrency number of the user group or the client connection number of the user based on the newly calculated service end limitation maximum user concurrency number, the user group support maximum user concurrency number and the user support maximum client connection number.
In a specific implementation process, the method of the embodiment may be adopted to recalculate the maximum number of concurrent users limited by the server, the maximum number of concurrent users supported by the user group corresponding to each user group, and the maximum number of client connections supported by the user corresponding to each user at intervals of a specified period, and reconfigure the user concurrent access amount or the client connection amount based on the recalculated result, thereby implementing flexible configuration of the user concurrent access. Such as: the method of the embodiment can be automatically executed on the first day of each quarter, so that the automatic adjustment of the concurrency of the users can be realized, and the dynamic allocation of server resources can be realized.
Fig. 7 is a schematic diagram illustrating a principle of user concurrent access control in an embodiment of the present specification, and as shown in fig. 7, in the embodiment of the present specification, user concurrent numbers and client connection numbers may be respectively and reasonably configured from server granularity, user group granularity and user granularity, and the user concurrent access control policy may more reasonably control users to concurrently access the SAS9 system, so as to avoid an overload situation occurring in a server and influence a normal query experience of the users, and at the same time, dynamically allocate resources from the user groups and the user granularity, and ensure that server resources can be used in a balanced manner.
In the present specification, each embodiment of the method is described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. The relevant points can be obtained by referring to the partial description of the method embodiment.
Based on the method for controlling the user concurrent access, one or more embodiments of the present specification further provide an apparatus for controlling the user concurrent access. The apparatus may include a system (including a distributed system), software (applications), modules, components, servers, clients, etc. that employ the methods of embodiments of the present description in conjunction with any necessary apparatus to implement the hardware. Based on the same innovative conception, the embodiments of the present specification provide an apparatus as in the following embodiments. Since the implementation scheme of the apparatus for solving the problem is similar to that of the method, the specific apparatus implementation in the embodiment of the present specification may refer to the implementation of the foregoing method, and repeated details are not repeated. As used hereinafter, the term "unit" or "module" may be a combination of software and/or hardware that implements a predetermined function. Although the systems, devices described in the following embodiments are preferably implemented in software, implementations in hardware, or a combination of software and hardware are also possible and contemplated.
Fig. 8 is a schematic structural diagram of a control device for user concurrent access in an embodiment of this specification, and as shown in fig. 8, the control device for user concurrent access provided in some embodiments of this specification may specifically include:
the maximum client number calculation module 81 is configured to calculate the maximum supported client connection number of each computation server based on the cost value of the computation server;
the log acquisition module 82 is used for acquiring user behavior logs of each computing server in a specified period;
the user concurrency number calculation module 83 is configured to determine, according to the user behavior log in the specified period, a user concurrency number average value corresponding to each computing server in the specified period;
the limited user concurrency number calculation module 84 is configured to determine, according to the maximum supported client connection number and the average value of the user concurrency number average values corresponding to each computing server, that the server corresponding to each computing server limits the maximum user concurrency number;
and the user concurrency number configuration module 85 is configured to limit the maximum user concurrency number according to the server corresponding to each computation server, and configure the user concurrency number of each computation server.
In the control device for user concurrent access provided in the embodiment of the present specification, based on the cost value of each computing server under the SAS service architecture, the maximum number of client connections that each computing server can support is calculated, and then according to the user access log, the average value of the number of user concurrent accesses of each computing server in each day in a specified period is calculated, so as to calculate the maximum number of user concurrent accesses that the server corresponding to each computing server limits. The method has the advantages that the user concurrency number of the calculation server is reasonably configured based on the calculated maximum user concurrency number limited by the server corresponding to the calculation server, so that the user concurrency number of the calculation server can be controlled within a reasonable range, the server is ensured to be in a relatively stable running state, the condition of resource load cannot occur, the feedback efficiency of user access is not influenced, and the system performance and the user experience are improved.
In some embodiments of the present description, the apparatus further includes a user group user concurrency number configuration module, configured to:
determining the user group access amount ratio of the user access amount of each user group to the user access amount of the corresponding calculation server according to the user behavior log in the specified period;
determining the maximum user concurrency number supported by the user group corresponding to each user group based on the product of the maximum user concurrency number limited by the service end corresponding to each computing service end and the corresponding user group access amount ratio;
and configuring the user concurrency number of each user group according to the maximum user concurrency number supported by the user group corresponding to each user group. The embodiment of the specification analyzes the user behavior logs of all user groups under the computing server to calculate the user daily access quantity average value of the user groups and the corresponding server user daily access quantity average value of the computing server, and calculates the user group supporting maximum user concurrency quantity corresponding to all the user groups by combining the maximum user concurrency quantity limited by the server of the computing server, so that the reasonable configuration of the user concurrency quantity from the user group granularity is realized, resource contention among different user groups is avoided, and the system access performance is improved.
In some embodiments of the present description, the apparatus further includes a user client connection configuration module, configured to:
determining the user access amount ratio of the access amount of each user to the user access amount of the corresponding user group according to the user behavior log in the specified period;
determining the maximum client connection number supported by the user corresponding to each user based on the product of the maximum user concurrency number supported by the user group corresponding to each user group and the corresponding user access amount ratio;
and configuring the client connection number of each user according to the maximum client connection number supported by the user corresponding to each user.
The embodiment of the specification analyzes the user behavior logs of all users in all user groups, calculates the average value of daily access quantity of the users and the average value of daily access quantity of the users of the corresponding user groups, and calculates the maximum client connection quantity supported by the users corresponding to all the users by combining the maximum user concurrency quantity supported by the user groups, so that the reasonable configuration of the client quantity connected by the users from the user granularity is realized, resource contention among different users is avoided, and the system access performance is improved.
It should be noted that the above-mentioned apparatuses may also include other embodiments according to the description of the corresponding method embodiments. The specific implementation manner may refer to the description of the above corresponding method embodiment, and is not described in detail herein.
An embodiment of the present specification further provides a device for controlling user concurrent access, where the device includes at least one processor and a memory for storing processor-executable instructions, and when the instructions are executed by the processor, the method for controlling user concurrent access in the foregoing embodiments is implemented, where:
calculating the maximum connection number of the supported clients of each calculation server based on the cost values of the calculation servers;
collecting user behavior logs of each computing server in a specified period;
determining the average value of the user concurrency numbers corresponding to each calculation server in the designated period according to the user behavior logs in the designated period;
determining the maximum user concurrency number limited by the server corresponding to each calculation server according to the average value of the maximum support client connection number and the user concurrency number average value corresponding to each calculation server;
and limiting the maximum user concurrency quantity according to the server corresponding to each calculation server, and configuring the user concurrency quantity of each calculation server.
It should be noted that the above description of the apparatus according to the method embodiment may also include other embodiments. The specific implementation manner may refer to the description of the related method embodiment, and is not described in detail herein.
The method or apparatus of the foregoing embodiments provided in this specification can implement service logic through a computer program and record the service logic on a storage medium, and the storage medium can be read and executed by a computer, so as to implement the effects of the solutions described in the embodiments of this specification.
The method embodiments provided by the embodiments of the present specification can be executed in a mobile terminal, a computer terminal, a server or a similar computing device. Taking the example of the operation on the server, fig. 9 is a hardware configuration block diagram of a control server for user concurrent access in one embodiment of the present specification, and the computer terminal may be the control server for user concurrent access or the control processing device for user concurrent access in the above embodiments. As shown in fig. 9, the server 10 may include one or more (only one shown) processors 100 (the processors 100 may include, but are not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA, etc.), a non-volatile memory 200 for storing data, and a transmission module 300 for communication functions. It will be understood by those skilled in the art that the structure shown in fig. 9 is only an illustration and is not intended to limit the structure of the electronic device. For example, the server 10 may also include more or fewer components than shown in FIG. 9, and may also include other processing hardware, such as a database or multi-level cache, a GPU, or have a different configuration than shown in FIG. 9, for example.
The non-volatile memory 200 may be configured to store software programs and modules of application software, such as program instructions/modules corresponding to the taxi taking data processing method in the embodiment of the present specification, and the processor 100 executes various functional applications and resource data updates by running the software programs and modules stored in the non-volatile memory 200. Non-volatile memory 200 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the non-volatile memory 200 may further include memory located remotely from the processor 100, which may be connected to a computer terminal through a network. Examples of such networks include, but are not limited to, the internet, intranets, office-to-network, mobile communication networks, and combinations thereof.
The transmission module 300 is used for receiving or transmitting data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the computer terminal. In one example, the transmission module 300 includes a Network adapter (NIC) that can be connected to other Network devices through a base station so as to communicate with the internet. In one example, the transmission module 300 may be a Radio Frequency (RF) module, which is used for communicating with the internet in a wireless manner.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The method or apparatus for controlling concurrent access by a user provided in the embodiments of the present specification may be implemented by a processor executing corresponding program instructions in a computer, for example, implemented by using a c + + language of a windows operating system on a PC side, a linux system, or implemented by using android and iOS system programming languages on an intelligent terminal, and implemented by using processing logic of a quantum computer.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the hardware + program class embodiment, since it is substantially similar to the method embodiment, the description is simple, and the relevant points can be referred to only the partial description of the method embodiment.
Although one or more embodiments of the present description provide method operational steps as in the embodiments or flowcharts, more or fewer operational steps may be included based on conventional or non-inventive approaches. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. When the device or the end product in practice executes, it can execute sequentially or in parallel according to the method shown in the embodiment or the figures (for example, in the environment of parallel processors or multi-thread processing, even in the environment of distributed resource data update). The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, the presence of additional identical or equivalent elements in a process, method, article, or apparatus that comprises an element is not excluded. The terms first, second, etc. are used to denote names, but not any particular order.
For convenience of description, the above devices are described as being divided into various modules by functions, and are described separately. Of course, when implementing one or more of the present description, the functions of each module may be implemented in one or more software and/or hardware, or a module implementing the same function may be implemented by a combination of multiple sub-modules or sub-units, etc. The above-described embodiments of the apparatus are merely illustrative, and for example, a division of a unit is merely a division of one logic function, and an actual implementation may have another division, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, and the relevant points can be referred to only part of the description of the method embodiments. In the description of the specification, reference to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the specification. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
The above description is merely exemplary of one or more embodiments of the present disclosure and is not intended to limit the scope of one or more embodiments of the present disclosure. Various modifications and alterations to one or more embodiments described herein will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement or the like made within the spirit and principle of the present specification should be included in the scope of the claims.
Claims (12)
1. A method for controlling concurrent access of users, the method comprising:
calculating the maximum connection number of the supported clients of each calculation server based on the cost values of the calculation servers;
collecting user behavior logs of each computing server in a specified period;
determining the average value of the user concurrency numbers corresponding to each calculation server in the designated period according to the user behavior logs in the designated period;
determining the maximum user concurrency number limited by the server corresponding to each calculation server according to the average value of the maximum support client connection number and the user concurrency number average value corresponding to each calculation server;
and limiting the maximum user concurrency quantity according to the server corresponding to each calculation server, and configuring the user concurrency quantity of each calculation server.
2. The method of claim 1, wherein the method further comprises:
determining the user group access amount ratio of the user access amount of each user group to the user access amount of the corresponding calculation server according to the user behavior log in the specified period;
determining the maximum user concurrency number supported by the user group corresponding to each user group based on the product of the maximum user concurrency number limited by the service end corresponding to each computing service end and the corresponding user group access amount ratio;
and configuring the user concurrency number of each user group according to the maximum user concurrency number supported by the user group corresponding to each user group.
3. The method of claim 2, wherein the determining, according to the user behavior log in the specified period, a user group access amount ratio of a user access amount of each user group to a user access amount of a corresponding computing server comprises:
determining a mean value of daily access quantity of service end users corresponding to each computing service end and a mean value of daily access quantity of user groups corresponding to each user group in the appointed period according to the user behavior logs in the appointed period;
and determining the user group access amount ratio of the user access amount of each user group to the user access amount of the corresponding calculation server according to the ratio of the user daily access amount mean value of each user group to the service end user daily access amount mean value of the corresponding calculation server.
4. The method of claim 2, wherein the method further comprises:
determining the user access amount ratio of the access amount of each user to the user access amount of the corresponding user group according to the user behavior log in the specified period;
determining the maximum client connection number supported by the user corresponding to each user based on the product of the maximum user concurrency number supported by the user group corresponding to each user group and the corresponding user access amount ratio;
and configuring the client connection number of each user according to the maximum client connection number supported by the user corresponding to each user.
5. The method of claim 4, wherein the determining, according to the user behavior log in the specified period, a user access amount ratio of an access amount of each user to a user access amount of a corresponding user group comprises:
calculating user daily access quantity average value of each user in the appointed period according to the user behavior log in the appointed period, and user daily access quantity average value of the user group;
and determining the user access amount ratio of the access amount of each user to the user access amount of the corresponding user group according to the ratio of the user daily access amount average value of each user to the user daily access amount average value of the corresponding user group.
6. The method of claim 1, wherein calculating a maximum number of supported client connections for each compute server based on compute server cost values comprises:
acquiring a cost difference value between the maximum cost value and the starting cost value of each calculation server;
and determining the maximum connection number of the supported clients of each calculation server according to the ratio of the cost difference value to the cost value of each client.
7. The method of claim 1, wherein the determining the average value of the user concurrency numbers corresponding to the computing servers in the specified period according to the user behavior log in the specified period comprises:
acquiring the median of the concurrent users of the concurrent number of each day of users of each computing server in a specified period according to the user behavior log in the specified period;
and determining the user concurrency number average value corresponding to each calculation server in the specified period according to the concurrency user median.
8. The method of any one of claims 1-7, further comprising:
recalculating at least one of the maximum user concurrency limit number of the server corresponding to each calculation server, the maximum user concurrency supported number of the user group corresponding to each user group and the maximum client connection supported number of the user corresponding to each user every other designated period;
and reconfiguring and calculating the user concurrency number of the service end or the user concurrency number of the user group or the client connection number of the user based on the newly calculated service end limitation maximum user concurrency number, the user group support maximum user concurrency number and the user support maximum client connection number.
9. An apparatus for controlling concurrent access by a user, the apparatus comprising:
the maximum client number calculation module is used for calculating the maximum supported client connection number of each calculation server based on the cost value of the calculation server;
the log acquisition module is used for acquiring user behavior logs of each computing server in a specified period;
the user concurrency number calculation module is used for determining the user concurrency number average value corresponding to each calculation server in the specified period according to the user behavior log in the specified period;
the user concurrency number limiting calculation module is used for determining the maximum user concurrency number limited by the server corresponding to each calculation server according to the maximum support client connection number corresponding to each calculation server and the average value of the user concurrency number average value;
and the user concurrency number configuration module is used for limiting the maximum user concurrency number according to the server corresponding to each calculation server and configuring the user concurrency number of each calculation server.
10. The apparatus of claim 9, wherein the apparatus further comprises a user group user concurrency number configuration module to:
determining the user group access amount ratio of the user access amount of each user group to the user access amount of the corresponding calculation server according to the user behavior log in the specified period;
determining the maximum user concurrency number supported by the user group corresponding to each user group based on the product of the maximum user concurrency number limited by the service end corresponding to each computing service end and the corresponding user group access amount ratio;
and configuring the user concurrency number of each user group according to the maximum user concurrency number supported by the user group corresponding to each user group.
11. The apparatus of claim 10, wherein the apparatus further comprises a user client connection configuration module to:
determining the user access amount ratio of the access amount of each user to the user access amount of the corresponding user group according to the user behavior log in the specified period;
determining the maximum client connection number supported by the user corresponding to each user based on the product of the maximum user concurrency number supported by the user group corresponding to each user group and the corresponding user access amount ratio;
and configuring the client connection number of each user according to the maximum client connection number supported by the user corresponding to each user.
12. A control device for concurrent access by a user, for use in a server, the device comprising at least one processor and a memory for storing processor-executable instructions, which when executed by the processor, implement steps comprising the method of any one of claims 1 to 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110746706.2A CN113419938A (en) | 2021-07-01 | 2021-07-01 | Control method, device and equipment for user concurrent access |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110746706.2A CN113419938A (en) | 2021-07-01 | 2021-07-01 | Control method, device and equipment for user concurrent access |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113419938A true CN113419938A (en) | 2021-09-21 |
Family
ID=77720007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110746706.2A Pending CN113419938A (en) | 2021-07-01 | 2021-07-01 | Control method, device and equipment for user concurrent access |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113419938A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116137625A (en) * | 2021-11-17 | 2023-05-19 | 中移(苏州)软件技术有限公司 | Connection control method, first server side and storage medium |
CN116582369A (en) * | 2023-07-13 | 2023-08-11 | 北京点聚信息技术有限公司 | Willingness authentication method for online subscription |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021810A (en) * | 2007-03-08 | 2007-08-22 | 山东浪潮齐鲁软件产业股份有限公司 | Software system performance estimating method |
CN106446263A (en) * | 2016-10-18 | 2017-02-22 | 北京航空航天大学 | Multimedia file cloud storage platform and method for eliminating redundancy by using cloud storage platform |
CN107566535A (en) * | 2017-10-27 | 2018-01-09 | 武汉大学 | Adaptive load balancing strategy based on user concurrent access timing planning in a kind of web map service |
WO2018010211A1 (en) * | 2016-07-13 | 2018-01-18 | 山西特信环宇信息技术有限公司 | Currency transaction application platform and method |
CN108900314A (en) * | 2018-07-19 | 2018-11-27 | 网宿科技股份有限公司 | A kind of the number of request charging method and device of network acceleration service |
CN109901927A (en) * | 2019-02-21 | 2019-06-18 | 国泰君安证券股份有限公司 | Intelligent Task dynamic scheduling system and its method |
US10348637B1 (en) * | 2015-12-30 | 2019-07-09 | Cerner Innovation, Inc. | System and method for optimizing user-resource allocations to servers based on access patterns |
CN111522668A (en) * | 2020-04-29 | 2020-08-11 | 青岛海尔科技有限公司 | Method and apparatus for resource configuration and computer-readable storage medium |
CN111726402A (en) * | 2020-06-09 | 2020-09-29 | 百度在线网络技术(北京)有限公司 | User behavior data processing method and device, electronic equipment and storage medium |
CN112035415A (en) * | 2020-08-28 | 2020-12-04 | 北京金山云网络技术有限公司 | Processing system, method, device and storage medium for user access data |
CN112102111A (en) * | 2020-09-27 | 2020-12-18 | 华电福新广州能源有限公司 | Intelligent processing system for power plant data |
-
2021
- 2021-07-01 CN CN202110746706.2A patent/CN113419938A/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021810A (en) * | 2007-03-08 | 2007-08-22 | 山东浪潮齐鲁软件产业股份有限公司 | Software system performance estimating method |
US10348637B1 (en) * | 2015-12-30 | 2019-07-09 | Cerner Innovation, Inc. | System and method for optimizing user-resource allocations to servers based on access patterns |
WO2018010211A1 (en) * | 2016-07-13 | 2018-01-18 | 山西特信环宇信息技术有限公司 | Currency transaction application platform and method |
CN106446263A (en) * | 2016-10-18 | 2017-02-22 | 北京航空航天大学 | Multimedia file cloud storage platform and method for eliminating redundancy by using cloud storage platform |
CN107566535A (en) * | 2017-10-27 | 2018-01-09 | 武汉大学 | Adaptive load balancing strategy based on user concurrent access timing planning in a kind of web map service |
CN108900314A (en) * | 2018-07-19 | 2018-11-27 | 网宿科技股份有限公司 | A kind of the number of request charging method and device of network acceleration service |
CN109901927A (en) * | 2019-02-21 | 2019-06-18 | 国泰君安证券股份有限公司 | Intelligent Task dynamic scheduling system and its method |
CN111522668A (en) * | 2020-04-29 | 2020-08-11 | 青岛海尔科技有限公司 | Method and apparatus for resource configuration and computer-readable storage medium |
CN111726402A (en) * | 2020-06-09 | 2020-09-29 | 百度在线网络技术(北京)有限公司 | User behavior data processing method and device, electronic equipment and storage medium |
CN112035415A (en) * | 2020-08-28 | 2020-12-04 | 北京金山云网络技术有限公司 | Processing system, method, device and storage medium for user access data |
CN112102111A (en) * | 2020-09-27 | 2020-12-18 | 华电福新广州能源有限公司 | Intelligent processing system for power plant data |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116137625A (en) * | 2021-11-17 | 2023-05-19 | 中移(苏州)软件技术有限公司 | Connection control method, first server side and storage medium |
CN116582369A (en) * | 2023-07-13 | 2023-08-11 | 北京点聚信息技术有限公司 | Willingness authentication method for online subscription |
CN116582369B (en) * | 2023-07-13 | 2023-09-12 | 北京点聚信息技术有限公司 | Willingness authentication method for online subscription |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108683720B (en) | Container cluster service configuration method and device | |
US9384227B1 (en) | Database system providing skew metrics across a key space | |
CN105103506B (en) | For the method and system for the non-homogeneous bandwidth request allocation bandwidth in system for cloud computing | |
CN111666159B (en) | Load balancing control method and device, storage medium and electronic equipment | |
Lai et al. | Towards a framework for large-scale multimedia data storage and processing on Hadoop platform | |
CN107426274B (en) | Method and system for service application and monitoring, analyzing and scheduling based on time sequence | |
CN110414771A (en) | Update method, device, server and the client of enterprise organization structure data | |
CN105049268A (en) | Distributed computing resource allocation system and task processing method | |
KR101430649B1 (en) | System and method for providing data analysis service in cloud environment | |
CN113419938A (en) | Control method, device and equipment for user concurrent access | |
Satoh et al. | Total energy management system for cloud computing | |
CN111400393B (en) | Data processing method and device based on multi-application platform and storage medium | |
CN112698952A (en) | Unified management method and device for computing resources, computer equipment and storage medium | |
CN108924203B (en) | Data copy self-adaptive distribution method, distributed computing system and related equipment | |
US10621389B1 (en) | Selecting platform-supported services | |
Kang et al. | A multiagent brokering protocol for supporting Grid resource discovery | |
WO2019169998A1 (en) | Method, system, and related apparatus for selecting data node | |
CN116594834A (en) | Operation and maintenance data processing method and device for multi-protocol server | |
Xia et al. | Age-aware query evaluation for big data analytics in mobile edge clouds | |
CN115525603A (en) | Storage statistics method and device, computer readable storage medium and AI device | |
CN116126415A (en) | Scene-based cloud component configuration recommendation method and system | |
US20230137673A1 (en) | Systems and methods for dynamically scaling remote resources | |
CN114443293A (en) | Deployment system and method for big data platform | |
CN106210120A (en) | A kind of recommendation method of server and device thereof | |
Hsu et al. | Effective memory reusability based on user distributions in a cloud architecture to support manufacturing ubiquitous computing |
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 |