Business processing platform construction method and device, electronic equipment and storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-24
- Publication Date
- 2026-08-11
AI Technical Summary
[0004]本申请实施例提供了业务处理平台构建方法、装置、电子设备和存储介质,以至少部分的解决业务处理平台的业务处理能力受到链路中的瓶颈节点的负面影响的问题
[0023]The above-mentioned at least one technical solution adopted in the embodiments of this application can achieve the following beneficial effects: First, a link model containing multiple nodes is constructed, and then the capacity of the business modules used by each node is tested through stress testing, thereby determining the deployment quantity of business modules for each node. This ensures that there are no bottleneck nodes that significantly hinder traffic in the constructed business link, and the business processing resources provided by the constructed business processing platform can be utilized more reasonably, which not only meets the actual business needs, but also saves computing equipment costs and reduces resource waste.
Smart Images

Figure CN117149610B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to methods, apparatus, electronic devices and storage media for building business processing platforms. Background Technology
[0002] Due to the complexity of business scenarios, processing a particular business often requires multiple steps. When using computer technology for business processing, a modular design approach can be adopted to decompose the business. For example, a business link can be set up to correspond to a business process, with multiple nodes set up in the link. Each node deploys several modules, and each module is used to perform a specific type of processing. Ultimately, several links are used to build a business processing platform.
[0003] The configuration of nodes in a data link significantly impacts the efficiency of service processing. The performance of a data link can be characterized to some extent by its throughput. For example, a data link may consist of three nodes, A, B, and C, with capacities of 2 units, 3 units, and 5 units respectively. When using this data link for service processing, if node A reaches capacity saturation, the capacities of nodes B and C may still be surplus and cannot be effectively utilized. In this case, not only do nodes B and C experience resource waste, but the overall throughput of the data link will also be limited by node A. Summary of the Invention
[0004] This application provides a method, apparatus, electronic device, and storage medium for building a business processing platform, in order to at least partially solve the problem that the business processing capability of the business processing platform is negatively affected by bottleneck nodes in the link.
[0005] The embodiments of this application adopt the following technical solutions:
[0006] In a first aspect, embodiments of this application provide a method for constructing a business processing platform, comprising: constructing a link model containing multiple nodes; designating each node as a node under test, and constructing a test link corresponding to the node under test based on the link model; in the test link, the node under test deploys a business module, and each node other than the node under test deploys one or more business modules, such that the business processing capability of the node under test is lower than the business processing capability of other nodes in the test link; performing stress tests on each test link, and using the obtained stress limit value as the capacity of the business module deployed on the corresponding node under test; determining the number of business modules deployed on each node based on the capacity of each business module; and constructing a business processing platform based on the number of business modules deployed and the link model.
[0007] In some embodiments, stress testing is performed on each test link separately, including: performing multiple rounds of stress testing on each test link and monitoring the operation of the service modules deployed on the corresponding tested node during each round of stress testing; increasing the traffic input to the test link in each round of stress testing; terminating the multiple rounds of stress testing when the monitored operation matches the preset conditions, and recording the value of the traffic used in that round as the stress limit value.
[0008] In some embodiments, the preset conditions include: the computing resource usage reaches a usage threshold, and / or the output latency of the business module reaches a latency threshold.
[0009] In some embodiments, determining the number of service modules deployed on each node based on the capacity of each service module includes: calculating the least common multiple of the capacity of each service module as the upper limit of the link traffic; and dividing the upper limit of the link traffic by the capacity of each service module to obtain the number of service modules deployed on each node.
[0010] In some embodiments, a business processing platform is constructed based on the deployment volume of business modules and the link model, including: performing stress tests on the middleware under test based on the link traffic limit, and determining the link expansion parameters based on the stress test results; constructing a business link based on the link expansion parameters, the deployment volume of business modules, and the link model; and constructing a business processing platform based on the business link and the middleware under test.
[0011] In some embodiments, stress testing is performed on the middleware under test based on the link traffic limit, and link expansion parameters are determined based on the stress test results. This includes: performing multiple rounds of stress testing on the middleware under test and monitoring the operation of the middleware under test during each round of stress testing; the traffic input to the middleware under test in each round of stress testing increases progressively, and the traffic in each round is an integer multiple of the link traffic limit; the multiple rounds of stress testing are terminated when the monitored operation matches the preset conditions, and the link expansion parameters are obtained by dividing the value of the traffic used in the current round by the link traffic limit; and a business link is constructed based on the link expansion parameters, the number of business modules deployed, and the link model. This includes: multiplying the link expansion parameters by the number of business modules deployed to obtain the expanded number of business modules deployed; and constructing the business link based on the expanded number of business modules deployed and the link model.
[0012] In some embodiments, constructing the business processing platform based on the deployment volume of the business modules and the link model includes: multiplying the deployment volume of the business modules by several preset ratios to obtain the deployment volume of the business modules in several test versions; constructing the corresponding test version of the business processing platform based on the deployment volume of the business modules in each test version; performing stress tests on each test version of the business processing platform and monitoring the operation of the business processing platform in each round of stress tests; analyzing the operation status and the preset ratios; adjusting the deployment volume of the business modules based on the analysis results; and constructing the business processing platform based on the adjusted deployment volume of the business modules and the link model.
[0013] Secondly, embodiments of this application also provide a business processing platform construction apparatus, wherein the apparatus is used to implement any of the methods shown in the first aspect.
[0014] In some embodiments, a business processing platform construction apparatus includes: a model construction unit for constructing a link model containing multiple nodes; a link construction unit for constructing test links corresponding to the test nodes based on the link model, with each node as a node under test; in the test links, each node under test deploys a business module, and each node other than the test node deploys one or more business modules, such that the business processing capacity of the test node is lower than the business processing capacity of other nodes in the test links; a testing unit for performing stress tests on each test link, and taking the obtained stress limit value as the capacity of the business module deployed on the corresponding test node; a determination unit for determining the number of business modules deployed on each node based on the capacity of each business module; and a platform construction unit for constructing a business processing platform based on the number of business modules deployed and the link model.
[0015] In some embodiments, the testing unit is used to perform multiple rounds of stress testing on each test link and monitor the operation of the service modules deployed on the corresponding tested node during each round of stress testing; the traffic input into the test link during the multiple rounds of stress testing increases round by round; when the monitored operation matches the preset conditions, the multiple rounds of stress testing are terminated, and the value of the traffic used in that round is recorded as the stress limit value.
[0016] In some embodiments, the preset conditions include: the computing resource usage reaches a usage threshold, and / or the output latency of the business module reaches a latency threshold.
[0017] In some embodiments, the determining unit is used to calculate the least common multiple of the capacity of each service module as the upper limit of the link traffic; and divide the upper limit of the link traffic by the capacity of each service module to obtain the number of service modules deployed at each node.
[0018] In some embodiments, the testing unit is further configured to perform stress tests on the middleware under test based on the link traffic limit, and determine the link expansion parameters based on the stress test results; the platform construction unit is configured to construct the business link based on the link expansion parameters, the number of business modules deployed, and the link model; and construct the business processing platform based on the business link and the middleware under test.
[0019] In some embodiments, the testing unit is used to perform multiple rounds of stress testing on the middleware under test and monitor the operation of the middleware under test during each round of stress testing; the traffic input to the middleware under test in the multiple rounds of stress testing increases sequentially, and the traffic in each round is an integer multiple of the link traffic limit; when the monitored operation matches the preset situation, the multiple rounds of stress testing are terminated, and the link expansion parameter is obtained by dividing the value of the traffic used in the current round by the link traffic limit; the platform construction unit is used to multiply the link expansion parameter by the number of business modules deployed to obtain the expanded number of business modules deployed; and to construct the business link based on the expanded number of business modules deployed and the link model.
[0020] In some embodiments, the platform construction unit is used to multiply the number of business modules deployed by several preset ratios to obtain the number of business modules deployed in several test versions, and to construct the corresponding test version of the business processing platform according to the number of business modules deployed in each test version; the testing unit is also used to perform stress tests on each test version of the business processing platform and monitor the operation of the business processing platform in each round of stress tests; to analyze the operation and the preset ratios, and to adjust the number of business modules deployed according to the analysis results; the platform construction unit is used to construct the business processing platform based on the adjusted number of business modules deployed and the link model.
[0021] Thirdly, embodiments of this application also provide a first electronic device, the electronic device comprising: a processor; and a memory arranged to store computer-executable instructions, which, when executed, cause the processor to perform any of the methods shown in the first aspect.
[0022] Fourthly, embodiments of this application also provide a first computer-readable storage medium storing one or more programs, which, when executed by an electronic device including multiple applications, cause the electronic device to perform any of the methods shown in the first aspect.
[0023] The above-mentioned at least one technical solution adopted in the embodiments of this application can achieve the following beneficial effects: First, a link model containing multiple nodes is constructed, and then the capacity of the business modules used by each node is tested through stress testing, thereby determining the deployment quantity of business modules for each node. This ensures that there are no bottleneck nodes that significantly hinder traffic in the constructed business link, and the business processing resources provided by the constructed business processing platform can be utilized more reasonably, which not only meets the actual business needs, but also saves computing equipment costs and reduces resource waste. Attached Figure Description
[0024] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0025] Figure 1 This is a schematic diagram of a link;
[0026] Figure 2 A flowchart illustrating a method for constructing a business processing platform as provided in an embodiment of this specification;
[0027] Figure 3 This is a schematic diagram of the first test link corresponding to node A provided in the embodiments of this specification;
[0028] Figure 4 This is a schematic diagram of the second test link corresponding to node B provided in the embodiments of this specification;
[0029] Figure 5 This is a schematic diagram of the third test link corresponding to node C provided in the embodiments of this specification;
[0030] Figure 6 A schematic flowchart illustrating a pressure testing method provided in an embodiment of this specification;
[0031] Figure 7 A schematic flowchart illustrating yet another pressure testing method provided in the embodiments of this specification;
[0032] Figure 8 A schematic diagram of a business processing platform construction device provided in the embodiments of this specification;
[0033] Figure 9 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application;
[0034] Figure 10 This is a schematic diagram of the entire process flow of a business processing platform provided in the embodiments of this specification. Detailed Implementation
[0035] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0036] Before describing the construction process of the business processing platform in the embodiments of this specification, at least some of the concepts involved in this specification will be introduced first.
[0037] In this specification, a node can be a summary of the various components that implement a certain function during business processing. Different nodes may provide different functions. This specification does not limit the specific form of a node. For example, a node can be a software program; another example is that a node can also have a specific hardware structure; yet another example is that a node can also be a software program encapsulated within a hardware structure. In practical scenarios, regardless of whether the function of a node is performed by its software or hardware components during business processing, it is considered an implementation of the node's own function.
[0038] In this application, capacity refers to the ability to process traffic, not specifically the size of storage space. Traffic can be understood in some scenarios as the amount of data requests related to business operations, such as the number of data packets. Capacity is positively correlated with traffic processing capability.
[0039] In this specification, without considering other nodes in the link, the larger the capacity of a node, the greater the traffic that node can handle. If the traffic and the node's capacity are exactly matched, that is, if a flow of traffic can occupy all the capacity provided by a node, and the flow of traffic does not cause congestion at that node, then the node's processing capacity is utilized to its maximum, and the node is in an ideal state, which is also the goal that the process in this specification is expected to achieve.
[0040] The link in this specification is a collection of nodes used when executing a certain service. Since the nodes function sequentially during service execution, their order within the link also matters. For example... Figure 1 As shown, in link 1, the direction of the arrows reflects the order in which each node processes the service, with node A being the first and node C being the last.
[0041] The nodes used to execute different services may be different; the nodes used to execute different services may be the same, but the order of the nodes in the link may be different. Therefore, in this specification, a link is not equivalent to a concrete hardware structure of multiple "components" connected by "wires". In some scenarios, a link is used to represent the abstract concept of several nodes participating in service processing arranged in a certain order.
[0042] The business processing platform described in this specification is used to process business transactions. To enable the platform to process different business transactions, it may contain one or more links. Furthermore, for multiple business transactions, the nodes can form a network, meaning that multiple links can reuse nodes. Therefore, all the nodes in the business processing platform can form a non-linked structure such as a network.
[0043] To further clarify the technical problems to be solved in this specification, in such cases... Figure 1 In the existing link 1 used for service processing shown, the capacity of a node is schematically represented by its vertical dimension in the diagram, and size is positively correlated with capacity. It can be seen that... Figure 1 The nodes of Link 1 shown are ordered from largest to smallest capacity as Node B, Node C, and Node A. In Link 1, Node A is the bottleneck node, and the maximum traffic allowed through Link 1 is limited by the capacity of Node A. If at any given moment the traffic applied to one end of Link 1 exceeds the capacity of Node A but is less than the capacity of Node C, then the traffic passing through Link 1 at that time will be less than or equal to the capacity of Node A. Part of the capacity of Nodes B and C will be idle, resulting in a waste of the resources provided by Nodes B and C. Furthermore, this leads to a waste of the overall service processing capacity provided by Link 1.
[0044] To ensure that the nodes in the link coordinate with each other at least in terms of capacity, so that the capacity of each node can be fully utilized when the actual link composed of nodes performs business processing, and thus the business processing capabilities provided by the actual link are better utilized, the business processing platform construction process in the embodiments of this specification is proposed.
[0045] Figure 2 A flowchart illustrating a method for constructing a business processing platform according to an embodiment of this application is shown. Figure 2 As shown, the method includes:
[0046] Step S210: Construct a link model containing multiple nodes.
[0047] As mentioned above, different business processes require different nodes. Therefore, a link model can be constructed based on the business processes involved in the business processing platform. The link model determines the connection order of each node and the business modules used by each node, but it does not limit the capacity of each node. In other words, the capacity of each node is not directly determined by the link model, but rather by first determining the capacity of each business module and the number of deployed business modules, and then determining the capacity of each node.
[0048] However, the capacity of each business module is not necessarily known, requiring a corresponding testing method. Therefore, steps S220 to S230 can be executed.
[0049] Step S220: Each node is taken as the node under test, and a test link corresponding to the node under test is constructed according to the link model.
[0050] In the test pipeline, the node under test deploys one business module, while each other node deploys one or more business modules. This results in the business processing capacity of the node under test being lower than that of the other nodes in the test pipeline. Therefore, different nodes lead to different test pipelines.
[0051] For example, Figures 3-5 The diagram illustrates three test links constructed based on the same link model. This link model corresponds to service i and includes nodes A, B, and C. The first test link determined for node A is as follows: Figure 3 As shown. The first test link aims to determine the capacity of the service module used by node A. Therefore, node A deploys only one service module a, meaning the capacity of node A equals the capacity of service module a. To avoid nodes B and C becoming bottlenecks, the capacities of nodes B and C can be made much larger than the capacity of service module a1. This can be achieved by deploying more service modules b (as shown in b1~b1) on node B. m ), deploy more business modules c (c1 to c in the figure) on node C. n This is achieved by deploying the tested node as a single point and the other nodes as a cluster.
[0052] Based on the same idea, a second test link can be constructed for node B, such as... Figure 4 As shown, the third test link for node C is as follows: Figure 5 As shown, it will not be described in detail here.
[0053] To test the maximum throughput of the test link, a stress test can be performed. Step S230 is executed to perform a stress test on each test link separately, and the obtained stress limit value is taken as the capacity of the service module deployed on the corresponding tested node.
[0054] Because the node under test is intentionally designated as the bottleneck node in the test link constructed based on the link model, the maximum throughput of the test link is equal to the capacity of the node under test. This manual does not restrict the construction and stress testing order of the first, second, and third test links.
[0055] After obtaining the capacity of each business module, the capacity of each node can be balanced. Specifically, this can be achieved by adjusting the number of business modules deployed. Therefore, step S240 can be executed to determine the number of business modules deployed on each node based on the capacity of each business module.
[0056] If we consider the initial state as having only one business module deployed on each node, then step S240 is equivalent to "expanding" the capacity of each node. Of course, there may also be situations where certain nodes use business modules with larger capacities, so there is no need to expand the capacity of the corresponding nodes.
[0057] Step S250: Based on the deployment volume of business modules and the link model, construct the business processing platform. During this process, the deployment volume of business modules can be further adjusted, and platform-level testing can be conducted. Ultimately, the business processing platform is formed by constructing several business links.
[0058] visible, Figure 2 The method shown first constructs a link model containing multiple nodes, and then tests the capacity of the business modules used by each node through stress testing. This determines the deployment quantity of business modules for each node, ensuring that there are no bottleneck nodes in the constructed business link that significantly hinder traffic. As a result, the business processing resources provided by the constructed business processing platform can be utilized more reasonably, which not only meets the actual business needs but also saves computing equipment costs and reduces resource waste.
[0059] In some embodiments, stress testing is performed on each test link separately, including: performing multiple rounds of stress testing on each test link and monitoring the operation of the service modules deployed on the corresponding tested node during each round of stress testing; increasing the traffic input to the test link in each round of stress testing; terminating the multiple rounds of stress testing when the monitored operation matches the preset conditions, and recording the traffic value used in that round as the stress limit value. In some embodiments, the preset conditions include: the computing resource usage reaches a usage threshold, and / or the output latency of the service module reaches a latency threshold.
[0060] Taking the test of the first test link as an example, the stress test steps may include steps S610 to S650.
[0061] In step S610, the first test traffic is first identified. Then, step S620 is executed, whereby the first test traffic is input into the first test link to obtain the first output of the first test link. Next, step S630 is executed, whereby, based on the first output, it is determined whether the first test traffic exceeds the processing capacity of node A. This processing capacity can be determined based on whether the computing resource usage of service module a reaches a usage threshold, and / or whether the output latency of service module a reaches a latency threshold.
[0062] If the judgment result is negative, then proceed to step S640, increase the first test traffic, and input the first test link again until the judgment result is positive.
[0063] If the judgment result is yes, then proceed to step S650, taking the current first test traffic as the stress limit value, which is the capacity of business module a. Then the stress test can be terminated.
[0064] In some embodiments, determining the number of service modules deployed on each node based on the capacity of each service module includes: calculating the least common multiple of the capacity of each service module as the upper limit of the link traffic; and dividing the upper limit of the link traffic by the capacity of each service module to obtain the number of service modules deployed on each node.
[0065] For example, in the aforementioned embodiment, it has been determined that the capacity of business module a is 1 unit, the capacity of business module b is 3 units, and the capacity of business module c is 2 units. The determined least common multiple is 6, therefore the link traffic limit is 6 units; the deployment quantity of business modules at node A is 6 ÷ 1 = 6, the deployment quantity of business modules at node A is 6 ÷ 3 = 2, and the deployment quantity of business modules at node A is 6 ÷ 2 = 3. The business link constructed according to this embodiment is as follows: Figure 7 As shown.
[0066] In some embodiments, the capacity of the service modules used by the target node may be much larger than the capacity of the service modules used by other nodes in the link model. For example, if the least common multiple of the capacities of the target node's service modules is close to that of other service modules, then the capacity of the target node's service modules can be disregarded, and the least common multiple of the others can be calculated first. This way, even if the calculated least common multiple differs from the capacity of the target node's service modules, the impact is small, and resources are saved compared to calculating the least common multiple of all services. Alternatively, the capacity of the service modules used by the target node can be used as a base value, and then a preset value can be successively added to the base value as a target value. Then, for each node, the remainder between the target value and the capacity of the service modules used is calculated to see if it is less than a preset calculation threshold. If it is, the quotient of the target value divided by the capacity of each service module is the service module deployment quantity. If the judgment result for at least one node is negative, the next accumulation continues.
[0067] Generally speaking, the processing capabilities of the business modules used by each node in a link model will not differ so drastically, meaning that the deployment quantity of business modules can be determined by using the least common multiple method.
[0068] However, in business scenarios, there are some general-purpose services, such as databases and encryption machines, that can be used by multiple applications. These are usually referred to as middleware. The processing capacity of middleware is usually greater than that of the business modules used in the nodes. Therefore, it is advisable to test the capacity of the middleware after determining the upper limit of the link traffic to avoid the middleware becoming a bottleneck.
[0069] In some embodiments, a business processing platform is constructed based on the deployment volume of business modules and the link model, including: performing stress tests on the middleware under test based on the link traffic limit, and determining the link expansion parameters based on the stress test results; constructing a business link based on the link expansion parameters, the deployment volume of business modules, and the link model; and constructing a business processing platform based on the business link and the middleware under test.
[0070] In the embodiments of this application, the business modules used by the nodes can be components such as Hive, Storm, etc.; the middleware can be Kafka, encryption machines, databases, etc.
[0071] If each business model builds a business link, the middleware can connect to multiple business links. However, if the traffic limit of each business link is small, while the capacity of the middleware is large, insufficient resource utilization will still occur. Therefore, further stress testing can be performed, and the stress testing method can refer to the aforementioned embodiment.
[0072] Of course, the middleware can also be constructed as a node in the link model, referring to the aforementioned embodiments. Since the specific performance of the business processing capabilities of components and middleware differs, the process in this specification adopts different judgment strategies for components and middleware when executing step S630.
[0073] Specifically:
[0074] Given that the target node is a component, the operating status of the component is obtained; if at least one of the component's operating status and the first output is abnormal, it is determined that the first test traffic exceeds the processing capacity of the component under rated capacity. The component's operating status can be obtained through detection.
[0075] If the delay of the first output exceeds a preset delay threshold, and the target node is middleware, then it is determined that the first test traffic exceeds the processing capacity of the middleware under rated capacity.
[0076] As can be seen, the process in this specification adopts different processing capability judgment methods for different types of nodes, which can improve the accuracy of the process in this specification and also improve the adaptability of the process in this specification to different scenarios.
[0077] In this embodiment, different processing capacity assessment methods are adopted for different types of nodes, but there are no special requirements for the order in which the capacity is determined for different types of nodes. In real-world scenarios, where a link includes both components and middleware, the service processing capacity of the link may be more significantly affected by the components than by the middleware. Therefore, it is advisable to first determine the upper limit of the link traffic for each link, and then perform stress testing on the middleware under test based on the upper limit of the link traffic.
[0078] Specifically, in some embodiments, stress testing is performed on the middleware under test based on the link traffic limit, and link expansion parameters are determined based on the stress test results. This includes: performing multiple rounds of stress testing on the middleware under test and monitoring its operation during each round of stress testing; increasing the traffic input to the middleware under test round by round, with each round's traffic being an integer multiple of the link traffic limit; terminating the multiple rounds of stress testing when the monitored operation matches a preset condition, and obtaining the link expansion parameters by dividing the traffic used in that round by the link traffic limit; and constructing a business link based on the link expansion parameters, the number of business modules deployed, and the link model. This includes: multiplying the link expansion parameters by the number of business modules deployed to obtain the expanded number of business modules deployed; and constructing the business link based on the expanded number of business modules deployed and the link model.
[0079] In some embodiments, the step of stress testing the intermediate component under test may include steps S710 to S750.
[0080] In step S710, it is first determined that the second test traffic is equal to 1(n) times the link traffic limit. Then, step S720 is executed, inputting the second test traffic into the middleware under test to obtain the second output of the middleware under test. Next, step S730 is executed, and based on the second output, it is determined whether the second test traffic exceeds the processing capacity of the middleware under test. For example, the maximum synchronization capacity of a single database is tested to assess how many databases can meet the data synchronization latency under the expected peak transaction volume; peak capacity testing is performed on a single encryption machine to assess whether the overall system can meet the target transaction volume concurrency. This processing capacity can be determined based on whether the output latency reaches a latency threshold.
[0081] If the judgment result is negative, then execute step S740, increase the second test traffic to 2(n+1) times the link traffic limit, and input the middleware under test again until the judgment result is positive.
[0082] If the judgment result is yes, then proceed to step S750, using the current second test flow rate as the stress limit value. The stress test can then be terminated.
[0083] If the second test traffic used when the stress test ends is n times the link traffic limit, then the link expansion parameter is n. This essentially treats the multiple service modules corresponding to the original link capacity limit as a whole; this application refers to this whole as a set, and then replicates this set n times according to the link expansion parameter.
[0084] In real-world business scenarios, even a single middleware point may not be able to meet the actual needs, in which case another expansion can be performed.
[0085] For example, the business link consists of the expanded node A (containing business modules a1 to a2). 12 The system consists of nodes B (containing business modules b1-b4) and C (containing business modules c1-c6), adapted to middleware K. The middleware throughput is 12 units, meaning one middleware K corresponds to two sets. Assuming the expected business traffic is 72 units, and 6 middlewares are needed to meet the business requirements, the business chain can be expanded to 6 times, using business modules a1-a6. 72 Build node A, business modules b1~b 24 Build node B, business modules c1~c 36 Build node C, which means using 12 sets.
[0086] However, it's important to note that although the set is copied multiple times, the nodes remain independent of each other. The final business processing platform will look like this. Figure 10 As shown, the business link (node A - node B - node C) is connected to middleware K, forming a complete link. It's understandable that the platform architecture in real-world business scenarios will be more complex, but it can still be implemented based on the same concept, and will not be described in detail here.
[0087] In some embodiments, constructing the business processing platform based on the deployment volume of the business modules and the link model includes: multiplying the deployment volume of the business modules by several preset ratios to obtain the deployment volume of the business modules in several test versions; constructing the corresponding test version of the business processing platform based on the deployment volume of the business modules in each test version; performing stress tests on each test version of the business processing platform and monitoring the operation of the business processing platform in each round of stress tests; analyzing the operation status and the preset ratios; adjusting the deployment volume of the business modules based on the analysis results; and constructing the business processing platform based on the adjusted deployment volume of the business modules and the link model.
[0088] In real-world business processing scenarios, the performance of a business processing platform is affected not only by the link itself but also by the platform's operating environment and the coordination between nodes. Therefore, a business processing platform obtained through the aforementioned process may experience malfunctions at certain nodes (including at least one component or middleware). This is especially true when the link is serial, where the impact is more pronounced. Thus, it is necessary to determine the impact of factors other than the nodes themselves on link performance; in other words, full-link testing is essential.
[0089] For example, 1 / 4 and 1 / 2 of the resources are used respectively to build the test version of the business processing platform. Specifically, business modules a1 to a2 are used. 18 Node A is built, business modules b1-b6 build node B, and business modules c1-c9 build node C, resulting in test version 1; using business modules a1-a... 36 Build node A, business modules b1~b 12 Build node B, business modules c1~c 18 Node C is constructed to obtain test version 2. Then, stress tests are performed on both test versions of the business processing platform. Theoretically, if 1 / 4 or 1 / 2 of the resources are used, the business processing capacity of the platform should be 1 / 4 or 1 / 2 of the expected capacity, exhibiting a linear relationship. If discrepancies exist, some nodes or links can be retested, and the deployment volume of business modules can be adjusted to avoid resource waste or bottlenecks.
[0090] After the business processing platform is built, it can be verified in a production environment, and the deployment volume of business modules can be adjusted based on the actual performance.
[0091] Secondly, embodiments of this application also provide a business processing platform construction apparatus, wherein the apparatus is used to implement any of the methods shown in the first aspect.
[0092] In some embodiments, the business processing platform construction apparatus includes: a model construction unit 810, used to construct a link model containing multiple nodes; a link construction unit 820, used to construct test links corresponding to the test nodes based on the link model, with each node as a node under test; in the test links, each node under test deploys a business module, and each node other than the test node deploys one or more business modules, such that the business processing capability of the test node is lower than the business processing capability of other nodes in the test link; a testing unit 830, used to perform stress tests on each test link, and use the obtained stress limit value as the capacity of the business module deployed on the corresponding test node; a determination unit 840, used to determine the number of business modules deployed on each node based on the capacity of each business module; and a platform construction unit 850, used to construct a business processing platform based on the number of business modules deployed and the link model.
[0093] In some embodiments, the test unit 830 is used to perform multiple rounds of stress testing on each test link and monitor the operation of the service modules deployed on the corresponding tested node during each round of stress testing; the traffic input into the test link during the multiple rounds of stress testing increases round by round; when the monitored operation matches the preset condition, the multiple rounds of stress testing are terminated, and the value of the traffic used in that round is recorded as the stress limit value.
[0094] In some embodiments, the preset conditions include: the computing resource usage reaches a usage threshold, and / or the output latency of the business module reaches a latency threshold.
[0095] In some embodiments, the determining unit 840 is used to calculate the least common multiple of the capacity of each service module as the upper limit of the link traffic; and divide the upper limit of the link traffic by the capacity of each service module to obtain the number of service modules deployed at each node.
[0096] In some embodiments, the testing unit 830 is further configured to perform stress testing on the middleware under test based on the link traffic limit, and determine the link expansion parameters based on the stress test results; the platform construction unit is configured to construct the business link based on the link expansion parameters, the number of business modules deployed, and the link model; and construct the business processing platform based on the business link and the middleware under test.
[0097] In some embodiments, the testing unit 830 is used to perform multiple rounds of stress testing on the middleware under test and monitor the operation of the middleware under test during each round of stress testing; the traffic input to the middleware under test in the multiple rounds of stress testing increases sequentially, and the traffic in each round is an integer multiple of the link traffic limit; when the monitored operation matches the preset situation, the multiple rounds of stress testing are terminated, and the link expansion parameter is obtained by dividing the value of the traffic used in the current round by the link traffic limit; the platform construction unit 850 is used to multiply the link expansion parameter by the number of business modules deployed to obtain the expanded number of business modules deployed; and to construct the business link based on the expanded number of business modules deployed and the link model.
[0098] In some embodiments, the testing unit 830 is further configured to perform multiple rounds of stress testing on the business processing platform and monitor the operation of the business processing platform during each round of stress testing; wherein the traffic input to the business processing platform in each round of stress testing follows a preset linear relationship; the platform construction unit 850 is further configured to perform linear analysis on the operation and adjust the number of each business module actually deployed in the business processing platform according to the difference between the linear analysis result and the linear relationship.
[0099] It is understood that the above-mentioned business processing platform construction apparatus can implement each step of the business processing platform construction method provided in the foregoing embodiments. The relevant explanations of the business processing platform construction method are applicable to the business processing platform construction apparatus, and will not be repeated here.
[0100] Figure 9 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Please refer to it. Figure 9 At the hardware level, the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and memory. The memory may include main memory, such as high-speed random-access memory (RAM), or non-volatile memory, such as at least one disk drive. Of course, the electronic device may also include other hardware required for other business operations.
[0101] The processor, network interface, and memory can be interconnected via an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 9 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.
[0102] Memory is used to store programs. Specifically, programs may include program code, which includes computer operation instructions. Memory may include main memory and non-volatile memory, and provides instructions and data to the processor.
[0103] The processor reads the corresponding computer program from non-volatile memory into main memory and then runs it, forming one of the aforementioned business processing platform construction devices at the logical level. The processor executes the program stored in memory and specifically performs the following operations:
[0104] Construct a link model that includes multiple nodes;
[0105] Each node is designated as a node under test, and a test link corresponding to the node under test is constructed according to the link model. In the test link, the node under test is deployed with one business module, and each node other than the node under test is deployed with one or more business modules, so that the business processing capability of the node under test is lower than that of other nodes in the test link.
[0106] Each test link is subjected to stress test, and the obtained stress limit value is used as the capacity of the business module deployed on the corresponding tested node;
[0107] The number of business modules deployed on each node is determined based on the capacity of each business module.
[0108] The business processing platform is constructed based on the deployment volume of the business modules and the link model.
[0109] The above is as stated in this application. Figure 2The methods executed by any of the business processing platform construction apparatuses disclosed in the illustrated embodiments can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.
[0110] The electronic device can also perform Figure 2 The method executed by the business processing platform construction device, and the implementation of the business processing platform construction device in Figure 8 The embodiments shown herein contain at least some of the functionalities, which will not be repeated here.
[0111] This application also proposes a computer-readable storage medium that stores one or more programs, the programs including instructions that, when executed by an electronic device including multiple applications, enable the electronic device to perform... Figure 2 The method executed by the business processing platform construction device, and specifically used for execution:
[0112] Construct a link model that includes multiple nodes;
[0113] Each node is designated as a node under test, and a test link corresponding to the node under test is constructed according to the link model. In the test link, the node under test is deployed with one business module, and each node other than the node under test is deployed with one or more business modules, so that the business processing capability of the node under test is lower than that of other nodes in the test link.
[0114] Each test link is subjected to stress test, and the obtained stress limit value is used as the capacity of the business module deployed on the corresponding tested node;
[0115] The number of business modules deployed on each node is determined based on the capacity of each business module.
[0116] The business processing platform is constructed based on the deployment volume of the business modules and the link model.
[0117] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0118] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0119] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0120] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0121] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0122] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0123] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0124] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0125] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0126] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A method of building a business processing platform, wherein, The method includes: Construct a link model that includes multiple nodes; Each node is designated as a node under test, and a test link corresponding to the node under test is constructed according to the link model. In the test link, the node under test is deployed with one business module, and each node other than the node under test is deployed with one or more business modules, so that the business processing capability of the node under test is lower than that of other nodes in the test link. Each test link is subjected to stress test, and the obtained stress limit value is used as the capacity of the business module deployed on the corresponding tested node; The number of business modules deployed on each node is determined based on the capacity of each business module. Based on the deployment volume of the business modules and the link model, the business processing platform is constructed; Different test links are constructed by different nodes under test, and the capacity is used to reflect the ability to process traffic; The process of determining the number of business modules deployed on each node based on the capacity of each business module includes: Calculate the least common multiple of the capacity of each business module as the upper limit of the link traffic; Divide the upper limit of the link traffic by the capacity of each service module to obtain the number of service modules deployed on each node.
2. The method of claim 1, wherein, The stress test performed on each test link includes: Multiple rounds of stress testing are performed on each test link, and the operation of the business modules deployed on the corresponding tested nodes is monitored during each round of stress testing; the traffic input into the test link during the multiple rounds of stress testing increases in turn. When the monitored operating conditions match the preset conditions, the multi-round stress test is terminated, and the flow rate used in that round is recorded as the stress limit value.
3. The method of claim 2, wherein, The preset conditions include: the usage of computing resources reaches the usage threshold, and / or the output delay of the business module reaches the delay threshold.
4. The method of claim 1, wherein, The step of constructing the business processing platform based on the deployment volume of the business modules and the link model includes: The middleware under test is stress-tested based on the link traffic limit, and the link expansion parameters are determined based on the stress test results. Based on the link expansion parameters, the deployment volume of the business modules, and the link model, a business link is constructed; The business processing platform is constructed based on the business link and the middleware under test.
5. The method of claim 4, wherein, The step of stress testing the middleware under test based on the link traffic limit and determining the link expansion parameters based on the stress test results includes: Multiple rounds of stress testing are performed on the middleware under test, and the operation of the middleware under test is monitored during each round of stress testing; the traffic input into the middleware under test during the multiple rounds of stress testing increases in turn, and the traffic in each round is an integer multiple of the upper limit of the link traffic. When the monitored operating conditions match the preset conditions, the multi-round stress test is terminated, and the link expansion parameters are obtained by dividing the value of the traffic used in the current round by the link traffic limit. The step of constructing a business link based on the link expansion parameters, the deployment volume of the business modules, and the link model includes: The expanded service module deployment quantity is obtained by multiplying the link expansion parameters by the service module deployment quantity; The business link is constructed based on the expanded deployment volume of business modules and the link model.
6. The method of claim 1, wherein, The step of constructing the business processing platform based on the deployment volume of the business modules and the link model includes: Multiply the number of business modules deployed by several preset ratios to obtain the number of business modules deployed in several test versions. Based on the number of business modules deployed in each test version, construct the corresponding test version of the business processing platform. Stress tests were conducted on each test version of the business processing platform, and the operation of the business processing platform was monitored during each round of stress tests. The operational status and the preset ratio are analyzed, and the deployment volume of the business modules is adjusted according to the analysis results. The business processing platform is then constructed based on the adjusted deployment volume of the business modules and the link model.
7. A service processing platform building apparatus, wherein, The apparatus is used to perform the method according to any one of claims 1 to 6.
8. An electronic device, comprising: processor; as well as A memory configured to store computer-executable instructions, which, when executed, cause the processor to perform the method of any one of claims 1 to 6.
9. A computer-readable storage medium storing one or more programs, which, when executed by an electronic device including a plurality of applications, cause the electronic device to perform the method of any one of claims 1 to 6.
Citation Information
Patent Citations
Pressure testing method and device based on cloud service
CN113037594A
Deployment system and method of big data platform
CN114443293A