Online model development method, system and control method based on distributed operators
Patent Information
- Application Number
- CN202211280137.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-19
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2042-10-19
AI Technical Summary
[0007]基于此,有必要针对传统分布式应用的开发方法不能够同时解决开发周期长、开发成本高、部署代价大、运行效率低的问题,提供一种基于分布式算子的在线模型开发方法、系统与控制方法
[0061] This application relates to an online model development method, system, and control method based on distributed operators. Multiple distributed service operators are linked together using a scripting language to form an online model. An online model engine assembles and deploys the model in a distributed environment based on the dependencies and performance requirements between operators. During runtime, the online model engine pushes requirements to the online model, coordinates the input, execution, and output of each operator, and returns the overall model result to the caller. This application reduces the complexity and difficulty of distributed application development by relying on online models, and the self-assembly method effectively improves execution efficiency, enabling rapid development, deployment, and readiness of complex distributed applications.
Smart Images

Figure CN115617330B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to an online model development method, system and control method based on distributed operators. Background Technology
[0002] A distributed application refers to an application that is distributed across different computers and works together over a network to complete a task. It requires rapid readiness and high performance.
[0003] Traditional solutions typically employ custom development methods or microservices to develop distributed applications.
[0004] However, custom development methods involve various types of distributed storage solutions, computing solutions, and different technology stacks, which place high demands on architects and developers, resulting in long development cycles, high costs, and high maintenance difficulties. At the same time, it is difficult to guarantee comprehensive indicators such as performance.
[0005] Microservices, due to their diverse requirements, make it difficult to design universally applicable components. Furthermore, when multiple microservices support the same service simultaneously, the granularity is too coarse, resulting in low flexibility and placing high demands on developers' technical skills and increasing deployment costs. Microservices also utilize numerous storage engines. When deploying a new feature, existing features need to be disabled, and microservice APIs must be called, making modifications inconvenient. General-purpose microservice frameworks suffer from significant issues in distributed resource scheduling and assurance, leading to low resource utilization and compromised service quality.
[0006] Existing methods for developing distributed applications cannot simultaneously solve the problems of long development cycles, high development costs, high deployment costs, and low operating efficiency. Summary of the Invention
[0007] Therefore, it is necessary to provide an online model development method, system, and control method based on distributed operators to address the problems that traditional distributed application development methods cannot simultaneously solve, such as long development cycles, high development costs, high deployment costs, and low operating efficiency.
[0008] This application provides an online model development method based on distributed operators, the method comprising:
[0009] Generate at least one service operator based on service requirements;
[0010] Online development of the online model is based on at least one service operator and the database;
[0011] The developed online model is published to the online model engine on the deployment environment server.
[0012] Furthermore, generating at least one service operator based on service requirements includes:
[0013] Register components on the Zookeeper server according to service requirements;
[0014] The deployment environment server checks every first preset time interval whether a new component has been registered on the Zookeeper server;
[0015] If a new component is registered on the Zookeeper server, a new service corresponding to the registered new component will be added to the online model service list;
[0016] Start the operator development platform in the deployment environment server, load the new service, and retrieve the service data corresponding to the new service from the database;
[0017] In the operator development platform, service operators are created based on the service data corresponding to the new service;
[0018] Publish the service operator to the service operator pool.
[0019] Furthermore, the registration of components on the Zookeeper server includes:
[0020] Create a component based on service requirements;
[0021] Deploy a first redundant server, a second redundant server, and a third redundant server on the component;
[0022] Generate a ZNode directory node on the Zookeeper server to register the component on the Zookeeper server;
[0023] Establish communication connections between the Zookeeper server and the first redundant server, the second redundant server, and the third redundant server, respectively.
[0024] Establish communication connections between the database and the first redundant server, the second redundant server, and the third redundant server.
[0025] Furthermore, the component registration on the Zookeeper server also includes:
[0026] The communication relationship between the ZNode directory node and the Zookeeper server is checked at preset time intervals to determine whether the communication between the ZNode directory node and the Zookeeper server is disconnected.
[0027] If communication between the ZNode directory node and the Zookeeper server is disconnected, then the ZNode directory node on the Zookeeper server will be deleted.
[0028] Furthermore, after generating a ZNode directory node on the Zookeeper server, registering the component on the Zookeeper server further includes:
[0029] Generate three child nodes belonging to the ZNode directory node. The three child nodes are redundant with each other. Each child node records the server IP, port information and URI that it points to.
[0030] Furthermore, the online development of the online model based on the at least one service operator and the database includes:
[0031] Each service operator is run sequentially on the online model development platform of the deployment environment server to obtain the service data obtained by each service operator from the database;
[0032] Based on the service data obtained from the database for each service operator, the NumPy scientific computing library is called to calculate multiple service metrics;
[0033] Create an online model, input the service data and all service metrics obtained from the database for each service operator as training data into the online model, and train the online model;
[0034] The trained online model is used as the developed online model.
[0035] This application also provides an online model development system based on distributed operators, including:
[0036] Zookeeper server;
[0037] Deploy an environment server and establish a communication connection with the Zookeeper server for performing the online model development method mentioned above;
[0038] At least one redundant server cluster, each redundant server cluster corresponding to a component, the redundant server cluster including multiple redundant servers, each redundant server communicating with the Zookeeper server;
[0039] The database is communicatively connected to each of the redundant servers and also communicatively connected to the deployment environment server.
[0040] At least one online model is hosted on the deployment environment server.
[0041] Furthermore, the deployment environment server includes an operator development platform, a model development platform, and an online model engine; the at least one online model is mounted in the online model engine.
[0042] This application also provides a control method for an online model based on distributed operators, applied to the online model in the aforementioned online model development system based on distributed operators. The control method for the online model based on distributed operators includes:
[0043] Determine if an online model execution request has been received;
[0044] If an online model execution request is received, the request will be forwarded to the online model engine on the deployment environment server.
[0045] Based on the online model execution request, parse the Python script corresponding to the online model execution request and generate at least one Python object;
[0046] The Java-JEP module within the online model engine converts each Python object into a Java intermediate object;
[0047] The Java-JEP module within the online model engine transforms each Java intermediate object into a Java result object;
[0048] Determine whether all Java result objects have been successfully generated;
[0049] If all Java result objects are generated successfully, a token is generated.
[0050] This application also provides a control method for an online model based on distributed operators, applied to the online model in the aforementioned online model development system based on distributed operators. The control method for the online model based on distributed operators includes:
[0051] This application also provides a control method for an online model based on distributed operators, applied to the online model in the aforementioned online model development system based on distributed operators. The control method for the online model based on distributed operators includes:
[0052] Determine if an online model execution request has been received;
[0053] If an online model running request is received, the online model running request is parsed to determine whether the online model running request includes multiple online model running sub-requests;
[0054] If an online model run request includes multiple online model run sub-requests, then the model network data file is read from the database;
[0055] Read all online models that do not have an upstream model from the model network data file;
[0056] Run all online models in the model network data file that do not have an upstream model;
[0057] Run each online model sequentially according to the upstream model-downstream model order in the model network data file;
[0058] When a downstream model of an online model is running, determine whether all the tokens required for the operation of the downstream model of the online model have been generated.
[0059] If all the tokens required for the operation of the downstream model of the online model have been generated, then consume all the tokens required for the operation of the downstream model of the online model and run the downstream model of the online model.
[0060] If the tokens required by the downstream model of the online model without an upstream model are incomplete, then return to the step of determining whether all tokens required for the operation of the downstream model of the online model have been generated.
[0061] This application relates to an online model development method, system, and control method based on distributed operators. Multiple distributed service operators are linked together using a scripting language to form an online model. An online model engine assembles and deploys the model in a distributed environment based on the dependencies and performance requirements between operators. During runtime, the online model engine pushes requirements to the online model, coordinates the input, execution, and output of each operator, and returns the overall model result to the caller. This application reduces the complexity and difficulty of distributed application development by relying on online models, and the self-assembly method effectively improves execution efficiency, enabling rapid development, deployment, and readiness of complex distributed applications. Attached Figure Description
[0062] Figure 1 A flowchart illustrating an online model development method based on distributed operators, provided as an embodiment of this application.
[0063] Figure 2 This is a schematic diagram of the structure of an online model development system based on distributed operators provided in an embodiment of this application.
[0064] Figure 3 A flowchart illustrating a control method for an online model based on distributed operators, provided as an embodiment of this application.
[0065] Figure 4 A flowchart of a control method for an online model based on distributed operators, provided in another embodiment of this application.
[0066] Figure 5 This is a schematic diagram of the model network data file in the control method of an online model based on distributed operators provided in an embodiment of this application.
[0067] Figure label:
[0068] 100 - Zookeeper server; 200 - Deployment environment server; 210 - Online model;
[0069] 300 - Redundant server cluster; 310 - Redundant server; 400 - Database. Detailed Implementation
[0070] 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.
[0071] This application provides an online model development method based on distributed operators. It should be noted that the online model development method based on distributed operators provided in this application can be applied to any type of service requirement and service scenario.
[0072] Furthermore, the online model development method based on distributed operators provided in this application does not limit the executing entity. Optionally, the executing entity of the online model development method based on distributed operators provided in this application can be an online model development system based on distributed operators. Specifically, the executing entity of the online model development method based on distributed operators provided in this application can be the deployment environment server in the online model development system based on distributed operators.
[0073] like Figure 1 As shown, in one embodiment of this application, the online model development method based on distributed operators includes the following steps S100 to S300:
[0074] S100, generate at least one service operator based on service requirements.
[0075] S200, online development of the online model based on the at least one service operator and the database.
[0076] S300 publishes the developed online model to the online model engine on the deployment environment server.
[0077] Specifically, using operators for online development of distributed applications offers finer granularity and easier modification. Unlike microservices that require API calls, this application does not require API calls and therefore does not need to develop an API protocol.
[0078] In S100, different operator definition methods are used to define and generate service operators for different service requirements.
[0079] For example, if we need to develop a distributed application that can be used for enterprise risk assessment, then we need to define service operators for enterprise risk assessment.
[0080] Service operators are analogous to addition, subtraction, multiplication, and division in mathematics; they contain numerous algorithms that represent methods for manipulating data. The functions that service operators can perform include basic functionalities. For example, if the service requirement is enterprise risk assessment, basic functionalities would include querying, such as retrieving the enterprise's financial information.
[0081] Service operators can also perform data processing functions, including removing errors from the data and data normalization.
[0082] In one embodiment of this application, S100 includes the following S100 to S134:
[0083] S110 registers components on the Zookeeper server according to service requirements.
[0084] S120, the deployment environment server checks every first preset time interval whether a new component has been registered on the Zookeeper server.
[0085] S131. If a new component is registered on the Zookeeper server, a new service corresponding to the registered new component will be added to the online model service list.
[0086] S132, Start the operator development platform in the deployment environment server, load the new service, and obtain the service data corresponding to the new service from the database.
[0087] S133, In the operator development platform, create a service operator based on the service data corresponding to the new service.
[0088] S134, publish the service operator to the service operator pool.
[0089] Specifically, ZooKeeper is a distributed service framework, a sub-project of Apache Hadoop. It primarily addresses common data management issues encountered in distributed applications, such as unified naming services, state synchronization services, cluster management, and management of distributed application configuration items. This embodiment establishes a ZooKeeper server, registering components on the ZooKeeper server according to service requirements. Simultaneously, the deployment environment server monitors the ZooKeeper server in real time to see if any new components are registered.
[0090] In one embodiment of this application, S110 includes the following S111 to S115:
[0091] S111, create a component based on service requirements.
[0092] Specifically, taking service demand as an example for enterprise risk assessment, the specific steps to create a component may include:
[0093] S111a, acquires a large amount of enterprise information and investment and financing information data on the Internet as raw enterprise data.
[0094] S111b cleanses and loads this raw enterprise data into databases. These databases include HBase and JanusGraph. HBase stores basic service data, while JanusGraph stores knowledge graph-based service data.
[0095] Optionally, the HBase database may store one or more of the following: company name, unified social credit code, legal representative, operating status, registered capital, paid-in capital, company profile, changes in company operations, court judgments, abnormal operations, administrative penalties, equity pledges, movable property mortgages, business scope, and company introduction.
[0096] Optionally, the JanusGraph graph database stores one or more of the following: a company's investment and financing relationships, patent ownership relationships, national standards, and industry standard ownership relationships.
[0097] S111c defines and develops components based on service requirements, generating the components.
[0098] For example, by executing S111a to S111c, component A is generated. Component A is the basic query component, which provides the function of querying information about various enterprises in the HBase database.
[0099] For example, by executing S111a to S111c, component B is generated. Component B is an investment and financing relationship query component, which provides the function of querying the investment and financing relationships between various companies based on the JanusGraph graph database.
[0100] S112, deploy a first redundant server, a second redundant server, and a third redundant server on the component.
[0101] Specifically, if multiple components are generated, then each component deploys a first redundant server, a second redundant server, and a third redundant server. This results in high server redundancy, creating a layered structure, making the system flexible, easy to maintain, and convenient for horizontal scaling.
[0102] S113, Generate a ZNode directory node on the Zookeeper server to register the component on the Zookeeper server.
[0103] Specifically, ZNode directory nodes can be freely deleted and added.
[0104] S114: Establish communication connections between the Zookeeper server and the first redundant server, the second redundant server, and the third redundant server, respectively.
[0105] S115, establish communication connections between the database and the first redundant server, the second redundant server, and the third redundant server respectively.
[0106] Specifically, this embodiment deploys three redundant servers: a first redundant server, a second redundant server, and a third redundant server. This ensures that if any one redundant server fails, the other redundant servers can continue to operate, facilitating maintenance and enabling easy horizontal scaling.
[0107] In one embodiment of this application, S110 further includes the following S116 to S117:
[0108] S116, every preset time interval, detect the communication relationship between the ZNode directory node and the Zookeeper server, and determine whether the communication between the ZNode directory node and the Zookeeper server is disconnected.
[0109] S117. If the communication between the ZNode directory node and the Zookeeper server is disconnected, then delete the ZNode directory node on the Zookeeper server.
[0110] Specifically, this step involves maintaining the status of the ZNode directory nodes in real time. Optionally, the preset time period in S116 is 8 seconds.
[0111] In one embodiment of this application, after generating a ZNode directory node on the Zookeeper server in step S113, the method further includes:
[0112] Generate three child nodes belonging to the ZNode directory node. The three child nodes are redundant with each other. Each child node records the server IP, port information and URI that it points to.
[0113] Specifically, a URI (Uniform Resource Identifier) represents every available resource on the web. For example, HTML documents, images, video clips, and programs are all identified by a single URI.
[0114] An example of a URI:
[0115] https: / / blog.csdn.net / qq_32595453 / article / details / 79516787.
[0116] We can explain it like this:
[0117] This is a resource accessible via HTTPS, located on the host blog.csdn.net. It can be uniquely identified by " / qq_32595453 / article / details / 79516787".
[0118] In one embodiment of this application, S200 includes the following S210 to S240:
[0119] S210 runs each service operator sequentially on the online model development platform of the deployment environment server, obtaining the service data retrieved by each service operator from the database.
[0120] Specifically, for example, the service requirement is enterprise risk assessment. On an online model development platform with a deployment environment server, the enterprise query operator is run to obtain basic information of each enterprise among multiple enterprises, such as enterprise operation changes, court documents, operational abnormalities, administrative penalties, equity pledges, and movable property mortgages.
[0121] On the online model development platform with the deployment environment server, model developers run enterprise investment and financing operators to obtain information such as investment and financing relationships between different enterprises, equity ownership, equity penetration, and related companies.
[0122] S220 uses the service data obtained from the database for each service operator to call the NumPy scientific computing library to calculate multiple service metrics.
[0123] Specifically, continuing the example above, on the online model development platform deployed on the environment server, data obtained through enterprise query operators and enterprise investment and financing operators are used to calculate different information assessment scores for each enterprise, including business risk, legal risk, operational risk, and credit risk, through online Python programming and pre-configured model algorithms, and by calling the NumPy scientific computing library. These scores are then categorized as high-risk, medium-risk, and low-risk. These different information assessment scores for each enterprise, along with the high-risk, medium-risk, and low-risk categories, constitute multiple service indicators.
[0124] S230, Create an online model by inputting the service data and all service metrics obtained from the database for each service operator into the online model as training data, and train the online model.
[0125] S240 uses the trained online model as the developed online model.
[0126] Specifically, these service indicators are used as training data and input into the online model. After training the online model, it can automatically perform enterprise risk assessment.
[0127] Following S240, online models can be published to the online model engine with a single click. In addition to being stored on the deployment environment server, the online model is also stored in a MySQL database. This online development and one-click publishing functionality significantly improves the efficiency of online model development.
[0128] This application also provides an online model development system based on distributed operators.
[0129] like Figure 2 As shown, in one embodiment of this application, the online model development system based on distributed operators includes a Zookeeper server 100, a deployment environment server 200, at least one redundant server cluster 300, a database 400, and at least one online model 210.
[0130] A deployment environment server 200 is communicatively connected to the Zookeeper server 100. The deployment environment server 200 is used to execute the online model development method based on distributed operators as described above. Each redundant server cluster 300 corresponds to a component, and the redundant server cluster 300 includes multiple redundant servers 310. Each redundant server 310 is communicatively connected to the Zookeeper server 100. The database 400 is communicatively connected to each of the redundant servers 310, and the database 400 is also communicatively connected to the deployment environment server 200. The online model 210 is hosted on the deployment environment server 200.
[0131] Specifically, it should be noted that, for the sake of brevity, all systems, devices, equipment, and other structures mentioned in this application are labeled in the relevant embodiments of the online model development system based on distributed operators, but are not labeled in the relevant embodiments of the online model development method based on distributed operators and the control method based on the online model based on distributed operators.
[0132] In one implementation, database 400 includes an HBase database and a JanusGraph graph database. The HBase database communicates with each redundant server 310. The HBase database is used to store basic service data. The JanusGraph graph database communicates with the deployment environment server 200. The JanusGraph graph database is used to store knowledge graph-type service data.
[0133] In one embodiment of this application, the deployment environment server 200 includes an operator development platform, a model development platform, and an online model engine. The at least one online model 210 is mounted within the online model engine.
[0134] Specifically, the deployment environment server 200 is developed using the Java language.
[0135] This application also provides a control method for an online model based on distributed operators.
[0136] In one embodiment of this application, the control method for the online model based on distributed operators is applied to the online model in the aforementioned online model development system based on distributed operators.
[0137] like Figure 3 As shown, in one embodiment of this application, the control method of the online model based on distributed operators includes the following W100 to W700:
[0138] W100 determines whether an online model running request has been received.
[0139] If the W200 receives an online model execution request, it will forward the request to the online model engine on the deployment environment server.
[0140] W300, based on the online model execution request, parses the Python script corresponding to the online model execution request and generates at least one Python object.
[0141] The W400 online model engine's Java-JEP module converts each Python object into a Java intermediate object.
[0142] The W500 online model engine's Java-JEP module transforms each Java intermediate object into a Java result object.
[0143] W600 checks whether all Java result objects have been successfully generated.
[0144] W700: If all Java result objects are generated successfully, a token is generated.
[0145] Specifically, this embodiment describes the scenario of a single online model running. The token can be understood as a success marker. We have pre-set a token pool to store all generated tokens.
[0146] The online model engine is developed in Java, and the Java scripts run the online model. It uses JAVA-JEP to be compatible with Python.
[0147] After the Python model runs, the results and state are saved in memory in key-value pairs. The online model engine retrieves these key-value pairs from memory using methods provided by JEP.
[0148] This embodiment enables cross-language execution between Java and Python environments. Cross-language execution ensures the security of the online model system based on distributed operators, while assembly via Python scripting language improves the flexibility of the online model system based on distributed operators.
[0149] This application also provides a control method for an online model based on distributed operators.
[0150] In one embodiment of this application, the control method for the online model based on distributed operators is applied to the online model in the aforementioned online model development system based on distributed operators.
[0151] like Figure 4 As shown, in one embodiment of this application, the control method of the online model based on distributed operators includes the following K100 to K900:
[0152] K100 determines whether an online model running request has been received.
[0153] If K200 receives an online model running request, it parses the online model running request and determines whether the online model running request includes multiple online model running sub-requests.
[0154] For K300, if an online model run request includes multiple online model run sub-requests, the model network data file is read from the database.
[0155] K400 reads all online models that do not have an upstream model from the model network data file.
[0156] K500 runs all online models in the model network data file that do not have an upstream model.
[0157] K600 runs each online model sequentially according to the order of upstream model-downstream model in the model network data file.
[0158] K700: When a downstream model of an online model is running, it determines whether all tokens required for the operation of the downstream model of the online model have been generated.
[0159] K800: If all tokens required for the operation of the downstream model of the online model have been generated, then consume all tokens required for the operation of the downstream model of the online model and run the downstream model of the online model.
[0160] K900, if the tokens required by the downstream model of the online model without an upstream model are not complete, then return to the step of determining whether all tokens required for the operation of the downstream model of the online model have been generated.
[0161] Specifically, this embodiment describes the scenario where a model cluster or model network consisting of multiple models is running.
[0162] Optionally, the K500 includes the following K510 to S570:
[0163] K510, select an online model without an upstream model.
[0164] K520 parses the Python script corresponding to the online model that has no upstream model and generates at least one Python object.
[0165] The K530 online model engine's Java-JEP module converts each Python object into a Java intermediate object.
[0166] The K540 online model engine's Java-JEP module transforms each Java intermediate object into a Java result object.
[0167] K550 checks whether all Java result objects have been successfully generated.
[0168] K560: If all Java result objects are generated successfully, a token is generated.
[0169] K570, return to K510, until all online models without an upstream model have generated a token.
[0170] It can be seen that the principles of K510 to K570 and W300 to W700 are similar.
[0171] like Figure 5 As shown, in the model network data file, Model 1 and Model 2 are upstream models of Model 3, and conversely, Model 3 is a downstream model of Model 1 and Model 2.
[0172] The online models without an upstream model are Model 1 and Model 2.
[0173] When a user clicks "Run Model Mesh," the system will directly run models without prefix relationships, namely Model 1 and Model 2, based on the current model mesh.
[0174] The next model to run is Model 3, but it cannot run because Model 3 has two token restrictions, token1 and token2, which do not meet the requirements.
[0175] Model 1 has completed its execution, generating one token, token1, in the token pool. Model 3 still does not meet the execution requirements.
[0176] After Model 2 is completed, one token, token2, is generated in the token pool. At this point, Model 3 meets the requirements for operation.
[0177] The technical features of the above embodiments can be combined arbitrarily, and the execution order of the method steps is not restricted. 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.
[0178] 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. An online model development method based on distributed operators, characterized in that, The method includes: Generate at least one service operator based on service requirements; Online development of the online model is based on at least one service operator and the database; The developed online model is published to the online model engine on the deployment environment server; The step of generating at least one service operator based on service requirements includes: Register components on the Zookeeper server according to service requirements; The deployment environment server checks every first preset time interval whether a new component has been registered on the Zookeeper server; If a new component is registered on the Zookeeper server, a new service corresponding to the registered new component will be added to the online model service list; Start the operator development platform in the deployment environment server, load the new service, and retrieve the service data corresponding to the new service from the database; In the operator development platform, service operators are created based on the service data corresponding to the new service; Publish the service operator to the service operator pool; It also includes controlling multiple online models: Determine if an online model execution request has been received; If an online model running request is received, the online model running request is parsed to determine whether the online model running request includes multiple online model running sub-requests; If an online model run request includes multiple online model run sub-requests, then the model network data file is read from the database; Read all online models that do not have an upstream model from the model network data file; Run all online models in the model network data file that do not have an upstream model; Run each online model sequentially according to the upstream model-downstream model order in the model network data file; When a downstream model of an online model is running, determine whether all the tokens required for the operation of the downstream model of the online model have been generated. If all the tokens required for the operation of the downstream model of the online model have been generated, then consume all the tokens required for the operation of the downstream model of the online model and run the downstream model of the online model. If the tokens required by the downstream model of the online model without an upstream model are incomplete, then return to the step of determining whether all tokens required for the operation of the downstream model of the online model have been generated.
2. The online model development method based on distributed operators according to claim 1, characterized in that, The components registered on the Zookeeper server include: Create a component based on service requirements; Deploy a first redundant server, a second redundant server, and a third redundant server on the component; Generate a ZNode directory node on the Zookeeper server to register the component on the Zookeeper server; Establish communication connections between the Zookeeper server and the first redundant server, the second redundant server, and the third redundant server, respectively. Establish communication connections between the database and the first redundant server, the second redundant server, and the third redundant server, respectively.
3. The online model development method based on distributed operators according to claim 2, characterized in that, The component registration on the Zookeeper server also includes: The communication relationship between the ZNode directory node and the Zookeeper server is checked at preset time intervals to determine whether the communication between the ZNode directory node and the Zookeeper server is disconnected. If communication between the ZNode directory node and the Zookeeper server is disconnected, then the ZNode directory node on the Zookeeper server will be deleted.
4. The online model development method based on distributed operators according to claim 2, characterized in that, After generating a ZNode directory node on the Zookeeper server, registering the component on the Zookeeper server further includes: Generate three child nodes belonging to the ZNode directory node. The three child nodes are redundant with each other. Each child node records the server IP, port information and URI that it points to.
5. The online model development method based on distributed operators according to claim 1, characterized in that, The online development of the online model based on the at least one service operator and the database includes: Each service operator is run sequentially on the online model development platform of the deployment environment server to obtain the service data obtained by each service operator from the database; Based on the service data obtained from the database for each service operator, the NumPy scientific computing library is called to calculate multiple service metrics; Create an online model, input the service data and all service metrics obtained from the database for each service operator as training data into the online model, and train the online model; The trained online model is used as the developed online model.
6. An online model development system based on distributed operators, characterized in that, include: Zookeeper server; A deployment environment server is configured to communicate with the Zookeeper server and execute the online model development method based on distributed operators as described in any one of claims 1-5. At least one redundant server cluster, each redundant server cluster corresponding to a component, the redundant server cluster including multiple redundant servers, each redundant server communicating with the Zookeeper server; The database is communicatively connected to each of the redundant servers and also communicatively connected to the deployment environment server. At least one online model is hosted on the deployment environment server.
7. The online model development system based on distributed operators according to claim 6, characterized in that, The deployment environment server includes an operator development platform, a model development platform, and an online model engine; the at least one online model is mounted in the online model engine.
8. A control method based on an online model of distributed operators, characterized in that, The online model applied in the online model development system based on distributed operators as described in claim 6, wherein the control method of the online model based on distributed operators includes: Determine if an online model execution request has been received; If an online model execution request is received, the request will be forwarded to the online model engine on the deployment environment server. Based on the online model execution request, parse the Python script corresponding to the online model execution request and generate at least one Python object; The Java-JEP module within the online model engine converts each Python object into a Java intermediate object; The Java-JEP module within the online model engine transforms each Java intermediate object into a Java result object; Determine whether all Java result objects have been successfully generated; If all Java result objects are generated successfully, a token is generated.
Citation Information
Patent Citations
Machine learning model automatic production line construction method and system
CN114115857A