Service access processing method and device, computer device and storage medium
Patent Information
- Application Number
- CN202211179686.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-27
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2042-09-27
AI Technical Summary
然而,对不同对象的服务请求进行前述处理,可能出现出现对服务访问失败的不同处理方式,此时前述过载保护的方案的灵活性较低
[0079]上述服务访问处理方法、装置、计算机设备、存储介质和计算机程序产品,若系统负载达到系统负载临界阈值,获取待处理服务请求结构,并获取多个历史服务请求结构,以及各历史服务请求结构对应的可处理服务请求列表。基于此,对待处理服务请求结构与各历史服务请求结构进行匹配处理,并确定与待处理服务请求结构匹配的目标历史服务请求结构,以及确定与目标历史服务请求结构对应的目标可处理服务请求列表。再基于目标可处理服务请求列表,从待处理服务请求结构中选择目标服务请求,并对目标服务请求进行服务访问处理,目标服务请求被处理时的系统负载小于或等于系统超载阈值,系统超载阈值大于系统负载临界阈值,且目标服务请求的正向反馈数据大于待处理服务请求结构中未被选择的各待处理服务请求的正向反馈数据。在系统负载达到小于系统超载阈值的系统负载临界阈值的情况下,基于待处理服务请求结构与多个历史服务请求结构进行匹配处理,以及通过匹配得到的历史服务请求结构对应的可处理服务请求列表中所包括的可处理服务请求,从待处理服务请求结构中确定可以进行服务访问处理的目标服务请求,从而保证被选择的目标服务请求被处理时系统负载不会超载,且目标服务请求的正向反馈数据大于未被选择的待处理服务请求的正向反馈数据,也就是能够考虑到所带来的正向反馈数据的基础上对多个待处理服务请求进行选择处理,从而提高服务访问处理的灵活度。
Smart Images

Figure CN117834715B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of Internet technology, and in particular to a service access processing method, apparatus and computer equipment. Background Technology
[0002] With the development of computer and internet technology, the internet's coverage is expanding, leading to a greater number of clients served by servers and consequently, higher server loads. For various service scenarios such as video and image services, there are frequent instances of a significant surge in access requests within a short period. This can overload servers, impacting their processing efficiency and even causing downtime. Therefore, server optimization based on load conditions is necessary.
[0003] Currently, common overload protection solutions can be implemented by increasing the number of servers to distribute incoming requests evenly across different server modules. Alternatively, when a server receives an access request, it can detect that the load has exceeded its processing capacity and suspend the request, or reject it outright. However, applying these methods to service requests from different objects may result in different handling methods for service access failures, making the aforementioned overload protection solutions inflexible. Therefore, improving the flexibility of service access processing is a pressing issue that needs to be addressed. Summary of the Invention
[0004] Therefore, it is necessary to provide a service access processing method, apparatus, computer equipment, and storage medium that can improve the flexibility of service access processing in response to the above-mentioned technical problems.
[0005] Firstly, this application provides a service access processing method. The method includes:
[0006] If the system load reaches the system load critical threshold, obtain the structure of the service requests to be processed;
[0007] Obtain multiple historical service request structures, and a list of processable service requests corresponding to each historical service request structure;
[0008] The system matches the structure of the service request to be processed with the structures of each historical service request, determines the target historical service request structure that matches the structure of the service request to be processed, and determines the target list of service requests that can be processed corresponding to the target historical service request structure.
[0009] Based on the list of target service requests that can be processed, target service requests are selected from the structure of pending service requests and service access processing is performed on the target service requests. When the target service request is processed, the system load is less than or equal to the system overload threshold, the system overload threshold is greater than the system load critical threshold, and the positive feedback data of the target service request is greater than the positive feedback data of each pending service request that was not selected in the structure of pending service requests.
[0010] In one embodiment, the method for obtaining positive feedback data of the target service request includes:
[0011] Based on the service resources consumed in processing the target service request and the object feedback data of the target object to the target service requested by the target service request, the positive feedback data of the target service request is determined.
[0012] In one embodiment, the service resource consumption is calculated based on the service resource consumption of each service interface in the service interface call chain of the target service request; wherein, the service resource consumption of the service interface is: the network resources and computing resources required to process the target service request;
[0013] The object feedback data is calculated based on the target object's request for the target service's service usage information and processing priority information; wherein, the service usage information includes at least one of the following: the target object's usage duration of the target service, the target object's activity level in using the target service, and the time interval between the target object's use of the target service; the processing priority information is related to the target object's object type and the target service's service type.
[0014] In one embodiment, the matching process between the structure of the service request to be processed and the structures of each historical service request includes:
[0015] Determine the number of pending service requests for each service information in the pending service request structure, and the number of historical service requests for each service information in each historical service request structure. The service information is related to the service type, or the service information is related to both the service type and the object type.
[0016] The matching process is performed based on the number of pending service requests for each service information and the number of historical service requests for each service information in each historical service request structure.
[0017] In one embodiment, determining the target historical service request structure that matches the structure of the service request to be processed includes:
[0018] Determine the matching results between the structure of the service request to be processed and the structures of each historical service request. The matching results are used to describe the similarity between the structure of the service request to be processed and the structures of each historical service request.
[0019] The historical service request structure with the highest similarity to the structure of the service request to be processed is identified as the target historical service request structure.
[0020] In one embodiment, selecting a target service request from the pending service request structure based on the target processable service request list includes:
[0021] Determine the number of service requests that can be processed for each service in the target's list of service requests that can be processed.
[0022] Based on the number of processable service requests for each service in the target processable service request list, select the target service request from the pending service request structure.
[0023] In one embodiment, the method for obtaining the list of processable service requests corresponding to each historical service request structure includes:
[0024] Obtain the historical service request structure, select N first candidate service request lists from the historical service request structure, and determine the positive feedback data for each first candidate service request list. The system load when each candidate service request in the first candidate service request list is processed is less than or equal to the system overload threshold, where N is a positive integer greater than 1.
[0025] Based on the positive feedback data of each first candidate service request list, a list of processable service requests corresponding to the historical service request structure is determined. The positive feedback data of the processable service request list is greater than the positive feedback data of each first candidate service request list.
[0026] In one embodiment, the method further includes:
[0027] Collect initial positive feedback data from each service interface and normalize the initial positive feedback data from each service interface to obtain the positive feedback data for each service interface.
[0028] Determine the positive feedback data for each of the first candidate service request lists, including:
[0029] Based on the service information of each historical service request in each first candidate service request list, determine the service interface call chain of each historical service request in each first candidate service request list, and the service interface call chain includes at least one service interface.
[0030] Based on the positive feedback data of each service interface and the service interface call chain of each historical service request in each first candidate service request list, the positive feedback data of each historical service request in each first candidate service request list is calculated, and the positive feedback data of each first candidate service request list is determined.
[0031] In one embodiment, N first candidate service request lists are selected from the historical service request structure, including:
[0032] Obtain the positive feedback data of each historical service request in the historical service request structure, and sort the historical service requests from largest to smallest based on the positive feedback data of each historical service request to obtain the first sorting result;
[0033] Based on the first sorting result, historical service requests are selected from the historical service request structure to generate a first list of service requests to be selected.
[0034] In one embodiment, N first candidate service request lists are selected from the historical service request structure, including:
[0035] Randomly select historical service requests from the historical service request structure to generate a first list of service requests to be selected.
[0036] In one embodiment, based on the positive feedback data of each first candidate service request list, a list of processable service requests corresponding to the historical service request structure is determined, including:
[0037] Adjust at least one historical service request in each of the first candidate service request lists to generate N second candidate service request lists, and determine positive feedback data for each of the second candidate service request lists, wherein the system load when each historical service request in the second candidate service request list is processed is less than or equal to the system overload threshold.
[0038] Based on the positive feedback data from each of the first candidate service request lists and each of the second candidate service request lists, a list of service requests that can be processed is determined.
[0039] In one embodiment, the method further includes:
[0040] Based on the positive feedback data of each first list of pending service requests, a roulette operation is performed on each first list of pending service requests and the list of unselected service requests;
[0041] Based on the results of the roulette operation, select the adjusted first service request list from each of the first service request lists.
[0042] In one embodiment, at least one historical service request in each of the first candidate service request lists is adjusted to generate N second candidate service request lists, including:
[0043] A third list of service requests to be selected is determined from each of the first list of service requests to be selected, and at least one historical service request is randomly deleted from the third list of service requests to be selected, so as to generate a second list of service requests to be selected.
[0044] In one embodiment, at least one historical service request in each of the first candidate service request lists is adjusted to generate N second candidate service request lists, including...
[0045] A third list of service requests to be selected is determined from each of the first list of service requests to be selected, and the positive feedback data of each historical service request in the third list of service requests to be selected are sorted to obtain a second sorting result.
[0046] Based on the second sorting result, delete at least one historical service request from the third list of service requests to be selected, so as to generate a second list of service requests to be selected.
[0047] In one embodiment, the method further includes:
[0048] Determine the list of unselected service requests from the historical service request structure;
[0049] Adjust at least one historical service request in each of the first candidate service request lists to generate N second candidate service request lists, including:
[0050] A fourth list of service requests to be selected is determined from each of the first list of service requests to be selected, and at least one historical service request in the fourth list of service requests to be selected is randomly replaced with at least one historical service request in the list of unselected service requests to generate a second list of service requests to be selected.
[0051] In one embodiment, at least one historical service request in each of the first candidate service request lists is adjusted to generate N second candidate service request lists, including:
[0052] A fourth list of service requests to be selected is determined from each of the first list of service requests to be selected, and the positive feedback data of each historical service request in the fourth list of service requests to be selected are sorted to obtain a third sorting result.
[0053] Based on the third sorting result, at least one historical service request in the fourth list of pending service requests is replaced with at least one historical service request in the list of unselected service requests to generate a second list of pending service requests.
[0054] In one embodiment, when generating N second lists of service requests to be selected, the method further includes:
[0055] Record the number of neighborhood search loops. The number of neighborhood search loops describes the number of times that each first candidate service request list is adjusted to generate the corresponding N second candidate service request lists.
[0056] Based on the positive feedback data from each of the first candidate service request lists and each of the second candidate service request lists, a list of service requests that can be processed is determined, including:
[0057] Based on the positive feedback data of each first candidate service request list and each second candidate service request list, N first candidate service request lists are redefined.
[0058] Adjust at least one historical service request in each of the newly determined first candidate service request lists to generate N newly determined second candidate service request lists, and update the neighborhood search loop count.
[0059] If the updated neighborhood search loop count reaches the preset neighborhood search count, the list of service requests with the largest positive feedback data among the positive feedback data of each newly determined first list of service requests to be selected and each newly determined second list of service requests to be selected will be determined as the list of service requests that can be processed.
[0060] Secondly, this application also provides a service access processing apparatus. The apparatus includes:
[0061] The acquisition module is used to acquire the structure of the service request to be processed if the system load reaches the system load critical threshold; and to acquire multiple historical service request structures, as well as a list of processable service requests corresponding to each historical service request structure.
[0062] The matching processing module is used to match the structure of the service request to be processed with the structures of each historical service request, and to determine the target historical service request structure that matches the structure of the service request to be processed, as well as to determine the target list of service requests that can be processed corresponding to the target historical service request structure.
[0063] The service processing module selects target service requests from the pending service request structure based on the target processable service request list and performs service access processing on the target service requests. When the target service request is processed, the system load is less than or equal to the system overload threshold, the system overload threshold is greater than the system load critical threshold, and the positive feedback data of the target service request is greater than the positive feedback data of each pending service request that was not selected in the pending service request structure.
[0064] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:
[0065] If the system load reaches the system load critical threshold, obtain the structure of the service requests to be processed;
[0066] Obtain multiple historical service request structures, and a list of processable service requests corresponding to each historical service request structure;
[0067] The system matches the structure of the service request to be processed with the structures of each historical service request, determines the target historical service request structure that matches the structure of the service request to be processed, and determines the target list of service requests that can be processed corresponding to the target historical service request structure.
[0068] Based on the list of target service requests that can be processed, target service requests are selected from the structure of pending service requests and service access processing is performed on the target service requests. When the target service request is processed, the system load is less than or equal to the system overload threshold, the system overload threshold is greater than the system load critical threshold, and the positive feedback data of the target service request is greater than the positive feedback data of each pending service request that was not selected in the structure of pending service requests.
[0069] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:
[0070] If the system load reaches the system load critical threshold, obtain the structure of the service requests to be processed;
[0071] Obtain multiple historical service request structures, and a list of processable service requests corresponding to each historical service request structure;
[0072] The system matches the structure of the service request to be processed with the structures of each historical service request, determines the target historical service request structure that matches the structure of the service request to be processed, and determines the target list of service requests that can be processed corresponding to the target historical service request structure.
[0073] Based on the list of target service requests that can be processed, target service requests are selected from the structure of pending service requests and service access processing is performed on the target service requests. When the target service request is processed, the system load is less than or equal to the system overload threshold, the system overload threshold is greater than the system load critical threshold, and the positive feedback data of the target service request is greater than the positive feedback data of each pending service request that was not selected in the structure of pending service requests.
[0074] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:
[0075] If the system load reaches the system load critical threshold, obtain the structure of the service requests to be processed;
[0076] Obtain multiple historical service request structures, and a list of processable service requests corresponding to each historical service request structure;
[0077] The system matches the structure of the service request to be processed with the structures of each historical service request, determines the target historical service request structure that matches the structure of the service request to be processed, and determines the target list of service requests that can be processed corresponding to the target historical service request structure.
[0078] Based on the list of target service requests that can be processed, target service requests are selected from the structure of pending service requests and service access processing is performed on the target service requests. When the target service request is processed, the system load is less than or equal to the system overload threshold, the system overload threshold is greater than the system load critical threshold, and the positive feedback data of the target service request is greater than the positive feedback data of each pending service request that was not selected in the structure of pending service requests.
[0079] The aforementioned service access processing method, apparatus, computer equipment, storage medium, and computer program product, when the system load reaches the system load critical threshold, acquires the structure of the service request to be processed, and acquires multiple historical service request structures, as well as a list of processable service requests corresponding to each historical service request structure. Based on this, a matching process is performed between the structure of the service request to be processed and each historical service request structure, and a target historical service request structure matching the structure of the service request to be processed is determined, as well as a list of target processable service requests corresponding to the target historical service request structure is determined. Then, based on the list of target processable service requests, a target service request is selected from the structure of the service request to be processed, and service access processing is performed on the target service request. The system load when the target service request is processed is less than or equal to the system overload threshold, the system overload threshold is greater than the system load critical threshold, and the positive feedback data of the target service request is greater than the positive feedback data of each unselected service request in the structure of the service request to be processed. When the system load reaches the critical threshold of the system overload threshold, the system matches the structure of the pending service request with multiple historical service request structures. Based on the list of processable service requests corresponding to the matched historical service request structures, the system determines the target service request that can be processed for service access. This ensures that the system load will not be overloaded when the selected target service request is processed, and that the positive feedback data of the target service request is greater than the positive feedback data of the unselected pending service requests. In other words, the system can select and process multiple pending service requests based on the positive feedback data, thereby improving the flexibility of service access processing. Attached Figure Description
[0080] Figure 1 This is an application environment diagram of a service access processing method in one embodiment;
[0081] Figure 2 This is a flowchart illustrating a service access processing method in one embodiment;
[0082] Figure 3 This is a schematic diagram of a service interface call chain in one embodiment.
[0083] Figure 4 This is a flowchart illustrating the matching process between the structure of the service request to be processed and the structures of each historical service request in one embodiment.
[0084] Figure 5 This is a flowchart illustrating the process of determining a target historical service request structure that matches the structure of the service request to be processed, as shown in one embodiment.
[0085] Figure 6This is a flowchart illustrating the process of selecting a target service request from a list of target processable service requests in one embodiment.
[0086] Figure 7 This is a partial flowchart illustrating the process of obtaining a list of processable service requests corresponding to a historical service request structure in one embodiment.
[0087] Figure 8 This is a schematic diagram of an embodiment of a first list of service requests to be selected;
[0088] Figure 9 This is a flowchart illustrating the service access processing method in another embodiment;
[0089] Figure 10 This is a flowchart illustrating the process of selecting N first candidate service requests from a historical service request structure in one embodiment.
[0090] Figure 11 This is a schematic diagram illustrating an embodiment of generating a first list of service requests to be selected;
[0091] Figure 12 This is an illustration of an embodiment for generating a first list of service requests to be selected, as described in another embodiment.
[0092] Figure 13 This is a flowchart illustrating the process of determining a list of processable service requests corresponding to a historical service request structure in one embodiment.
[0093] Figure 14 This is a flowchart illustrating the service access processing method in yet another embodiment;
[0094] Figure 15 This is a flowchart illustrating the process of generating N second service request lists to be selected in one embodiment;
[0095] Figure 16 This is a schematic diagram illustrating an embodiment of generating a second list of service requests to be selected;
[0096] Figure 17 This is an illustration of an embodiment for generating a second list of service requests to be selected, as described in another embodiment.
[0097] Figure 18 This is a flowchart illustrating the process of generating N second service request lists to be selected in another embodiment;
[0098] Figure 19 This is a schematic diagram illustrating an embodiment for generating a second list of service requests to be selected, in yet another embodiment.
[0099] Figure 20This is a schematic diagram illustrating an embodiment for generating a second list of service requests to be selected, in another embodiment.
[0100] Figure 21 This is a flowchart illustrating the process of determining a list of service requests that can be processed in one embodiment.
[0101] Figure 22 This is a schematic diagram of the complete process of a service access processing method in one embodiment;
[0102] Figure 23 This is a structural block diagram of a service access processing device in one embodiment;
[0103] Figure 24 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0104] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0105] Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide area network (WAN) or local area network (LAN) to achieve data computation, storage, processing, and sharing. Based on the cloud computing business model, cloud technology encompasses network technology, information technology, integration technology, management platform technology, and application technology. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to backend systems for logical processing. Data at different levels will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing.
[0106] The solutions provided in this application's embodiments relate to cloud computing in cloud technology. Cloud computing refers to the delivery and usage model of information technology (IT) infrastructure, meaning obtaining required resources in an on-demand and easily scalable manner through the network. In a broader sense, cloud computing refers to the delivery and usage model of services, meaning obtaining required services in an on-demand and easily scalable manner through the network. These services can be IT and software related, internet-related, or other services. Cloud computing is a product of the development and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing. With the development of the internet, real-time data streams, and the diversification of connected devices, as well as the driving force of demands for search services, social networks, mobile commerce, and open collaboration, cloud computing has developed rapidly. Unlike previous parallel and distributed computing, the emergence of cloud computing will, conceptually, drive a revolutionary change in the entire internet model and enterprise management model. Based on this, the following embodiments will be used to illustrate this:
[0107] The service access processing method provided in this application embodiment can be applied to, for example, Figure 1 The application environment shown is illustrated. Terminal 102 can be directly or indirectly connected to server 104 via wired or wireless communication, which is not limited herein. The data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104, or it can be located in the cloud or on other servers.
[0108] Specifically, taking server 104 as an example, if server 104 determines that the system load has reached the system load critical threshold, it obtains the structure of the service request to be processed, multiple historical service request structures, and a list of processable service requests corresponding to each historical service request structure. Based on this, server 104 performs matching processing between the structure of the service request to be processed and each historical service request structure, and determines the target historical service request structure that matches the structure of the service request to be processed, as well as the list of target processable service requests corresponding to the target historical service request structure. Thus, based on the list of target processable service requests, server 104 selects a target service request from the structure of the service request to be processed and performs service access processing on the target service request. The system load when the selected target service request is processed is less than or equal to the system overload threshold, the system overload threshold is greater than the system load critical threshold, and the positive feedback data of the target service request is greater than the positive feedback data of each unselected service request in the structure of the service request to be processed.
[0109] The terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, and aircraft. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted devices. The server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers. Furthermore, this embodiment can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, smart transportation, and assisted driving.
[0110] In one embodiment, such as Figure 2 As shown, a service access processing method is provided, which is applied to... Figure 1 Taking server 104 as an example, it can be understood that this method can also be applied to a system including terminal 102 and server 104, and implemented through the interaction between terminal 102 and server 104. In this embodiment, the method includes the following steps:
[0111] Step 202: If the system load reaches the system load critical threshold, obtain the structure of the service request to be processed.
[0112] The system load can be calculated based on the Central Processing Unit (CPU) utilization, the service access volume, or directly defined using CPU Load; no specific limitation is made here. Based on this, the system load critical threshold is a preset threshold approaching the system overload threshold; that is, the system load critical threshold describes the state where the system load is about to become overloaded. For example, if the system overload threshold is 90%, then the system load critical threshold could be 80% or 85%, etc.
[0113] Secondly, the pending service request initiated by the object is used to instruct access processing of the target service. Therefore, the pending service request has corresponding service information, and each service information has a corresponding service interface call chain. The service interface call chain includes at least one service interface. Therefore, the service interface call chain of the service request specifically includes the service interfaces required to access the target service indicated by the service request. In this embodiment, the service information is also associated with the service type, or the service information is associated with both the service type and the object type. Based on this, the pending service request structure is specifically: the specific service interface call chain corresponding to each pending service request. For example, pending service request A1 corresponds to service interface call chain 1, pending service request A2 corresponds to service interface call chain 2, service interface call chain 1 specifically includes service interface B and service interface C, while service interface call chain 2 specifically includes service interface D.
[0114] To further understand the service API call chain, we will use an example applied to a microservice architecture, such as... Figure 3 As shown, service requests issued by different objects (objects 301 to 303) are forwarded to servers 304 to 306 corresponding to each service request through the access layer. In the microservice architecture, each service information corresponds to only one service function module, and the service function module can provide multiple service interfaces to the outside world. Through the service interfaces, the corresponding service capabilities are provided. Therefore, processing a service request may involve calling the service interfaces in multiple service function modules. Thus, the service interfaces called to complete a service request constitute the service interface call chain of that service request.
[0115] For example, server 304 provides service A, server 305 provides service B, and server 306 provides service C. If a service request requests processing of service A, and service A requires processing by both service A and service B, then this service request needs to specifically call the service interface of server 304 and the service interface of server 305. Therefore, the service interface call chain corresponding to this service request specifically includes the service interface of server 304 and the service interface of server 305.
[0116] Specifically, when the server determines that the system load has reached the system load critical threshold, it obtains at least one pending service request initiated by the object, determines the service interface call chain of each pending service request based on the service information corresponding to each pending service request, and thus obtains the pending service request structure.
[0117] Furthermore, in this embodiment, the service interface call chain of each service request can also be described by an array. For example, the service interface call chain of a service request includes the first service interface of server 1, the first service interface of server 2, and the second service interface of server 3. If the service interface call chain of the service request is SL... i , then SL i =[SL 11 SL 21 SL 32 ], where SL 11 Used to represent the first service interface of server 1, SL 21 Used to represent the first service interface of server 2, and SL 32 This is used to represent the second service interface of server 3.
[0118] It should be understood that each service interface consumes system load capacity when processing the call requests in a service request. Therefore, the system load consumed by each service interface is represented by SCCij, where i represents the specific server, and j represents the nth service interface on server i. Thus, further describing the example above, the service interface call chain of the service request is SL. i =[SL 11 SL 21 SL 32 Therefore, the system load required to process this service request is: [SCC] 11 SCC 21 SCC 32 ].
[0119] Step 204: Obtain multiple historical service request structures and a list of processable service requests corresponding to each historical service request structure.
[0120] Similar to the aforementioned structure of pending service requests, the structure of historical service requests is as follows: each historical service request corresponds to a specific service interface call chain, and each historical service request has corresponding service information, and each service information has a corresponding service interface call chain, which will not be elaborated here.
[0121] Secondly, the list of processable service requests is obtained based on the historical service request structure. When each processable service request in the list is processed, the system load is less than or equal to the system overload threshold. Furthermore, as is known from the aforementioned embodiments, the system overload threshold is greater than the system load critical threshold. Additionally, the positive feedback data for each processable service request in the list is greater than the total positive feedback data for all historical service requests that were not selected in the historical service request structure.
[0122] Specifically, the server can first obtain the historical service requests received within a preset time interval, and determine the service interface call chain of each historical service request based on the service information corresponding to each historical service request, thereby obtaining the historical service request structure based on the service interface call chain of the historical service requests. Then, it can obtain the list of processable service requests corresponding to each historical service request structure through offline calculation.
[0123] It should be understood that multiple historical service request structures can be obtained by dividing historical service requests within a preset time interval into multiple parts. For example, if the preset time interval is 3 days, and 1000 historical service requests are obtained within 3 days, the server can divide the 1000 historical service requests into 10 sets of historical service requests, and then perform the aforementioned similar processing on each set of historical service requests to obtain the historical service request structure for each set, resulting in 10 historical service request structures. Secondly, multiple historical service request structures can also be obtained based on historical service requests within multiple consecutive preset time intervals. For example, if the preset time interval is 3 days, then 5 consecutive 3-day historical service requests can be collected, i.e., 15 days of historical service requests can be collected, and the aforementioned similar processing can be performed on each of the 3-day historical service requests to obtain the historical service request structure for each set of historical service requests, resulting in 5 historical service request structures.
[0124] Step 206: Match the structure of the service request to be processed with the structures of each historical service request, determine the target historical service request structure that matches the structure of the service request to be processed, and determine the target list of service requests that can be processed corresponding to the target historical service request structure.
[0125] The matching process is used to calculate the similarity between the structure of the service request to be processed and the structure of each historical service request. Specifically, the matching process is used to calculate the similarity between the service information of each service request to be processed in the structure of the service request to be processed and the service information of each historical service request in the structure of each historical service request.
[0126] Specifically, the server matches the structure of the service request to be processed with each historical service request structure to obtain the matching results between the structure of the service request to be processed and each historical service request structure. Based on the matching results, the server determines the target historical service request structure that matches the structure of the service request to be processed. In other words, the server can determine the historical service request structure with a high degree of similarity to the structure of the service request to be processed as the target historical service request structure. Then, based on the list of processable service requests corresponding to each historical service request structure, the server determines the target list of processable service requests corresponding to the target historical service request structure.
[0127] For example, historical service request structure L1 corresponds to a list of service requests that can be processed M1, historical service request structure L2 corresponds to a list of service requests that can be processed M2, and historical service request structure L3 corresponds to a list of service requests that can be processed M3. If the target historical service request structure that matches the service request structure to be processed is determined to be historical service request structure L2, then the list of service requests that can be processed M2 corresponding to historical service request structure L2 can also be determined as the target list of service requests that can be processed.
[0128] Step 208: Based on the list of target processable service requests, select target service requests from the structure of pending service requests and perform service access processing on the target service requests. When the target service request is processed, the system load is less than or equal to the system overload threshold, the system overload threshold is greater than the system load critical threshold, and the positive feedback data of the target service request is greater than the positive feedback data of each pending service request that was not selected in the structure of pending service requests.
[0129] Specifically, the positive feedback data of a service request refers to the positive benefits gained from processing the request. The dimensions to consider when calculating this data include: the feedback data from the object accessing the requested service, and the resource consumption required to process the request. Therefore, the server determines the positive feedback data based on the resource consumption for processing the request and the object's feedback data regarding the requested service. The aforementioned resource consumption refers to the network and computing resources required to process the request.
[0130] Secondly, the aforementioned object feedback data is calculated from the service usage information and processing priority information of the service requested by the object. Specifically, it needs to be calculated based on the weight parameters corresponding to the service usage information and processing priority information. These weight parameters describe the importance of the information to the object's feedback data, and their determination requires flexible allocation based on service requirements or extensive experimental data. Furthermore, the service usage information is the information obtained by the object through initiating service requests, which may include the number of times the object requested the service, the duration of the requested service, and the time interval between requests. The processing priority information describes the processing priority of the object under the requested service; a higher processing priority means the server will process the object's service requests more preferentially. It should be understood that how the object feedback data is calculated from the service usage information and processing priority information will be explained in detail in subsequent embodiments.
[0131] Therefore, since the service information corresponding to a service request can be related to the service type, when processing service requests for the same object from different service types, the positive feedback data obtained can differ due to the different service resource consumption. Secondly, the service information corresponding to a service request can also be related to both the service type and the object type. Therefore, when processing the same service type but with different object types initiating the request, there may be situations where the service resource consumption is the same but the object feedback data differs, thus the obtained positive feedback data can also be different.
[0132] Secondly, the target service request can be one or more pending service requests in the pending service request structure; this is not limited here. Furthermore, the system load when the selected target service request is processed must be less than or equal to the system overload threshold to avoid system overload issues. Based on the aforementioned embodiments, the system overload threshold is greater than the system load critical threshold. For example, if the system load critical threshold is 80%, then the system overload threshold is 90% or 85%, etc. It should be understood that when considering the system load when the target service request is processed, it should be based on the system load after the system load reaches the system load critical threshold. The corresponding range of the system load at the time of processing is between the system load critical threshold and the system overload threshold. Moreover, the positive feedback data of each service request is taken into account; that is, the positive feedback data of the selected target service request is greater than the positive feedback data of the unselected pending service requests in the pending service request structure.
[0133] Specifically, the server selects a target service request from the pending service request structure based on the determined list of target processable service requests. Furthermore, the server can perform a matching calculation again between the processable service requests based on each service information in the determined list of target processable service requests and the pending service requests in the pending service request structure, thereby selecting the target service request from the pending service request structure.
[0134] Furthermore, the server performs service access processing on the target service indicated by the target service request. For example, if the target service request is service request A1 in the pending service request structure, then the server will specifically perform service access processing on the target service indicated by service request A1. Secondly, if the target service request includes both service request A1 and service request A2 in the pending service request structure, then the server will specifically perform service access processing on the target service indicated by service request A1, and also perform service access processing on the target service indicated by service request A2.
[0135] Secondly, in practical applications, when selecting a target service request, in addition to considering the positive feedback data of the service request, further considerations can be made regarding: the object waiting time for processing the service request, and the bandwidth consumption for processing the service request. That is, the target service request should be selected based on the large amount of positive feedback data, the short object waiting time, and the low bandwidth consumption. It should be understood that the foregoing examples are for understanding this solution and should not be construed as limiting it.
[0136] In the above service access processing method, when the system load reaches a critical threshold that is less than the system overload threshold, the system performs matching processing based on the structure of the service request to be processed and multiple historical service request structures. Furthermore, by using the list of processable service requests corresponding to the matched historical service request structures, the system determines the target service request from the structure of the service request to be processed. This ensures that the system load will not be overloaded when the selected target service request is processed, and that the positive feedback data of the target service request is greater than the positive feedback data of the unselected service requests. In other words, the system can select and process multiple service requests to be processed based on the positive feedback data, thereby improving the flexibility of service access processing.
[0137] The foregoing embodiments mentioned matching the service request structure. The following will describe in detail how the structure of the service request to be processed is matched with the structures of each historical service request:
[0138] In one embodiment, such as Figure 4 As shown, the matching process between the structure of the service request to be processed and the structures of each historical service request includes:
[0139] Step 402: Determine the number of pending service requests for each service information in the pending service request structure, and the number of historical service requests for each service information in each historical service request structure. The service information is related to the service type, or the service information is related to both the service type and the object type.
[0140] In this context, service information is related to service type. For example, taking a video service scenario as an example, the service information corresponding to a service request in a video service scenario may include, but is not limited to, online viewing type, offline download type, and background viewing type. Based on different service information, different service interface call chains can be corresponding to. For instance, the service interface call chain for an online viewing service request includes service interface A; the service interface call chain for an offline download service request includes service interface A and service interface B; and the service interface call chain for an offline download service request includes service interface A, service interface B, and service interface C. Different service interfaces are used to provide different services.
[0141] Secondly, service information can also be related to service type and object type. That is, different object types can have different service information for the same service type, meaning there is a distinction between object types, and different object types can have different processing priorities. For example, taking a video service scenario as an example again, in a video service scenario, the service information corresponding to a service request can be: online viewing type of the first object type, or online viewing type of the second object type, or online viewing type of the third object type. If the processing priority of the first object type is higher than that of the second object type, and the processing priority of the second object type is higher than that of the object type, then in actual application, if the server receives a service request for online viewing type of the first object type and a service request for online viewing type of the third object type, it will prioritize processing the online viewing type of the first object type. It should be understood that the above examples are only for understanding this solution and should not be construed as limiting this solution.
[0142] Specifically, the server counts the number of pending service requests for each service information in the pending service request structure based on the service information corresponding to each pending service request in the pending service request structure. In other words, it counts the number of pending service requests corresponding to the same service information in the pending service request structure.
[0143] For example, in the pending service request structure, there are service information F1 corresponding to pending service request A1, service information F2 corresponding to pending service request A2, service information F2 corresponding to pending service request A3, service information F3 corresponding to pending service request A4, service information F1 corresponding to pending service request A5, and service information F1 corresponding to pending service request A6. From this, we can count that there are pending service requests A1, A5, and A6 corresponding to service information F1; there are pending service requests A2 and A3 corresponding to service information F2; and there is pending service request A4 corresponding to service information F3. Therefore, we can conclude that in the pending service request structure, the number of pending service requests for service information F1 is 3, the number of pending service requests for service information F2 is 2, and the number of pending service requests for service information F3 is 1.
[0144] Furthermore, the server can use a similar method to count the number of historical service requests for each service information in each historical service request structure, based on the service information corresponding to each historical service request in each historical service request structure. This will not be elaborated on here.
[0145] Step 404: Match the number of pending service requests for each service information with the number of historical service requests for each service information in each historical service request structure.
[0146] Specifically, the matching process can calculate the similarity between the service information of each pending service request in the pending service request structure and the service information of each historical service request in the historical service request structure. Furthermore, the matching process can calculate the similarity between the quantity of service information for each pending service request in the pending service request structure and the quantity of service information for each historical service request in the historical service request structure.
[0147] Specifically, matching is performed based on the number of pending service requests for each service information and the number of historical service requests for each service information in each historical service request structure. The matching calculation is specifically performed using formula (1):
[0148]
[0149] Among them, Total 相同服务信息的待处理服务请求 Total is used to represent the total number of pending service requests in the pending service request structure that have the same service information as those in the historical service request structure. 历史服务请求 Used to represent the total number of historical service requests in the historical service request structure.
[0150] In this embodiment, by considering the service information of the service request, the system counts service requests belonging to the same service information in the structure of the service request to be processed and in each historical service request structure. Since service information is related to service type, or to both service type and user type, service requests belonging to the same service information have a high degree of similarity. Based on this, the matching process can distinguish service requests through service information, that is, by describing the similarity between service request structures through the number of service requests containing different service information, thereby more accurately judging the similarity between service request structures and ensuring the reliability and feasibility of the matching process.
[0151] Furthermore, having described in detail how to match the structure of the service request to be processed with the structures of each historical service request, the following section will detail how to determine the target historical service request structure after the matching process:
[0152] In one embodiment, such as Figure 5 As shown, the target historical service request structure that matches the structure of the service request to be processed includes:
[0153] Step 502: Determine the matching results between the service request structure to be processed and each historical service request structure. The matching results are used to describe the similarity between the service request structure to be processed and each historical service request structure.
[0154] The matching result is used to describe the similarity between the structure of the service request to be processed and the structures of each historical service request. Based on the foregoing embodiments, the matching result is specifically used to describe the similarity between the number of service information items in each service request to be processed in the structure of the service request to be processed and the number of service information items in each historical service request in each historical service request structure.
[0155] Specifically, after the server performs matching processing, it can determine the matching result between the service request structure to be processed and each historical service request structure. For example, if the service request structure to be processed contains 5 service requests with service information F1 and 5 service requests with service information F2, and the historical service request structure contains 10 historical service requests with service information F1 and 10 historical service requests with service information F2, then the service request structure to be processed and the historical service request structure have 5 service requests with the same service information F1 and 5 service requests with the same service information F2. The historical service request structure specifically includes 20 (10+10) historical service requests. Based on the aforementioned formula (1), the matching result between the service request structure to be processed and the historical service request structure is:
[0156] Alternatively, if the pending service request structure contains 4 pending service requests with service information F1 and 8 pending service requests with service information F2, and the historical service request structure contains 10 historical service requests with service information F1 and 10 historical service requests with service information F2, then based on the aforementioned formula (1), the matching result between the pending service request structure and the historical service request structure is:
[0157] Step 504: The historical service request structure with the highest similarity to the service request structure to be processed is identified as the target historical service request structure.
[0158] Specifically, the server identifies the historical service request structure with the highest similarity to the structure of the service request to be processed as the target historical service request structure. For example, if the similarity between the service request structure to be processed and the historical service request structure D1 is 60%, the similarity between the service request structure to be processed and the historical service request structure D2 is 80%, and the similarity between the service request structure to be processed and the historical service request structure D3 is 50%, then the historical service request structure D2 can be identified as the target historical service request structure.
[0159] It should be understood that the examples in this embodiment are only for understanding this solution and should not be construed as limiting this solution.
[0160] In this embodiment, considering the similarity between the structure of the service request to be processed and each historical service request structure, the structure with the highest similarity to the structure of the service request to be processed is determined from each historical service request structure as the target historical service request structure. This ensures that the target service request can be selected with high accuracy based on the list of processable service requests corresponding to similar target historical service request structures.
[0161] In one embodiment, such as Figure 6 As shown, based on the target list of processable service requests, target service requests are selected from the pending service request structure, including:
[0162] Step 602: Determine the number of service requests that can be processed for each service in the target list of service requests that can be processed.
[0163] Specifically, the server can determine the number of service requests that can be processed for each service in the target list of service requests in a manner similar to that described in step 402, which will not be repeated here.
[0164] Step 604: Based on the number of processable service requests for each service in the target processable service request list, select the target service request from the pending service request structure.
[0165] Specifically, the server selects the target service request from the pending service request structure based on the number of processable service requests for each service in the target processable service request list, and further considering the matching results between the pending service request structure and the historical service request structures. Based on this, the matching results obtained by the server when matching the pending service request structure with the historical service request structures can also describe the ratio of pending service requests with the same service information to historical service requests.
[0166] Furthermore, the server selects the target service request from the pending service request structure based on the number of processing service requests for each service information in the target processing service request list and the ratio of the number of pending service requests and historical service requests with the same service information between the pending service request structure and the target historical service request structure.
[0167] For example, if the pending service request structure contains 6 pending service requests with service information F1 and 8 pending service requests with service information F2, and the determined target historical service request structure contains 10 historical service requests with service information F1 and 10 historical service requests with service information F2, then it can be determined that: for pending service requests with service information F1, the ratio between the pending service request structure and the target historical service request structure is... And for the pending service request with service information F2, the ratio between the pending service request structure and the target historical service request structure is:
[0168] Therefore, if the target processable service request list corresponding to the target historical service request structure includes 5 processable service requests with service information F1 and 5 processable service requests with service information F2, then the server can select from the pending service request structure based on the ratio between the pending service request structure and the target historical service request structure, as well as the number of processable service requests for each service information in the aforementioned target processable service request list. The service information is for the pending service request F1, and There is a pending service request with service information F2.
[0169] It should be understood that the examples in this embodiment are only for understanding this solution and should not be construed as limiting this solution.
[0170] In this embodiment, since the structure with the highest similarity in the previous embodiments is used as the target historical service request structure, it ensures that the corresponding target processable service request list can more accurately select processable service requests from the target historical service request structure. Then, considering the ratio of the number of service requests with the same service information in the target historical service request structure and the service request structure to be processed, the target service request with similarity to the target processable service request list can be obtained based on this ratio and the number of processable service requests for each service information in the target processable service request list. Therefore, the selected target service request can meet the system load requirements and also takes into account positive feedback data, thereby improving the reliability and accuracy of the target service request.
[0171] As shown in step 204, the server can obtain the list of processable service requests corresponding to each historical service request structure through offline calculation. The following section details how to obtain this list. It should be understood that the following description only addresses obtaining the list of processable service requests for a single historical service request structure; a similar approach can be used for all historical service request structures, and will not be elaborated upon here.
[0172] In one embodiment, such as Figure 7 As shown, the methods for obtaining the list of processable service requests corresponding to each historical service request structure include:
[0173] Step 702: Obtain the historical service request structure, select N first candidate service request lists from the historical service request structure, and determine the positive feedback data for each first candidate service request list. The system load when each candidate service request in the first candidate service request list is processed is less than or equal to the system overload threshold, where N is a positive integer greater than 1.
[0174] Specifically, similar to the service request structure described in the preceding embodiments, the historical service request structure is as follows: each historical service request corresponds to a specific service interface call chain, and each historical service request has corresponding service information, and each piece of service information has a corresponding service interface call chain. This will not be elaborated further here. Secondly, specifically, the server can first obtain the historical service requests received within a preset time interval, and determine the service interface call chain for each historical service request based on the service information corresponding to each historical service request, thereby obtaining the historical service request structure based on the service interface call chain of the historical service requests. It should be understood that multiple historical service request structures can be obtained by dividing historical service requests within a preset time interval into multiple parts. Furthermore, multiple historical service request structures can also be obtained based on historical service requests within multiple consecutive preset time intervals. The specific description of the historical service request structure is similar to that in the preceding embodiments and will not be repeated here.
[0175] Furthermore, considering system load, the server first selects multiple first candidate service request lists from the historical service request structure. The system load when processing each candidate service request in each first candidate service request list is less than or equal to the system overload threshold, thus avoiding system overload when processing each candidate service request. It should be understood that the number of candidate service requests included in each first candidate service request list can be the same or different; this is not limited here, and the specific number needs to be determined based on the total system load when processing the candidate service requests in each first candidate service request list.
[0176] It is understood that the first list of service requests to be selected can be a list of service requests directly selected from the historical service request structure, or it can be a list of service requests re-determined based on the positive feedback data of each of the first and second lists of service requests to be selected; no limitation is made here. The aforementioned second list of service requests to be selected is obtained by adjusting at least one of the services to be selected from the first list of service requests to be selected. The aforementioned adjustment can be deletion or replacement, and specific implementation methods are described in detail in subsequent embodiments.
[0177] Furthermore, the positive feedback data for each of the first candidate service request lists is determined. That is, the server calculates the positive feedback data for each candidate service request in each of the first candidate service request lists, and then sums the positive feedback data for each candidate service request in each of the first candidate service request lists to obtain the positive feedback data for each of the first candidate service request lists. For example, if a first candidate service request list includes P candidate service requests, then the positive feedback data for the first candidate service request list can be obtained based on formula (2):
[0178] RUS 第一待选择服务请求列表 =Sum(RUS1,RUS2,...,RUS P (2)
[0179] Among them, RUS 第一待选择服务请求列表 RUS1 is used to represent positive feedback data for the first service request in the first list of service requests to be selected, RUS2 is used to represent positive feedback data for the second service request in the first list of service requests to be selected, and RUS... P Sum is used to represent the positive feedback data of the Pth service request in the first list of service requests to be selected, and Sum is used to represent the summation of the positive feedback data of each service request to be selected.
[0180] For ease of understanding, such as Figure 8 As shown, the historical service request structure 802 specifically includes historical service request 1 to historical service request 10. Then, historical service request 1, historical service request 6, historical service request 7 and historical service request 8 are selected from it to form a first service request list 804 to be selected, and historical service request 2, historical service request 5, historical service request 9 and historical service request 10 are selected from it to form a first service request list 806 to be selected.
[0181] Step 704: Based on the positive feedback data of each first candidate service request list, determine the list of processable service requests corresponding to the historical service request structure. The positive feedback data of the processable service request list is greater than the positive feedback data of each first candidate service request list.
[0182] Specifically, based on the positive feedback data of each first candidate service request list, the server determines the list of processable service requests corresponding to the acquired historical service request structure. At this time, the positive feedback data of the acquired list of processable service requests is greater than the positive feedback data of each first candidate service request list.
[0183] It should be understood that in practical applications, there may be a situation where the first list of service requests to be selected maximizes the positive feedback data. In this case, the first list of service requests to be selected that maximizes the positive feedback data is determined as the list of service requests that can be processed. That is, the first list of service requests to be selected with the largest positive feedback data among all the first list of service requests to be selected by the server is determined as the list of service requests that can be processed.
[0184] Secondly, to avoid the problem of ignoring the global optimum due to local positive feedback data optimization, the server can adjust at least one of the candidate service requests in each of the first candidate service request lists to generate a corresponding number of second candidate service request lists. Then, based on the positive feedback data of each of the first and second candidate service request lists, a new list of N first candidate service request lists is selected. Finally, based on the reselected first candidate service request lists, the list of processable service requests with the largest positive feedback data is determined.
[0185] In this embodiment, firstly, based on the dimension of system load, multiple first candidate service request lists are selected from the historical service request structure. Then, based on the dimension of positive feedback data of each first candidate service request list, a list of processable service requests with larger positive feedback data is determined. This ensures that the corresponding processable service request list selected from the historical service request structure can take into account the positive feedback requests of each service request in addition to considering the system load, thereby improving the positive feedback benefits of services and further enhancing the reliability and practicality of service access processing.
[0186] As can be seen from the foregoing embodiments, a service request corresponds to a service information, and a service information corresponds to a service interface call chain. The service interface call chain includes at least one service interface. Based on this, the essence of calculating the positive feedback data of the first list of service requests to be selected is to calculate the positive feedback data of each service request to be selected in the first list of service requests to be selected. Specifically, calculating the positive feedback data of the service requests to be selected requires determining the positive feedback data of the service interfaces included in the service interface call chain corresponding to the service information of the service request to be selected.
[0187] Specifically, the positive feedback data for a service request can be determined based on the service resources consumed in processing the request and the object feedback data from the object to the service requested by the request. The aforementioned service resources consist of the network and computing resources required to process the service request, and the aforementioned object feedback data is calculated based on the object's service usage information and processing priority information for the service requested by the request. Furthermore, the service interface call chain of the service request specifically includes the service interfaces called to access and process the service indicated by the service request. Therefore, the positive feedback data for a service request is specifically the sum of the positive feedback data from each service interface in the service interface call chain of the service request.
[0188] Based on this, the positive feedback data of the service interface is specifically calculated using formula (3):
[0189] CSC kij =FU(i)-C(j); (3)
[0190] Among them, CSCk ij FU(i) represents the positive feedback data of the service interface j requested by object i among k objects. C(j) represents the object feedback data of object i to the service request.
[0191] Based on formula (3), the positive feedback data of the service interface is specifically determined according to the service resources consumed by each service interface in the service interface call chain, and the object feedback data of the object to the service requested by the service request. The service resources consumed by the service interface are: the network resources and computing resources required to process the service request. The network resources can be bandwidth, while the computing resources can be memory usage and central processing unit (CPU) usage, etc.
[0192] The object feedback data is calculated based on the target object's service usage information and processing priority information for the target service requested. The service usage information includes at least one of the following: the target object's usage duration of the target service, the target object's activity level in using the target service, and the time interval between the target object's use of the target service. The aforementioned usage duration of the target object is defined as the time interval between the target object's initial use of the target service and its most recent service request. For example, if the target object started using the target service on January 1, 2022, and its most recent service request was made on September 1, 2022, then the target object's usage duration of the target service can be determined to be 9 months.
[0193] Secondly, the activity level of the target user in using the target service is the ratio between the duration of use and the number of times the target user uses the target service. For example, if the target user uses the target service 270 times in 9 months, then the activity level can be calculated as 1 day / 1 time. Thirdly, the time interval for the target user's use of the target service is specifically defined as the time interval from the time the target user last made a service request to the statistical time. For example, if the last service request was made on September 1, 2022, and the statistical time is September 3, 2022, then the time interval for the target user's use of the target service is 2 days.
[0194] Furthermore, the processing priority information is related to the object type of the target object and the service type of the target service. As described in the previous embodiments, the higher the processing priority information, the higher the priority of the service request issued by the target object. The same object may have different processing priority information for different service types.
[0195] For ease of understanding, object feedback data needs to be calculated from at least one dimension of information: service usage information and processing priority information. Taking video applications as an example, at least one of the following factors will result in high object feedback data: high processing priority for the object type, long usage time of the target object using the target service, high activity level of the target object using the target service, and short time interval between the target object using the target service.
[0196] Furthermore, in practical applications, the object feedback data can be calculated based on formula (4):
[0197] FU(i)=a*T(i)+b*A(i)+c*D(i)+d*K(i); (4)
[0198] Wherein, FU(i) represents the object feedback data of object i to the service requested by the service request, T(i) represents the usage duration of the service requested by object i, A(i) represents the activity level of the service requested by object i, D(i) represents the processing priority information of object i, K(i) represents the time interval of the service requested by object i, and the weight parameters a, b, c and d are preset weight parameters belonging to [0, 1], which are flexibly determined according to service requirements, experimental data and historical experience data.
[0199] Therefore, it can be seen that the server determines the positive feedback data of the target service request based on the service resources consumed in processing the target service request and the feedback data from the target object in response to the target service request. Furthermore, the service resources consumed are calculated based on the service resources consumed by each service interface in the service interface call chain of the target service request. Specifically, the service resources consumed by each service interface include the network and computing resources required to process the target service request.
[0200] Secondly, the object feedback data is calculated based on the target object's service usage information and processing priority information regarding the target service requested. The service usage information includes at least one of the following: the duration of the target object's use of the target service, the target object's activity level in using the target service, and the time interval between the target object's use of the target service. The processing priority information is related to the target object's object type and the target service's service type. The specific calculation method is similar to that described in the foregoing embodiments. It should be understood that the foregoing examples are only for understanding this solution and should not be construed as limiting this solution.
[0201] Therefore, in order to ensure the uniformity of the distribution of positive feedback data across service interfaces, it is also necessary to consider unifying the positive feedback data across service interfaces. The following will introduce how to determine the positive feedback data for each first candidate service request list:
[0202] In one embodiment, such as Figure 9 As shown, the service access processing method also includes:
[0203] Step 902: Collect the initial positive feedback data of each service interface and normalize the initial positive feedback data of each service interface to obtain the positive feedback data of each service interface.
[0204] Specifically, the initial positive feedback data consists of the positive feedback data obtained from each service interface called in the service interface call chain based on the processed historical service requests for different service information. Therefore, the initial positive feedback data for a service interface is specifically the set of positive feedback data generated by historical service requests for different service information calling the same service interface, and the positive feedback data for a service interface is specifically the set of normalized positive feedback data generated by historical service requests for different service information calling the same service interface.
[0205] Specifically, the server collects the initial positive feedback data of each service interface, that is, it collects the positive feedback data obtained by calling each service interface in the service interface call chain of each service information after processing the historical service requests of different service information. The resulting collection is a set of positive feedback data generated by the historical service requests of different service information calling the same service interface.
[0206] Furthermore, the initial positive feedback data of each service interface is normalized to obtain the positive feedback data of each service interface. Specifically, the initial positive feedback data of each service interface is normalized using formula (5):
[0207] CSC kij =[CSC' kij -min(CSC)]×[max(CSC)-min(CSC)] (5);
[0208] Among them, CSC kij Used to represent positive feedback data from the service interface, CSC' kij The initial positive feedback data of each service interface is represented by min(CSC), which represents the minimum positive feedback data among all positive feedback data of each service interface, and max(CSC) which represents the maximum positive feedback data among all positive feedback data of each service interface.
[0209] Based on this, the positive feedback data for each of the first candidate service request lists is determined, including:
[0210] Step 904: Based on the service information of each historical service request in each first candidate service request list, determine the service interface call chain of each historical service request in each first candidate service request list. The service interface call chain includes at least one service interface.
[0211] The service information is associated with the service type, or the service information is associated with both the service type and the object type. Each piece of service information has a corresponding service interface call chain, which includes at least one service interface. Therefore, the service interface call chain of a service request specifically includes the service interfaces required to access and process the target service indicated by the service request. The detailed description of the service interface call chain and service information is similar to that in the aforementioned embodiments and will not be repeated here.
[0212] Specifically, as described in the foregoing embodiments, each service request has corresponding service information, and each service information has a corresponding service interface call chain. Therefore, the server can first obtain the service information of each historical service request in each of the first candidate service request lists, and then, based on the correspondence between each service information and the service interface call chain, further determine the service interface call chain of each historical service request in each of the first candidate service request lists.
[0213] For example, service information F1 corresponds to service interface call chain 1, service information F2 corresponds to service interface call chain 2, and service information F3 corresponds to service interface call chain 3. Based on this, if historical service request A1 corresponds to service information F1, historical service request A2 corresponds to service information F2, and historical service request A3 corresponds to service information F2, based on the aforementioned correspondence between service information and service interface call chains, it can be determined that historical service request A1 corresponds to service interface call chain F1, historical service request A2 corresponds to service interface call chain F2, and historical service request A3 corresponds to service interface call chain F2.
[0214] Step 906: Based on the positive feedback data of each service interface and the service interface call chain of each historical service request in each first candidate service request list, calculate the positive feedback data of each historical service request in each first candidate service request list, and determine the positive feedback data of each first candidate service request list.
[0215] Specifically, the server can obtain the normalized positive feedback data of each service interface through step 902, and can obtain the service interface call chain of each historical service request in the first list of candidate service requests through step 904. Since the service interface call chain includes at least one service interface, the positive feedback data of each service interface in the service interface call chain of each historical service request is determined based on the service interfaces included in the service interface call chain of each historical service request. Then, the positive feedback data of the service interface call chain of each historical service request can be obtained by summing the results. At this time, the positive feedback data of the service interface call chain of each historical service request is the positive feedback data of each historical service request.
[0216] Furthermore, since each first list of candidate service requests is selected from each historical service request, after obtaining the positive feedback data of each historical service request, the positive feedback data of each first list of candidate service requests can be determined based on the historical service requests included in each first list of candidate service requests.
[0217] For ease of understanding, the example shown in step 904 will be used again for illustration. Service interface call chain 1 specifically includes service interface B and service interface C, and service interface call chain 2 specifically includes service interface D. Based on this, if the first list of service requests to be selected includes historical service request A1 and historical service request A2, the positive feedback data of historical service request A1 is specifically the sum of the positive feedback data of the corresponding service interfaces included in service interface call chain F1. Similarly, the positive feedback data of historical service request A2 is specifically the sum of the positive feedback data of the service interfaces included in the corresponding service interface call chain F2.
[0218] Since service interface call chain 1 specifically includes service interface B and service interface C, and service interface call chain 2 specifically includes service interface D, the positive feedback data for historical service request A1 is: positive feedback data for service interface B and positive feedback data for service interface C, and the positive feedback data for historical service request A2 is: positive feedback data for service interface D. Based on this, the positive feedback data for the first list of service requests to be selected is: positive feedback data for service interface B, positive feedback data for service interface C, and positive feedback data for service interface D. It should be understood that the foregoing example is only for understanding this solution and should not be construed as a limitation of this solution.
[0219] In this embodiment, the initial positive feedback data of each service interface is normalized to ensure the uniformity of the distribution of positive feedback data across all service interfaces, which also facilitates the accuracy and consistency of subsequent calculations. Based on this, the service interfaces required to complete a historical service request are determined according to the correspondence between service requests and service information, as well as the correspondence between service information and service interface call chains. The positive feedback data for historical service requests is then determined based on the positive feedback data of each service interface, ensuring the reliability and accuracy of the calculations.
[0220] Based on the foregoing embodiments, the following describes a method for selecting N first candidate service requests from a historical service request structure:
[0221] In one embodiment, such as Figure 10 As shown, select N first-selection service request lists from the historical service request structure, including at least one of the following:
[0222] Step 1002: Obtain the positive feedback data of each historical service request in the historical service request structure, and sort each historical service request from largest to smallest based on the positive feedback data of each historical service request to obtain the first sorting result.
[0223] The first sorting result is the result of sorting the positive feedback data of historical service requests from largest to smallest.
[0224] Specifically, the positive feedback data of each historical service request in the historical service request structure is obtained in a manner similar to that described in the foregoing embodiments, which will not be repeated here. Based on this, the historical service requests are sorted from largest to smallest according to their positive feedback data to obtain a first sorting result. For example, if the positive feedback data of historical service request A1 is 0.8, the positive feedback data of historical service request A2 is 0.6, the positive feedback data of historical service request A3 is 0.9, and the positive feedback data of historical service request A4 is 0.5, then the first sorting result obtained after sorting the positive feedback data of the aforementioned historical service requests from largest to smallest is: historical service request A3, historical service request A1, historical service request A2, and historical service request A4.
[0225] Step 1004: Select historical service requests from the historical service request structure based on the first sorting result to generate a first list of service requests to be selected.
[0226] Specifically, the server can generate a first list of candidate service requests by selecting the top-ranked historical service requests from the historical service request structure based on the first ranking result. The number of historical service requests in the first list can be a pre-set number, such as 4 or 6 historical service requests. Alternatively, the number of historical service requests in the first list can be a proportion of the total number of historical service requests in the historical service request structure. For example, if 20% of the total number of historical service requests is selected (i.e., the total number of historical service requests is 20), then the top 4 historical service requests will be selected to generate the first list of candidate service requests.
[0227] Alternatively, the number of historical service requests in the first list of pending service requests can be determined by considering the system load when the selected historical service requests are processed. It should be understood that when considering the system load when processing the selected historical service requests, it should be based on the system load when processing the selected historical service requests after the system load reaches the system load critical threshold. That is, the corresponding range of the system load when processing the selected historical service requests is between the system load critical threshold and the system overload threshold. For example, after selecting the top 5 historical service requests in the initial sorting result, the system load when processing these 5 historical service requests will reach the system overload threshold. Therefore, further selection of historical service requests will stop, and the first list of pending service requests will be generated based on the selected 5 historical service requests.
[0228] For ease of understanding, let's take a preset quantity of 4 as an example. Figure 11 As shown, firstly, based on the positive feedback data of each historical service request, the historical service requests in the historical service request structure 1102 are sorted, resulting in a first sorting result 1104 corresponding to the historical service request structure 1102. Then, the four historical service requests with the highest sorting order are selected from the first sorting result 1104 to generate a first list of service requests to be selected 1106. Furthermore, based on... Figure 11 When selecting the first four historical service requests, the system load when processing the selected historical service requests should be considered. If the system load when processing the selected historical service requests exceeds the system overload threshold, one of the historical service requests can be replaced with the fifth historical service request, or one historical service request can be deleted directly to ensure that the system load when processing does not exceed the system overload threshold. No specific restrictions are imposed here.
[0229] In practical applications, when selecting N first-choice service request lists, in addition to considering the positive feedback data of historical service requests, we can further consider: the object waiting time of historical service requests, the bandwidth consumption of historical service requests, etc., and then make a selection based on the sorting results considering multiple dimensions. This will not be elaborated in detail here.
[0230] Furthermore, it is understandable that the server can also generate a first list of candidate service requests by selecting historical service requests with lower sorting results from the historical service request structure based on specific scenario requirements and service needs; this is not limited here. Moreover, the examples in steps 1002 to 1004 are only for understanding this solution, illustrating how to generate a first list of candidate service requests by sequentially selecting historical service requests with higher positive feedback data, and should not be construed as limitations of this solution.
[0231] In another alternative embodiment, a first list of service requests to be selected can be randomly generated, specifically: step 1006, randomly selecting historical service requests from the historical service request structure to generate a first list of service requests to be selected.
[0232] Specifically, the server randomly selects historical service requests from the historical service request structure to generate a first list of candidate service requests. Similar to step 1004, the number of historical service requests in the first list of candidate service requests can be a preset number, such as randomly selecting 4 historical service requests, randomly selecting 6 historical service requests, etc. Alternatively, the number of historical service requests in the first list of candidate service requests can be a proportion of the number of historical service requests in the historical service request structure. Alternatively, the number of historical service requests in the first list of candidate service requests can also be determined considering the system load when the selected historical service requests are processed.
[0233] To make it easier to understand, let's take a preset quantity of 4 as an example again, such as... Figure 12 As shown, four historical service requests are directly selected from the historical service request structure 1202 to generate a first list of service requests to be selected 1204. Furthermore, with... Figure 11 Similarly, when randomly selecting 4 historical service requests, the system load when the selected historical service requests are processed should be considered. If the system load when the selected historical service requests are processed exceeds the system overload threshold, one of the historical service requests can be replaced with an unselected historical service request, or one historical service request can be deleted directly to ensure that the system load when the requests are processed does not exceed the system overload threshold. No specific restrictions are imposed here.
[0234] In this embodiment, by sequentially selecting historical service requests with higher positive feedback data to generate a first list of service requests to be selected, it is possible to ensure that the generated first list of service requests to be selected has a high level of positive feedback data. Alternatively, the first list of service requests to be selected can be generated by random selection, thereby improving the flexibility of the selected first list of service requests to be selected.
[0235] In one embodiment, such as Figure 13 As shown, based on the positive feedback data of each first candidate service request list, a list of processable service requests corresponding to the historical service request structure is determined, including:
[0236] Step 1302: Adjust at least one historical service request in each of the first candidate service request lists to generate N second candidate service request lists, and determine the positive feedback data for each of the second candidate service request lists, wherein the system load when each historical service request in the second candidate service request list is processed is less than or equal to the system overload threshold.
[0237] The adjustment of historical service requests in the first list of pending service requests includes at least one of the following: deleting at least one historical service request from the first list of pending service requests, or replacing at least one historical service request in the first list of pending service requests. Therefore, the methods for adjusting the first list of pending service requests can be the same or different, and are not limited here.
[0238] Secondly, the number of requests in the second list of service requests to be selected after adjustment is the same as the number of requests in the first list of service requests to be selected, and the system load when each historical service request in the second list of service requests to be selected is less than or equal to the system overload threshold.
[0239] Specifically, after selecting N first candidate service request lists, the server will select an adjusted first candidate service request list from these N lists and then adjust the selected adjusted first candidate service request list. It can be understood that adjusting the N first candidate service request lists can be done by adjusting each of the N first candidate service request lists separately, resulting in a second candidate service request list for each adjusted first candidate service request list.
[0240] Alternatively, select one of the N first candidate service request lists and adjust it to obtain a second candidate service request list. Then, select another of the N first candidate service request lists and adjust it again to obtain another second candidate service request list, and so on, until N second candidate service request lists are obtained. The first candidate service request list selected and adjusted each time can be the same or different; this is not limited here.
[0241] Step 1304: Based on the positive feedback data of each first candidate service request list and each second candidate service request list, determine the list of service requests that can be processed.
[0242] Specifically, based on the positive feedback data of each first list of service requests to be selected and each second list of service requests to be selected, the server determines the list of service requests that can be processed corresponding to the obtained historical service request structure, taking into account the positive feedback data of multiple lists of service requests to be selected. At this time, the positive feedback data of the obtained list of service requests that can be processed is greater than the positive feedback data of each first list of service requests to be selected.
[0243] Furthermore, the server can specifically determine the list of service requests with the largest positive feedback data from the positive feedback data of each first list of service requests to be selected and each second list of service requests to be selected as the list of service requests that can be processed. Alternatively, to further avoid the problem of local positive feedback data being optimal and thus ignoring the global optimum, the server can also reselect N new first lists of service requests to be selected based on the positive feedback data of each first list of service requests to be selected and each second list of service requests to be selected, and then determine the list of service requests that can be processed based on the reselected first lists of service requests to be selected as the list of service requests with the largest positive feedback data. Specific details are not limited here.
[0244] In this embodiment, in addition to considering system load, positive feedback requests for each service request are further taken into account. Based on the positive feedback data of each first candidate service request list and the positive feedback data of the second candidate service request list obtained by adjusting the first candidate service request list, the problem of local optimal positive feedback data is avoided. From a global perspective, the reliability of the determined list of processable service requests is guaranteed, and the positive feedback benefits of processing the service request list are improved, thereby further improving the reliability and practicality of service access processing.
[0245] Figure 13 The embodiment mentions performing an adjustment operation. Therefore, in order to obtain a better list of processable service requests with positive feedback data from multiple lists of candidate service requests, a neighborhood search can be performed on the multiple lists of candidate service requests to uncover more candidate service request lists. The following describes how to perform the adjustment operation to obtain multiple second lists of candidate service requests:
[0246] In one embodiment, such as Figure 14 As shown, the service access processing method also includes:
[0247] Step 1402: Based on the positive feedback data of each first list of service requests to be selected, perform a roulette operation on each first list of service requests to be selected and the list of unselected service requests.
[0248] Secondly, the roulette wheel operation is specifically based on the roulette algorithm, a commonly used random selection method. The roulette algorithm converts the characteristics of an individual into a probability of selection, and then divides a disk proportionally according to the proportion of each individual (i.e., the probability of selection). After each rotation of the disk, the individual corresponding to the sector where the pointer lands after the disk stops is the selected individual. Therefore, in the roulette wheel algorithm, the greater the proportion of an individual (i.e., the probability of selection), the larger the area it occupies on the disk, and the greater its chance of being selected.
[0249] Specifically, the server converts the positive feedback data of each first candidate service request list into a probability of selection for that first candidate service request list, and then performs a roulette operation based on this probability. For example, if the positive feedback data for the first candidate service request list G1 is 1.2 and the positive feedback data for the first candidate service request list G2 is 0.8, then after conversion, the probability of the first candidate service request list G1 being selected is: And the probability that the first service request list G2 will be selected is: Then, based on the aforementioned probabilities, a roulette operation is performed on the first list of service requests to be selected, G1 and G2.
[0250] Step 1404: Based on the results of the roulette operation, select the adjusted first service request list from each first service request list.
[0251] The result of the roulette wheel operation describes the list of the first service requests to be selected corresponding to the sector after the wheel stops each time it has been rotated N times.
[0252] Specifically, based on the results of the roulette wheel operation, the server can determine the first list of service requests to be selected corresponding to the sector where the pointer stops after each wheel stops. That is, it can obtain the N selected first lists of service requests from each of these lists. It is understandable that since the larger the positive feedback data of the first list of service requests, the greater the probability that the first list of service requests will be selected, the N selected first lists of service requests can be the same or different. Then, the server determines the first list of service requests corresponding to the sector where the pointer stops after each wheel stops as the adjusted first list of service requests.
[0253] For example, using the method described in the aforementioned embodiment, to obtain a first list of service requests to be selected (G1, G2, G3, and G4), four roulette wheel operations should be performed. If the roulette wheel operation results in the following order: selecting G1 after the first spin, G2 after the second spin, G3 after the third spin, and G4 after the fourth spin, then the adjusted first list of service requests to be selected will be G1, G2, and G4. Specifically, adjustments need to be made once based on G1, twice based on G2, and once based on G4.
[0254] In this embodiment, by selecting the first list of service requests to be adjusted through a roulette wheel operation, it is possible to search from multiple first list of service requests to obtain a first list of service requests with better positive feedback data for adjustment. This provides a basis for selecting a list of service requests that can be processed with better positive feedback data in the future, and further ensures the reliability of the selected list of service requests that can be processed.
[0255] As can be seen from the foregoing embodiments, the adjustment can be made by deleting at least one historical service request or by replacing at least one historical service request. The following will describe the two different adjustment methods, starting with the method of deleting at least one historical service request:
[0256] In one embodiment, such as Figure 15 As shown, at least one historical service request in each of the first candidate service request lists is adjusted to generate N second candidate service request lists, which include at least one of the following:
[0257] Step 1502: Determine a third list of service requests from each of the first list of service requests to be selected, and randomly delete at least one historical service request from the third list of service requests to be selected, so as to generate a second list of service requests to be selected.
[0258] The third list of service requests to be selected is: the first list of service requests to be selected that needs to be adjusted. The method for selecting the third list of service requests to be selected can be based on... Figure 14 The described roulette operation method can also be used to randomly select a service from the first list of pending service requests. However, this random selection method requires adjustments to the first list of pending service requests for each iteration.
[0259] Specifically, the server determines a third list of service requests to be selected from each of the first lists of service requests to be selected. The method for determining the third list of service requests to be selected is not specified here. Based on this, at least one historical service request is randomly deleted from the third list of service requests to be selected, in order to generate a second list of service requests to be selected.
[0260] For ease of understanding, such as Figure 16 As shown, Figure 16 The diagram in Figure (A) illustrates the process of determining a third list of service requests to be selected 1601, and randomly deleting one historical service request from this list to generate a second list of service requests to be selected 1602. Therefore, the second list of service requests to be selected 1602 only includes historical service request 1, historical service request 7, and historical service request 8. Secondly, Figure 16 The diagram in (B) shows the process of determining a third list of service requests to be selected 1601 and randomly deleting two historical service requests from the third list of service requests to be selected 1601 to generate a second list of service requests to be selected 1603. Therefore, the second list of service requests to be selected 1603 only contains historical service request 1 and historical service request 7.
[0261] Alternatively, in another embodiment, deletion can be selectively performed based on positive feedback data from each historical service request:
[0262] Step 1504: Determine a third list of service requests from each of the first list of service requests to be selected, and sort the positive feedback data of each historical service request in the third list of service requests to obtain a second sorting result.
[0263] The second sorting result is the result of sorting the positive feedback data of historical service requests in the third candidate service request list from largest to smallest. Alternatively, it can be the result of sorting the positive feedback data of historical service requests in the third candidate service request list from smallest to largest.
[0264] Specifically, positive feedback data for each historical service request in the historical service request structure of the third candidate service request list is obtained in a manner similar to that described in the foregoing embodiments, which will not be repeated here. Based on this, the historical service requests are sorted according to the positive feedback data of each historical service request in the third candidate service request list to obtain a second sorting result. The specific sorting method is not limited here and can be flexibly determined according to the actual situation.
[0265] Step 1506: Delete at least one historical service request from the third list of service requests to be selected based on the second sorting result, so as to generate a second list of service requests to be selected.
[0266] Specifically, the server can generate a second list of candidate service requests by deleting at least one historical service request from the third list of candidate service requests based on the second sorting result. If the second sorting result is a descending order of the positive feedback data of the historical service requests in the third list of candidate service requests, then the server can delete at least one historical service request that ranks highly in the third list, i.e., delete the historical service request with the largest positive feedback data. Similarly, if the second sorting result is a ascending order of the positive feedback data of the historical service requests in the third list of candidate service requests, then the server can delete at least one historical service request that ranks highly in the third list, i.e., delete the historical service request with the smallest positive feedback data.
[0267] To facilitate understanding, let's take the second sorting result as an example, which is the result of sorting the positive feedback data of historical service requests in the third candidate service request list from largest to smallest. Figure 17 As shown, Figure 17 The diagram in (A) shows the process of determining a third list of service requests to be selected 1701, then sorting the historical service requests in the third list of service requests to be selected 1701 from largest to smallest based on their positive feedback data, thus obtaining a second sorting result 1702. Based on this, the historical service request 1 with the largest positive feedback data is determined through the second sorting result 1702, and the historical service request 1 with the largest positive feedback data is deleted from the third list of service requests to be selected 1701 to generate a second list of service requests to be selected 1703. Therefore, the second list of service requests to be selected 1703 only includes historical service request 6, historical service request 7, and historical service request 8.
[0268] Similarly, Figure 17 The diagram in (B) shows the process of determining a third list of service requests to be selected 1701, and then sorting the historical service requests in the third list of service requests to be selected 1701 from largest to smallest based on the positive feedback data, thereby obtaining a second sorting result 1702. Based on this, the historical service request 1 and historical service request 6 with the highest positive feedback data are determined through the second sorting result 1702, and the historical service request 1 and historical service request 6 with the highest positive feedback data are deleted from the third list of service requests to be selected 1701 to generate a second list of service requests to be selected 1704. Therefore, the second list of service requests to be selected 1704 only includes historical service request 7 and historical service request 8.
[0269] It should be understood that the examples shown in this embodiment are for understanding this solution and should not be construed as limiting this solution.
[0270] In this embodiment, a second list of service requests can be generated by randomly deleting historical service requests from the adjusted first list of service requests to be selected, or by deleting requests based on positive feedback data from historical service requests. This improves the flexibility of the second list. Furthermore, deleting multiple historical service requests allows for further adjustments to the service request structure in the first list, widening the difference between the first and second lists, better avoiding local optima, and further enhancing the reliability and practicality of subsequently determining the list of selectable service requests.
[0271] The following describes how to adjust the system to replace at least one historical service request:
[0272] In one embodiment, such as Figure 18 As shown, the service access processing method also includes:
[0273] Step 1802: Determine the list of unselected service requests from the historical service request structure.
[0274] The list of unselected service requests includes historical service requests that were not selected in the historical service request structure, i.e., historical service requests that were not included in each of the first list of service requests to be selected.
[0275] Specifically, when the server selects N first candidate service request lists from the historical service request structure using the aforementioned embodiments, the server can also generate an unselected service request list based on the unselected historical service requests. For example, the historical service request structure specifically includes historical service requests A1 to A10, one first candidate service request list includes historical service requests A1 to A4, and another first candidate service request list includes historical service requests A5 to A8. Then, the unselected service request list includes historical service requests A9 and A10.
[0276] Based on this, at least one historical service request in each of the first candidate service request lists is adjusted to generate N second candidate service request lists, which include at least one of the following:
[0277] Step 1804: Determine a fourth list of service requests from each of the first lists of service requests to be selected, and randomly replace at least one historical service request in the fourth list of service requests to be selected with at least one historical service request in the list of unselected service requests to generate a second list of service requests to be selected.
[0278] The fourth list of service requests to be selected is similar to the third list of service requests to be selected, and will not be described in detail here.
[0279] Specifically, the server determines a fourth list of service requests to be selected from each of the first lists of service requests to be selected. The method for determining this fourth list is not specified here. Based on this, the server randomly replaces at least one historical service request from the fourth list with at least one historical service request from the list of unselected service requests to generate a second list of service requests to be selected. It should be understood that the number of historical service requests to be replaced can be the same or different; that is, the server can select one historical service request from the fourth list to replace one, and then select one historical service request from the list of unselected service requests to replace one, or it can select multiple historical service requests from the list of unselected service requests to replace one. It should be understood that the system load during the processing of historical service requests should still be considered after the replacement selection.
[0280] To make it easier to understand, let's take the example of equal quantity substitution. Figure 19 As shown, Figure 19 As shown, Figure 19 The diagram in (A) shows the process of determining an unselected service request list 1901 and a fourth service request list 1902 to be selected, and selecting historical service request 2 as a replacement historical service request from the unselected service request list 1901 and historical service request 1 as a replacement historical service request from the fourth service request list 1902 to generate a second service request list 1903. At this time, the second service request list 1903 includes historical service request 2, historical service request 6, historical service request 7 and historical service request 8.
[0281] Similarly, Figure 19 The diagram in (B) shows the process of determining an unselected service request list 1901 and a fourth service request list 1902 to be selected, and selecting historical service request 2 and historical service request 3 as replacement historical service requests from the unselected service request list 1901, and selecting historical service request 1 and historical service request 6 as replacement historical service requests from the fourth service request list 1902 to generate a second service request list 1905. At this time, the second service request list 1905 includes historical service request 2, historical service request 3, historical service request 7 and historical service request 8.
[0282] Alternatively, in another embodiment, the selection and replacement can be made by taking into account the positive feedback data of each historical service request:
[0283] Step 1806: Determine the fourth list of service requests from each of the first list of service requests to be selected, and sort the positive feedback data of each historical service request in the fourth list of service requests to obtain the third sorting result.
[0284] The third sorting result is the result of sorting the positive feedback data of historical service requests in the fourth candidate service request list from largest to smallest. Alternatively, it can be the result of sorting the positive feedback data of historical service requests in the fourth candidate service request list from smallest to largest.
[0285] Specifically, positive feedback data for each historical service request in the historical service request structure of the fourth candidate service request list is obtained in a manner similar to that described in the foregoing embodiments, which will not be repeated here. Based on this, the historical service requests are sorted according to the positive feedback data of each historical service request in the fourth candidate service request list to obtain a third sorting result. The specific sorting method is not limited here and can be flexibly determined according to the actual situation.
[0286] Step 1808: Based on the third sorting result, replace at least one historical service request in the fourth list of pending service requests with at least one historical service request in the list of unselected service requests to generate a second list of pending service requests.
[0287] Specifically, based on the third ranking result, the server can replace at least one historical service request in the fourth candidate service request list with at least one historical service request in the unselected service request list to generate a second candidate service request list. If the third ranking result sorts the positive feedback data of the historical service requests in the fourth candidate service request list from largest to smallest, then the server can select at least one historical service request that ranks higher in the fourth candidate service request list to replace it, that is, replace the historical service request with larger positive feedback data. Similarly, if the third ranking result sorts the positive feedback data of the historical service requests in the fourth candidate service request list from smallest to largest, then the server can select at least one historical service request that ranks higher in the fourth candidate service request list to replace it, that is, replace the historical service request with smaller positive feedback data.
[0288] Based on this, the server can further sort the historical service requests in the unselected service request list according to the positive feedback data, and then select at least one historical service request from the unselected service request list to replace it based on the sorting result. Similar to the previous embodiment, the number of historical service requests to be replaced can be the same or different, and is not limited here.
[0289] To facilitate understanding, let's take the third sorting result as an example, which is the result of sorting the positive feedback data of historical service requests in the fourth candidate service request list from largest to smallest. Figure 20 As shown, first, a list of unselected service requests 2001 and a fourth list of pending service requests 2002 are determined. Then, based on the positive feedback data of each historical service request in the fourth list of pending service requests 2002, they are sorted from largest to smallest to obtain a third sorting result 2003. Based on this, historical service request 1 with the largest positive feedback data is determined through the second sorting result 2003, and historical service request 4 is selected from the list of unselected service requests 2001 as a replacement historical service request to generate a second list of pending service requests 2004. At this time, the second list of pending service requests 2004 includes historical service request 4, historical service request 6, historical service request 7, and historical service request 8. The method of selecting multiple historical service requests for replacement is similar, and no further examples are given here. The above examples are only for understanding this solution and should not be used to limit this solution.
[0290] In this embodiment, a second list of service requests can be generated by randomly replacing historical service requests in the first list of service requests to be selected, or by replacing them with positive feedback data from historical service requests, thereby further improving the flexibility of the second list of service requests to be selected.
[0291] In one embodiment, such as Figure 21 As shown, when generating N second candidate service request lists, the service access processing method also includes:
[0292] Step 2102: Record the number of neighborhood search loops. The number of neighborhood search loops describes the number of times that each of the first candidate service request lists is adjusted to generate the corresponding N second candidate service request lists.
[0293] The neighborhood search loop count describes the number of times the first candidate service request list is adjusted to generate the corresponding N second candidate service request lists.
[0294] Specifically, the server updates the neighborhood search loop count each time it adjusts the first list of candidate service requests and generates the corresponding N second list of candidate service requests. For example, the first adjustment sets the neighborhood search loop count to 1, the next adjustment (the second adjustment) updates the neighborhood search loop count from 1 to 2, and the next adjustment (the third adjustment) updates the neighborhood search loop count from 2 to 3.
[0295] Based on this, and based on the positive feedback data from each of the first candidate service request lists and each of the second candidate service request lists, a list of service requests that can be processed is determined, including:
[0296] Step 2104: Based on the positive feedback data of each first candidate service request list and each second candidate service request list, re-determine N first candidate service request lists.
[0297] Specifically, the server selects the service request lists whose positive feedback data belongs to the top N positive feedback data from each of the first and second service request lists as the newly determined N first service request lists. For example, the positive feedback data of the first service request list G1 is 0.8, the positive feedback data of the first service request list G2 is 1.2, the positive feedback data of the second service request list H1 is 1.0, and the positive feedback data of the second service request list H2 is 0.7. Two of these need to be selected as the newly determined first service request lists. Since the positive feedback data of the first service request list G2 and the second service request list H1 are the top two positive feedback data, the first service request list G2 and the second service request list H1 are then redefined as the new first service request lists.
[0298] Step 2106: Adjust at least one historical service request in each of the redefined first candidate service request lists to generate N redefined second candidate service request lists, and update the neighborhood search loop count.
[0299] Specifically, the server adjusts at least one historical service request in each of the newly determined first candidate service request lists using a method similar to that described in the preceding embodiments, generating N newly determined second candidate service request lists. Further, the server updates the neighborhood search loop count based on this.
[0300] Furthermore, updating the neighborhood search loop count includes: determining the number of times each of the first candidate service request lists is adjusted to generate the corresponding N second candidate service request lists; determining whether a neighborhood search loop count exists; if no neighborhood search loop count exists, determining that the operation was performed after the first pair of candidate service request lists was adjusted to generate the corresponding N second candidate service request lists, and recording the neighborhood search loop count as 1. If a neighborhood search loop count exists, then the neighborhood search loop count is updated, that is, based on the neighborhood search loop count + 1.
[0301] Based on this, the server needs to determine whether the updated neighborhood search loop count has reached the preset neighborhood search count. If not, a similar implementation method as step 2104 is executed; if so, step 2108 is executed.
[0302] Step 2108: If the updated neighborhood search loop count reaches the preset neighborhood search count, the list of service requests with the largest positive feedback data among the positive feedback data of each newly determined first list of service requests to be selected and each newly determined second list of service requests to be selected is determined as the list of service requests that can be processed.
[0303] Specifically, once the server determines that the updated neighborhood search loop count has reached the preset neighborhood search count, it then determines the list of service requests with the largest positive feedback data from the positive feedback data of each of the newly determined first candidate service request lists and the positive feedback data of each of the newly determined second candidate service request lists as the list of service requests that can be processed.
[0304] For example, the positive feedback data of the re-determined first candidate service request list G1 is 1.8, the positive feedback data of the re-determined first candidate service request list G2 is 1.4, the positive feedback data of the re-determined second candidate service request list H1 is 1.2, and the positive feedback data of the re-determined second candidate service request list H2 is 1.5. The positive feedback data of the first candidate service request list G1 is the largest. At this time, the first candidate service request list G1 is determined as the list of service requests that can be processed.
[0305] Based on this, the server performs a similar process to the aforementioned embodiments on each historical service request structure to obtain a list of processable service requests corresponding to each historical service request structure. The server then stores the list of processable service requests corresponding to each historical service request structure so that it can be invoked during the specific service access process.
[0306] In this embodiment, by repeatedly re-determining the list of service requests to be selected in a cyclical manner, a globally optimal list of processable service requests with positive feedback data can be obtained. This further ensures the accuracy and globality of determining the target service request in the dimension of positive feedback data for subsequent service access processing, and further improves the reliability of service access processing.
[0307] The above embodiments describe the detailed processing flow of the service access processing method. The complete flow of the service access processing method will be described below, as follows: Figure 22 As shown, this method is applied to Figure 1Taking server 104 as an example, it can be understood that this method can also be applied to a system including terminal 102 and server 104, and implemented through the interaction between terminal 102 and server 104. In this embodiment, the method includes the following steps:
[0308] Step 2201: Collect the initial positive feedback data of each service interface and normalize the initial positive feedback data of each service interface to obtain the positive feedback data of each service interface.
[0309] Specifically, the server collects the initial positive feedback data of each service interface, that is, it collects the positive feedback data obtained by calling each service interface in the service interface call chain of each service information after processing the historical service requests of different service information. The resulting collection is a set of positive feedback data generated by the historical service requests of different service information calling the same service interface.
[0310] Furthermore, the initial positive feedback data of each service interface is normalized to obtain the positive feedback data of each service interface. Specifically, the initial positive feedback data of each service interface is normalized using the aforementioned formula (5).
[0311] Step 2202: Obtain the historical service request structure and select N first candidate service request lists from the historical service request structure.
[0312] Specifically, the historical service request structure is as follows: each historical service request corresponds to a specific service interface call chain, and each historical service request has corresponding service information, and each piece of service information has a corresponding service interface call chain, which will not be elaborated here. Secondly, specifically, the server can first obtain the historical service requests received within a preset time interval, and determine the service interface call chain of each historical service request based on the service information corresponding to each historical service request, thereby obtaining the historical service request structure based on the service interface call chain of the historical service requests.
[0313] Furthermore, considering system load, the server first selects multiple first candidate service request lists from the historical service request structure. The system load during processing of each candidate service request in each of these first candidate service request lists is less than or equal to the system overload threshold, thus avoiding system overload during processing. The selection of N first candidate service request lists from the historical service request structure includes at least one of the following: obtaining positive feedback data for each historical service request in the historical service request structure, sorting the historical service requests from largest to smallest based on the positive feedback data to obtain a first sorting result, and then selecting historical service requests from the historical service request structure based on the first sorting result to generate the first candidate service request list. Alternatively, historical service requests are randomly selected from the historical service request structure to generate the first candidate service request list.
[0314] Step 2203: Based on the service information of each historical service request in each first candidate service request list, determine the service interface call chain of each historical service request in each first candidate service request list.
[0315] Specifically, each service request has corresponding service information, and each service information has a corresponding service interface call chain. Therefore, the server can first obtain the service information of each historical service request in each of the first candidate service request lists, and then, based on the correspondence between each service information and the service interface call chain, further determine the service interface call chain of each historical service request in each of the first candidate service request lists.
[0316] Step 2204: Based on the positive feedback data of each service interface and the service interface call chain of each historical service request in each first candidate service request list, calculate the positive feedback data of each historical service request in each first candidate service request list, and determine the positive feedback data of each first candidate service request list.
[0317] Specifically, since the service interface call chain includes at least one service interface, the server can determine the positive feedback data of each service interface in the service interface call chain of each historical service request based on the service interfaces included in the service interface call chain of each historical service request. Then, by summing the data, the positive feedback data of the service interface call chain of each historical service request can be obtained. At this time, the positive feedback data of the service interface call chain of each historical service request is the positive feedback data of each historical service request.
[0318] Furthermore, since each first list of candidate service requests is selected from each historical service request, after obtaining the positive feedback data of each historical service request, the positive feedback data of each first list of candidate service requests can be determined based on the historical service requests included in each first list of candidate service requests.
[0319] Step 2205: Adjust at least one historical service request in each of the first candidate service request lists to generate N second candidate service request lists, and record the number of neighborhood search loops.
[0320] Specifically, after selecting N first candidate service request lists, the server will select an adjusted first candidate service request list from these N lists and then adjust the selected adjusted first candidate service request list. It can be understood that adjusting the N first candidate service request lists can be done by adjusting each of the N first candidate service request lists separately, resulting in a second candidate service request list for each adjusted first candidate service request list.
[0321] Alternatively, select one of the N first candidate service request lists and adjust it to obtain a second candidate service request list. Then, select another of the N first candidate service request lists and adjust it again to obtain another second candidate service request list, and so on, until N second candidate service request lists are obtained. The first candidate service request list selected and adjusted each time can be the same or different; this is not limited here.
[0322] Secondly, adjustments can be made by deleting at least one historical service request or replacing at least one historical service request. That is, at least one historical service request in each of the first candidate service request lists is adjusted to generate N second candidate service request lists, each including at least one of the following:
[0323] 1. Determine a third list of service requests from each of the first list of service requests to be selected, and randomly delete at least one historical service request from the third list of service requests to be selected, so as to generate a second list of service requests to be selected.
[0324] 2. Determine a third list of service requests from each of the first list of service requests to be selected, and sort the positive feedback data of each historical service request in the third list of service requests to obtain a second sorting result. Then, based on the second sorting result, delete at least one historical service request from the third list of service requests to be selected to generate a second list of service requests to be selected.
[0325] 3. Determine a fourth list of service requests from each of the first list of service requests to be selected, and randomly replace at least one historical service request in the fourth list of service requests to be selected with at least one historical service request in the list of unselected service requests to generate a second list of service requests to be selected.
[0326] 4. Determine a fourth list of service requests from each of the first list of service requests to be selected, and sort the positive feedback data of each historical service request in the fourth list of service requests to obtain a third sorting result. Based on the third sorting result, replace at least one historical service request in the fourth list of service requests to be selected with at least one historical service request in the list of unselected service requests to generate a second list of service requests to be selected.
[0327] Step 2206: Determine the positive feedback data for each of the second candidate service request lists.
[0328] Specifically, the server determines the positive feedback data for each of the second candidate service request lists based on a similar method described above.
[0329] Step 2207: Based on the positive feedback data of each first candidate service request list and each second candidate service request list, re-determine N first candidate service request lists.
[0330] Specifically, the server selects the service request lists whose positive feedback data belongs to the top N positive feedback data from the positive feedback data of each first service request list and each second service request list as the newly determined N first service request lists.
[0331] Step 2208: Adjust at least one historical service request in each of the redefined first candidate service request lists to generate N redefined second candidate service request lists, and update the neighborhood search loop count.
[0332] Specifically, the server adjusts at least one historical service request in each of the newly determined first candidate service request lists using a method similar to that described in the preceding embodiments, generating N newly determined second candidate service request lists. Further, the server updates the neighborhood search loop count based on this.
[0333] Step 2209: If the updated neighborhood search loop count reaches the preset neighborhood search count, the list of service requests with the largest positive feedback data among the positive feedback data of each newly determined first list of service requests to be selected and each newly determined second list of service requests to be selected is determined as the list of service requests that can be processed.
[0334] Specifically, once the server determines that the updated neighborhood search loop count has reached the preset neighborhood search count, it then determines the list of service requests with the largest positive feedback data from the positive feedback data of each of the newly determined first candidate service request lists and the positive feedback data of each of the newly determined second candidate service request lists as the list of service requests that can be processed.
[0335] Understandably, the updated neighborhood search loop count is less than the preset neighborhood search count, so a similar method as described in step 2207 is executed.
[0336] Steps 2201 to 2209 only describe how to obtain the list of processable service requests for a single historical service request structure. A similar approach can be used to process all historical service request structures to obtain the list of processable service requests for each historical service request structure. The server then stores the list of processable service requests for each historical service request structure so that it can be called during the specific service access process.
[0337] Step 2210: If the system load reaches the system load critical threshold, obtain the structure of the service request to be processed.
[0338] Step 2211: Obtain multiple historical service request structures and a list of processable service requests corresponding to each historical service request structure.
[0339] Specifically, when the server determines that the system load has reached the system load critical threshold, it obtains at least one pending service request initiated by the object, determines the service interface call chain of each pending service request based on the service information corresponding to each pending service request, and thus obtains the pending service request structure.
[0340] Step 2212: Determine the number of pending service requests for each service information in the pending service request structure, and the number of historical service requests for each service information in each historical service request structure.
[0341] Specifically, the server counts the number of pending service requests for each service information in the pending service request structure based on the service information corresponding to each pending service request in the pending service request structure. In other words, it counts the number of pending service requests corresponding to the same service information in the pending service request structure.
[0342] Furthermore, the server can use a similar method to count the number of historical service requests for each service information in each historical service request structure, based on the service information corresponding to each historical service request in each historical service request structure. This will not be elaborated on here.
[0343] Step 2213: Match the number of pending service requests for each service information and the number of historical service requests for each service information in each historical service request structure.
[0344] Specifically, matching is performed based on the number of pending service requests for each service information and the number of historical service requests for each service information in each historical service request structure. The matching calculation is specifically performed using the aforementioned formula (1).
[0345] Step 2214: Determine the matching results between the structure of the service request to be processed and the structures of each historical service request.
[0346] The matching result is used to describe the similarity between the structure of the service request to be processed and the structures of each historical service request. Based on the foregoing embodiments, the matching result is specifically used to describe the similarity between the number of service information items in each service request to be processed in the structure of the service request to be processed and the number of service information items in each historical service request in each historical service request structure.
[0347] Specifically, after the server performs the matching process, it can determine the matching result between the structure of the service request to be processed and the structures of each historical service request.
[0348] Step 2215: The historical service request structure with the highest similarity to the service request structure to be processed is identified as the target historical service request structure.
[0349] Specifically, the server identifies the historical service request structure with the highest similarity to the structure of the service request to be processed as the target historical service request structure.
[0350] Step 2216: Determine the number of service requests that can be processed for each service in the target list of service requests that can be processed.
[0351] Specifically, the server can determine the number of service requests that can be processed for each service in the target list of service requests in a manner similar to that described in the aforementioned embodiments, which will not be elaborated here.
[0352] Step 2217: Based on the number of processable service requests for each service in the target processable service request list, select the target service request from the pending service request structure and perform service access processing on the target service request.
[0353] Specifically, the server selects the target service request from the pending service request structure based on the number of processable service requests for each service in the target processable service request list, and further considering the matching results between the pending service request structure and the historical service request structures. Based on this, the matching results obtained by the server when matching the pending service request structure with the historical service request structures can also describe the ratio of pending service requests with the same service information to historical service requests.
[0354] Furthermore, the server selects a target service request from the pending service request structure based on the number of processable service requests for each service in the target processable service request list, and the ratio of the number of pending service requests with the same service information to the number of historical service requests. Based on this, the server performs service access processing on the target service indicated by the target service request.
[0355] It should be understood that the specific implementation methods of steps 2201 to 2217 have been described in detail in the foregoing embodiments, and will not be repeated here.
[0356] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.
[0357] Based on the same inventive concept, this application also provides a service access processing apparatus for implementing the service access processing method described above. The solution provided by this apparatus is similar to the implementation scheme described in the above method; therefore, the specific limitations in one or more service access processing apparatus embodiments provided below can be found in the limitations of the service access processing method described above, and will not be repeated here.
[0358] In one embodiment, such as Figure 23 As shown, a service access processing apparatus is provided, including: an acquisition module 2302, a matching processing module 2304, and a service processing module 2306, wherein:
[0359] The acquisition module 2302 is used to acquire the structure of the service request to be processed if the system load reaches the system load critical threshold; and to acquire multiple historical service request structures, as well as a list of processable service requests corresponding to each historical service request structure.
[0360] The matching processing module 2304 is used to perform matching processing between the service request structure to be processed and each historical service request structure, and to determine the target historical service request structure that matches the service request structure to be processed, and to determine the target processable service request list corresponding to the target historical service request structure.
[0361] The service processing module 2306 selects a target service request from the pending service request structure based on the target processable service request list and performs service access processing on the target service request. When the target service request is processed, the system load is less than or equal to the system overload threshold, the system overload threshold is greater than the system load critical threshold, and the positive feedback data of the target service request is greater than the positive feedback data of each pending service request that is not selected in the pending service request structure.
[0362] In one embodiment, the acquisition module 2302 is further configured to determine the positive feedback data of the target service request based on the service resources consumed in processing the target service request and the object feedback data of the target object to the target service requested by the target service request.
[0363] In one embodiment, the service resource consumption is calculated based on the service resource consumption of each service interface in the service interface call chain of the target service request; wherein, the service resource consumption of the service interface is: the network resources and computing resources required to process the target service request;
[0364] The object feedback data is calculated based on the target object's request for the target service's service usage information and processing priority information; wherein, the service usage information includes at least one of the following: the target object's usage duration of the target service, the target object's activity level in using the target service, and the time interval between the target object's use of the target service; the processing priority information is related to the target object's object type and the target service's service type.
[0365] In one embodiment, the matching processing module 2304 is further configured to determine the number of pending service requests for each service information in the pending service request structure, and the number of historical service requests for each service information in each historical service request structure, wherein the service information is associated with the service type, or the service information is associated with both the service type and the object type; and to perform matching processing based on the number of pending service requests for each service information and the number of historical service requests for each service information in each historical service request structure.
[0366] In one embodiment, the matching processing module 2304 is further configured to determine the matching result between the service request structure to be processed and each historical service request structure, wherein the matching result is used to describe the similarity between the service request structure to be processed and each historical service request structure; and to determine the historical service request structure with the highest similarity to the service request structure to be processed as the target historical service request structure.
[0367] In one embodiment, the service processing module 2306 is further configured to determine the number of processable service requests for each service information in the target processable service request list; and select a target service request from the pending service request structure based on the number of processable service requests for each service information in the target processable service request list.
[0368] In one embodiment, the acquisition module 2302 is further configured to acquire a historical service request structure, select N first candidate service request lists from the historical service request structure, and determine the positive feedback data of each first candidate service request list, wherein the system load when each candidate service request in the first candidate service request list is processed is less than or equal to the system overload threshold, and N is a positive integer greater than 1; and based on the positive feedback data of each first candidate service request list, determine a processable service request list corresponding to the historical service request structure, wherein the positive feedback data of the processable service request list is greater than the positive feedback data of each first candidate service request list.
[0369] In one embodiment, the acquisition module 2302 is further configured to collect initial positive feedback data of each service interface, and normalize the initial positive feedback data of each service interface to obtain positive feedback data of each service interface; and determine the service interface call chain of each historical service request in each first candidate service request list based on the service information of each historical service request in each first candidate service request list, wherein the service interface call chain includes at least one service interface; and calculate the positive feedback data of each historical service request in each first candidate service request list based on the positive feedback data of each service interface and the service interface call chain of each historical service request in each first candidate service request list, and determine the positive feedback data of each first candidate service request list.
[0370] In one embodiment, the acquisition module 2302 is further configured to acquire positive feedback data of each historical service request in the historical service request structure, and sort each historical service request from largest to smallest based on the positive feedback data of each historical service request to obtain a first sorting result; and select historical service requests from the historical service request structure based on the first sorting result to generate a first list of service requests to be selected.
[0371] In one embodiment, the acquisition module 2302 is further configured to randomly select historical service requests from the historical service request structure to generate a first list of service requests to be selected.
[0372] In one embodiment, the acquisition module 2302 is further configured to adjust at least one historical service request in each of the first candidate service request lists to generate N second candidate service request lists, and determine positive feedback data for each of the second candidate service request lists, wherein the system load when each historical service request in the second candidate service request list is processed is less than or equal to the system overload threshold; and determine a list of service requests that can be processed based on the positive feedback data of each of the first candidate service request lists and the positive feedback data of each of the second candidate service request lists.
[0373] In one embodiment, the acquisition module 2302 is further configured to perform a roulette operation on each first service request list to be selected and the unselected service request list based on the positive feedback data of each first service request list to be selected; and select the adjusted first service request list from each first service request list based on the roulette operation result.
[0374] In one embodiment, the acquisition module 2302 is further configured to determine a third list of service requests to be selected from each of the first list of service requests to be selected, and randomly delete at least one historical service request from the third list of service requests to be selected, so as to generate a second list of service requests to be selected.
[0375] In one embodiment, the acquisition module 2302 is further configured to determine a third list of service requests to be selected from each of the first lists of service requests to be selected, and sort the positive feedback data of each historical service request in the third list of service requests to be selected to obtain a second sorting result; and delete at least one historical service request in the third list of service requests to be selected based on the second sorting result to generate a second list of service requests to be selected.
[0376] In one embodiment, the acquisition module 2302 is further configured to determine an unselected service request list from the historical service request structure; and to determine a fourth service request list from each of the first service request lists to be selected, and to randomly replace at least one historical service request in the fourth service request list with at least one historical service request in the unselected service request list to generate a second service request list to be selected.
[0377] In one embodiment, the acquisition module 2302 is further configured to determine an unselected service request list from the historical service request structure; determine a fourth service request list from each of the first service request lists to be selected; sort the positive feedback data of each historical service request in the fourth service request list to obtain a third sorting result; and based on the third sorting result, replace at least one historical service request in the fourth service request list with at least one historical service request in the unselected service request list to generate a second service request list to be selected.
[0378] In one embodiment, the acquisition module 2302 is further configured to record the number of neighborhood search loops when generating N second candidate service request lists. The number of neighborhood search loops describes: the number of times each first candidate service request list is adjusted to generate the corresponding N second candidate service request lists; and based on the positive feedback data of each first candidate service request list and the positive feedback data of each second candidate service request list, re-determine the N first candidate service request lists; and adjust at least one historical service request in each re-determined first candidate service request list to generate N re-determined second candidate service request lists, and update the number of neighborhood search loops; if the updated number of neighborhood search loops reaches the preset number of neighborhood search loops, the candidate service request list with the largest positive feedback data among the positive feedback data of each re-determined first candidate service request list and the positive feedback data of each re-determined second candidate service request list is determined as the processable service request list.
[0379] Each module in the aforementioned service access processing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can invoke and execute the operations corresponding to each module.
[0380] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 24As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media. The database stores historical service request structures and lists of processable service requests corresponding to each historical service request structure. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it implements a service access processing method.
[0381] Those skilled in the art will understand that Figure 24 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0382] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
[0383] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0384] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0385] It should be noted that the object information (including but not limited to object device information, object personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the object or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0386] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0387] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0388] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A service access processing method, characterized in that, The method includes: If the system load reaches the system load critical threshold, obtain the structure of the service requests to be processed; Obtain multiple historical service request structures, and a list of processable service requests corresponding to each of the historical service request structures; The pending service request structure is matched with each of the historical service request structures, and a target historical service request structure that matches the pending service request structure is determined, as well as a target list of processable service requests corresponding to the target historical service request structure is determined. Based on the target processable service request list, a target service request is selected from the pending service request structure, and service access processing is performed on the target service request. When the target service request is processed, the system load is less than or equal to the system overload threshold, the system overload threshold is greater than the system load critical threshold, and the positive feedback data of the target service request is greater than the positive feedback data of each pending service request that was not selected in the pending service request structure.
2. The method according to claim 1, characterized in that, The method for obtaining positive feedback data of the target service request includes: Based on the service resources consumed in processing the target service request and the object feedback data of the target object to the target service requested by the target service request, the positive feedback data of the target service request is determined.
3. The method according to claim 2, characterized in that, The service resource consumption is calculated based on the service resource consumption of each service interface in the service interface call chain of the target service request; wherein, the service resource consumption of the service interface is: the network resources and computing resources required to process the target service request; The object feedback data is calculated based on the target object's service usage information and processing priority information for the target service requested by the target object; wherein, the service usage information includes at least one of the following: the duration of the target object's use of the target service, the activity level of the target object in using the target service, and the time interval between the target object's use of the target service; the processing priority information is related to the object type of the target object and the service type of the target service.
4. The method according to claim 1, characterized in that, The matching process between the structure of the service request to be processed and each of the historical service request structures includes: Determine the number of pending service requests for each service information in the pending service request structure, and the number of historical service requests for each service information in each historical service request structure, wherein the service information is associated with the service type, or the service information is associated with the service type and the object type; The matching process is performed based on the number of pending service requests for each of the aforementioned service information and the number of historical service requests for each of the aforementioned historical service request structures.
5. The method according to claim 4, characterized in that, The determination of the target historical service request structure that matches the service request structure to be processed includes: Determine the matching result between the service request structure to be processed and each of the historical service request structures, wherein the matching result is used to describe the similarity between the service request structure to be processed and each of the historical service request structures; The historical service request structure with the highest similarity to the service request structure to be processed is determined as the target historical service request structure.
6. The method according to claim 4, characterized in that, The step of selecting a target service request from the pending service request structure based on the target processable service request list includes: Determine the number of processable service requests for each service in the target processable service request list; Based on the number of processable service requests for each service in the target processable service request list, a target service request is selected from the pending service request structure.
7. The method according to claim 1, characterized in that, The methods for obtaining the list of processable service requests corresponding to each of the aforementioned historical service request structures include: Obtain the historical service request structure, select N first candidate service request lists from the historical service request structure, and determine the positive feedback data for each first candidate service request list. The system load when each candidate service request in the first candidate service request list is processed is less than or equal to the system overload threshold, where N is a positive integer greater than 1. Based on the positive feedback data of each of the first candidate service request lists, a processable service request list corresponding to the historical service request structure is determined, wherein the positive feedback data of the processable service request list is greater than the positive feedback data of each of the first candidate service request lists.
8. The method according to claim 7, characterized in that, The method further includes: The initial positive feedback data of each service interface is collected, and the initial positive feedback data of each service interface is normalized to obtain the positive feedback data of each service interface. The positive feedback data for determining each of the first candidate service request lists includes: Based on the service information of each historical service request in each of the first list of service requests to be selected, the service interface call chain of each historical service request in each of the first list of service requests to be selected is determined, and the service interface call chain includes at least one of the service interfaces. Based on the positive feedback data of each service interface and the service interface call chain of each historical service request in each of the first candidate service request lists, the positive feedback data of each historical service request in each of the first candidate service request lists is calculated, and the positive feedback data of each of the first candidate service request lists is determined.
9. The method according to claim 8, characterized in that, The step of selecting N first candidate service requests from the historical service request structure includes at least one of the following: Obtain positive feedback data for each historical service request in the historical service request structure, and sort each historical service request from largest to smallest based on the positive feedback data for each historical service request to obtain a first sorting result; Based on the first sorting result, historical service requests are selected from the historical service request structure to generate the first list of service requests to be selected; or, Randomly select historical service requests from the historical service request structure to generate the first list of service requests to be selected.
10. The method according to claim 8, characterized in that, The step of determining the list of processable service requests corresponding to the historical service request structure based on the positive feedback data of each of the first candidate service request lists includes: Adjust at least one historical service request in each of the first candidate service request lists to generate N second candidate service request lists, and determine positive feedback data for each of the second candidate service request lists, wherein the system load when each of the historical service requests in the second candidate service request list is processed is less than or equal to the system overload threshold. Based on the positive feedback data of each of the first candidate service request lists and the positive feedback data of each of the second candidate service request lists, the list of service requests that can be processed is determined.
11. The method according to claim 10, characterized in that, The method further includes: Based on the positive feedback data of each of the first service request lists to be selected, a roulette operation is performed on each of the first service request lists to be selected. Based on the results of the roulette operation, select the adjusted first service request list from each of the first service request lists to be selected.
12. The method according to claim 10 or 11, characterized in that, The step of adjusting at least one historical service request in each of the first candidate service request lists to generate N second candidate service request lists includes at least one of the following: A third list of service requests to be selected is determined from each of the first list of service requests to be selected, and at least one historical service request in the third list of service requests to be selected is randomly deleted to generate a second list of service requests to be selected. or, A third list of service requests to be selected is determined from each of the first list of service requests to be selected, and the positive feedback data of each of the historical service requests in the third list of service requests to be selected are sorted to obtain a second sorting result. Based on the second sorting result, delete at least one historical service request from the third list of service requests to be selected, so as to generate the second list of service requests to be selected.
13. The method according to claim 10 or 11, characterized in that, The method further includes: Determine the list of unselected service requests from the historical service request structure; The step of adjusting at least one historical service request in each of the first candidate service request lists to generate N second candidate service request lists includes at least one of the following: A fourth list of service requests to be selected is determined from each of the first lists of service requests to be selected, and at least one historical service request in the fourth list of service requests to be selected is randomly replaced with at least one historical service request in the list of unselected service requests to generate a second list of service requests to be selected. or, A fourth list of service requests to be selected is determined from each of the first list of service requests to be selected, and the positive feedback data of each of the historical service requests in the fourth list of service requests to be selected are sorted to obtain a third sorting result. Based on the third sorting result, at least one historical service request in the fourth list of service requests to be selected is replaced with at least one historical service request in the list of unselected service requests to generate the second list of service requests to be selected.
14. The method according to claim 10 or 11, characterized in that, When generating the N second list of service requests to be selected, the method further includes: The number of neighborhood search loops is recorded, which describes the number of times the first list of candidate service requests is adjusted to generate the corresponding N lists of candidate service requests. The step of determining the processable service request list based on the positive feedback data of each of the first candidate service request lists and the positive feedback data of each of the second candidate service request lists includes: Based on the positive feedback data of each of the first candidate service request lists and the positive feedback data of each of the second candidate service request lists, N first candidate service request lists are re-determined. Adjust at least one historical service request in each of the redefined first candidate service request lists to generate N redefined second candidate service request lists, and update the neighborhood search loop count. If the updated neighborhood search loop count reaches the preset neighborhood search count, the list of service requests with the largest positive feedback data among the positive feedback data of each of the newly determined first list of service requests to be selected and the positive feedback data of each of the newly determined second list of service requests to be selected is determined as the list of service requests that can be processed.
15. A service access processing apparatus, characterized in that, The device includes: The acquisition module is used to acquire the service request structure to be processed if the system load reaches the system load critical threshold; and to acquire multiple historical service request structures, as well as a list of processable service requests corresponding to each historical service request structure. The matching processing module is used to perform matching processing on the service request structure to be processed and each of the historical service request structures, and to determine the target historical service request structure that matches the service request structure to be processed, and to determine the target processable service request list corresponding to the target historical service request structure. The service processing module selects a target service request from the pending service request structure based on the target processable service request list, and performs service access processing on the target service request. The system load when the target service request is processed is less than or equal to the system overload threshold, the system overload threshold is greater than the system load critical threshold, and the positive feedback data of the target service request is greater than the positive feedback data of each pending service request that is not selected in the pending service request structure.
Citation Information
Patent Citations
Transaction compensation method and device applied to heterogeneous system
CN108880873A
Flow distribution control method and device
CN110601978A