Operator invocation system, operator generation method, and electronic device

CN115309562BActive Publication Date: 2026-09-25BEIJING SANKUAI ONLINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110497298.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-05-07
Publication Date
2026-09-25
Estimated Expiration
2041-05-07

AI Technical Summary

Technical Problem

[0004]可见,现有技术中的算子调用系统需要针对不同的平台进行二次开发和独立维护,平台兼容性差,而且开发和维护成本高

Benefits of technology

[0015]本申请实施例公开的算子调用系统,通过配置模块获取算子的配置信息,并根据选择的算子的所述配置信息生成算子执行引擎,其中,所述配置信息包括:算子属性信息、算子的依赖函数及参数,以及,依赖函数的函数实现;然后,通过第一算子部署模块根据预设远程调用接口和所述算子执行引擎生成第一算子调用软件包,并将所述第一算子调用软件包发送至所述算子服务端;所述算子服务端在存储所述第一算子调用软件包后,响应于对所述预设远程调用接口的调用,执行所述算子执行引擎,输出计算结果,提升了算子调用的平台兼容性,降低算子开发和维护成本。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115309562B_ABST
    Figure CN115309562B_ABST
Patent Text Reader

Abstract

The application discloses an operator calling system, and belongs to the technical field of computers, and is used for solving the platform compatibility problem of an operator. The operator calling system disclosed by the embodiment of the application obtains configuration information of an operator through a configuration module, and generates an operator execution engine according to the configuration information of the selected operator, wherein the configuration information comprises operator attribute information, a dependent function and parameters of the operator, and function implementation of the dependent function. Then, a first operator deployment module generates a first operator calling software package according to a preset remote calling interface and the operator execution engine, and sends the first operator calling software package to the operator server. After storing the first operator calling software package, the operator server executes the operator execution engine in response to calling of the preset remote calling interface, and outputs a calculation result, thereby improving the platform compatibility of operator calling and reducing the development and maintenance cost of the operator.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to an operator invocation system, an operator generation method, an electronic device, and a computer-readable storage medium. Background Technology

[0002] In various system platform scenarios such as decision-making systems, machine learning, model prediction, and risk scheduling, there is a large amount of feature metric calculation. Typically, the logic and definitions of feature metric calculation are expressed in different forms by different roles, such as business R&D or algorithm R&D. However, the use of feature metrics is distributed across the entire online, near-line, and offline scenario chain, and the calculation definitions of shared feature metrics must be consistent. Therefore, the calculation logic for these feature metrics needs to support sharing or reuse across various system platforms.

[0003] In existing technologies, when sharing or reusing feature indicators expressed in different forms on different platforms or in different ways, it is often necessary to convert the calculation operators of the feature indicators for different platforms, and then copy the converted operators to the corresponding platform for use.

[0004] It is evident that existing operator invocation systems require secondary development and independent maintenance for different platforms, resulting in poor platform compatibility and high development and maintenance costs. Summary of the Invention

[0005] This application provides an operator invocation system that helps improve platform compatibility of operator invocation and reduce operator development and maintenance costs.

[0006] In a first aspect, embodiments of this application provide an operator invocation system, including:

[0007] The configuration module is used to obtain the configuration information of the operator and generate the operator execution engine according to the configuration information of the selected operator. The configuration information includes: operator attribute information, operator dependency functions and parameters, and function implementation of the dependency functions.

[0008] The first operator deployment module is used to generate a first operator invocation package according to a preset remote invocation interface and the operator execution engine, and send the first operator invocation package to the operator server;

[0009] The operator server is used to store the first operator invocation package and execute the operator execution engine in response to the invocation of the preset remote invocation interface.

[0010] Secondly, embodiments of this application provide an operator generation method, including:

[0011] Obtain the configuration information of the operator, wherein the configuration information includes: operator attribute information, operator dependent functions and parameters, and function implementation of the dependent functions;

[0012] In response to the first operator call package generation operation, operator code is generated according to the operator's configuration information, and an operator execution engine is generated according to the operator code. After the first operator call package encapsulating the preset remote call interface and the operator execution engine is stored in the operator server, the operator server executes the operator execution engine in response to the call to the preset remote call interface.

[0013] Thirdly, embodiments of this application also disclose an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the operator generation method described in embodiments of this application.

[0014] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, performs the steps of the operator generation method disclosed in embodiments of this application.

[0015] The operator invocation system disclosed in this application obtains operator configuration information through a configuration module and generates an operator execution engine based on the selected operator's configuration information. The configuration information includes operator attribute information, operator dependent functions and parameters, and the function implementations of the dependent functions. Then, a first operator deployment module generates a first operator invocation package based on a preset remote call interface and the operator execution engine, and sends the first operator invocation package to the operator server. After storing the first operator invocation package, the operator server, in response to a call to the preset remote call interface, executes the operator execution engine and outputs the calculation results. This improves the platform compatibility of operator invocation and reduces operator development and maintenance costs.

[0016] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description

[0017] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0018] Figure 1 This is one of the operator calling system structure diagrams of Embodiment 1 of this application;

[0019] Figure 2 This is a schematic diagram of the operator call application scenario in Embodiment 1 of this application;

[0020] Figure 3 This is the second schematic diagram of the operator calling system in Embodiment 1 of this application;

[0021] Figure 4 This is one of the schematic flowcharts of the operator generation method in Embodiment 2 of this application;

[0022] Figure 5 This is the second schematic diagram of the operator generation method in Embodiment 2 of this application;

[0023] Figure 6 A block diagram schematically illustrates an electronic device for performing the method according to this application; and

[0024] Figure 7 A storage unit for holding or carrying program code implementing the method according to this application is illustrated schematically. Detailed Implementation

[0025] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0026] Example 1

[0027] An operator invocation system disclosed in this application embodiment, such as Figure 1 As shown, the system includes: a configuration module 110, a first operator deployment module 120, and an operator server 130; wherein,

[0028] The configuration module 110 is used to obtain the configuration information of the operator and generate an operator execution engine according to the configuration information of the selected operator. The configuration information includes: operator attribute information, operator dependency functions and parameters, and function implementation of the dependency functions.

[0029] The first operator deployment module 120 is used to generate a first operator invocation package according to a preset remote invocation interface and the operator execution engine, and send the first operator invocation package to the operator server 130;

[0030] The operator server 130 is used to store the first operator invocation package and execute the operator execution engine in response to the invocation of the preset remote invocation interface.

[0031] The operator is obtained by encapsulating the calculation logic of preset data features and / or indicators.

[0032] In this application's embodiments, the operator refers to a mapping between function spaces. Each operator can only be implemented by one function, and a function can serve as a dependency function for multiple operators, thereby improving the efficiency of operator deployment through function reuse. Operators are implemented through functions based on specified parameters. The functions described in this application's embodiments include, but are not limited to, one or more of the following: aggregate functions, scalar functions, and table functions. The parameters described in this application's embodiments include, but are not limited to, one or more of the following: constants, variables, and operators.

[0033] The following is combined Figure 2 The diagram shown illustrates the specific implementation of each component in the operator invocation system disclosed in this application.

[0034] The operator invocation system described in this application embodiment can be applied to online, near-line, or offline invocation modes, and can be applied to any of the following scenarios: decision systems, machine learning, model prediction, task scheduling, monitoring and early warning, etc. In some application scenarios, the calculation logic for the indicator set and feature set that need to be calculated is encapsulated into operators. For example, the calculation logic for calculating the similarity between two sets of features is encapsulated into a similarity calculation operator; then, the specific implementation of each operator is mapped to the underlying function implementation through the configuration module, and a unified underlying function interface is abstracted and encapsulated; then, a Python service interface is defined and encapsulated as a Python component, or the big data platform interface is encapsulated through the adapter pattern, and then a dynamic script engine (such as Groovy, Aviator, etc.) is embedded, so that the operator can be executed on multiple platforms, ultimately realizing one-time development of operators and sharing across multiple scenarios, eliminating the problems of cross-language conversion and inconsistent definitions of indicator calculation logic.

[0035] The configuration module 110 described in this embodiment includes a configuration front-end and a back-end configuration processing center. The configuration front-end obtains the user's configuration information for operators and functions by displaying an operator configuration interface or a function configuration interface, and sends the configuration information to the back-end configuration processing center in response to the user's confirmation operation of the configuration information. The back-end configuration processing center caches the configuration information and generates operator or function implementations based on the configuration information.

[0036] In some embodiments of this application, the background configuration processing center generates the implementation script of the operator based on the dependency relationship between the operator and the function in the configuration information.

[0037] In some embodiments of this application, the configuration information of operators includes, but is not limited to, any one or more of the following: operator name, label, description information, dependent functions, etc.; the configuration information of functions includes, but is not limited to, any one or more of the following: function name, function type, description information, status, input parameter information (such as input parameter name, type, whether it is necessary, parameter description, etc.), output parameter information (such as input parameter name, type, whether it is necessary, parameter description, etc.). Since the underlying implementation of operator computation relies on function classes, operator development is easy to extend, which also means function development is easy to extend. When a new operator needs to be added, it is only necessary to reuse the existing or newly added function implementation class, and then configure the dependency relationship between the operator and the corresponding function to realize the development of the operator.

[0038] In some embodiments of this application, the template pattern is used for function development, which facilitates the development of function implementation classes, allows developers to focus on function functionality, reduces awareness of the computing framework layer, lowers function development complexity, and improves development efficiency. For example, by setting basic function class templates for different types of functions, and then setting interface calls for function functionality implementation code in the function implementation class, the function can achieve the specified functionality.

[0039] The functions described can be developed using script engines and different programming languages. The Aviator engine and Python language allow non-developers (such as algorithm engineers, business personnel, etc.) to develop corresponding functions, avoiding cross-language code conversion, saving cross-team communication costs, reducing code error rates, and improving operator deployment efficiency and accuracy. The functions include two types: locally implemented functions and remotely implemented functions. In some embodiments of this application, the functions include those developed using script languages; wherein, the script language includes Python, and the functions developed using Python are deployed on a remote Python server. The operator execution engine includes a pre-configured mapping relationship between operators and functions deployed on the remote Python server. Taking functions implemented in Python as an example, Python functions only support basic Python code. If third-party libraries such as machine learning and scientific computing are to be used, the Python code needs to be deployed on a remote Python server, and then the mapping relationship between operators and Python functions needs to be configured. When generating the function implementation of an operator, the implementation code of the operator will be generated according to the mapping relationship between the operator and the Python function.

[0040] After users configure operators and functions through the configuration interface on the front end, they can use the save or refresh buttons on the front end to trigger the configuration front end to send the operator configuration information to the backend configuration processing center. The first operator deployment module 120 in the backend configuration processing center then generates the operator implementation code based on the received operator configuration information. Users can select operators through the configuration front end interface, and the backend configuration processing center generates the operator execution engine based on the selected operators.

[0041] As described above, the operator and function implementation code generated in this way does not have platform compatibility limitations. The operator implementation code cannot cover all platforms; that is, the operator execution engine generated in the above steps cannot run on all target platforms. The next step is to address the cross-platform compatibility issue of the operators.

[0042] In some embodiments of this application, the operator invocation system supports both remote and local invocation modes. In remote invocation mode, the operator runs on the operator server, and other platforms access the interface address provided by the operator server via HTTP (Hypertext Transfer Protocol) or RPC (Remote Procedure Call), facilitating remote access to the operator by the client. In remote mode, since the operator execution engine runs on the operator server, operator invocation across various platforms is supported.

[0043] In some embodiments of this application, to adapt to remote calls, when generating a first operator call package running on the operator server based on the operator execution engine, it is necessary to encapsulate the preset remote call interface and the operator execution engine together into the first operator call package. For example, by setting a Restful API to perform call interface conversion for remote operator calls based on HTTP services, and by setting a Thrift API to perform call interface conversion for remote operator calls based on RPC services, remote calls to operators in the operator execution engine can be realized based on different call formats.

[0044] After generating the first operator invocation package, the first operator deployment module 120 sends the first operator invocation package to the operator server 130 for storage. Subsequently, the operator server 130 can respond to remote calls from other platforms or applications to operators in the first operator invocation package, executing the called operators on the operator server. For example, when an application client accesses the HTTP service interface or RPC service interface of the operator server, the preset remote call interface in the first operator invocation package receives the remote call and converts the remote call into a call to the corresponding operator in the operator execution engine.

[0045] In some embodiments of this application, such as Figure 3 As shown, the operator invocation system further includes a second operator deployment module 140.

[0046] In some embodiments of this application, the configuration module 110 is further configured to obtain the open interface and operator adaptation platform of the operator execution engine. For example, a user can export the operator execution engine in the form of an SDK (Software Development Kit) through the front-end interface of the configuration module 110, and then download it to a client on a different platform for local execution. In this application scenario, the operator execution engine needs to run on different platforms, therefore, the platform adaptation problem needs to be solved. In some embodiments of this application, the second operator deployment module 140 is configured to generate a second operator invocation package based on the open interface, the adaptation interface matching the operator adaptation platform, and the operator execution engine. The second operator invocation package is loaded by the application client, so that the application client executes the operator execution engine in response to a call to the open interface. For example, when the application client calls a preset open interface, the corresponding open interface in the second operator invocation package receives the local call from the application client and then calls the corresponding operator in the operator execution engine through the corresponding platform adaptation interface in the second operator invocation package.

[0047] First, after detecting the user's SDK generation operation, the second operator deployment module 140 further obtains the configuration information and open interface information of the platform to be adapted to the SDK through the configuration module. Then, the second operator deployment module 140 obtains the platform adapter based on the SDK adaptation platform configuration information and packages the implementation code of the open interface, the platform adapter, and the operator execution engine into a JAR file (Java archive file), which serves as the second operator invocation package. The open interface information is a general interface for clients to call the operator engine; the platform adapter is used to adapt the operator calls to the corresponding platform, allowing the operator calls to be executed locally on the client. For second operator invocation packages adapted to different platforms, the application scenarios of the operators differ, and the platform adapters in the second operator invocation packages are different for each.

[0048] Taking near-end operator invocation scenarios as an example, such as indicator analysis and feature calculation, operators can be directly invoked through the client interface to perform indicator or feature calculations. In operator invocation scenarios applicable to the Flink SQL big data platform, Flink (a data stream processing framework) has an adapter that automatically encapsulates Flink UDFs (Flink custom scalar functions). In SQL calls, operators can be used directly, such as in `select hash(id) from table` where `hash` is the operator name. In operator application scenarios applicable to Hive SQL (a data platform tool), Hive (a database architecture) has an adapter that automatically encapsulates (Hive custom scalar functions). In SQL calls, operators can be used directly, such as in `select hash(id) from table` where `hash` is the operator name.

[0049] Based on the above operator generation and deployment schemes, it can be determined that different modes of operator invocation (such as HTTP, RPC, and SDK) all share the same operator execution engine. Regardless of whether the client call is a real-time online system or an offline system such as nearline or offline, the implementation logic for the same operator call is the same, and there is no ambiguity in operator implementation or cross-platform differences.

[0050] In some embodiments of this application, such as Figure 3 As shown, the operator invocation system further includes: an operator trial calculation module 150 and an operator refresh module 160, wherein,

[0051] The operator trial calculation module 150 is used to precompile the operators and / or functions configured by the configuration module, and execute the precompiled operator scripts and / or function scripts.

[0052] The operator refresh module 160 is used to update the configuration information of the operators and / or functions to be refreshed to the operator server.

[0053] In some embodiments of this application, a trigger button can be set in the front-end configuration interface to initiate a trial calculation of a selected operator or function. Taking operator trial calculation as an example, the operator trial calculation module 150 can obtain the configuration information and dependent function information of the selected operator, determine the implementation code of the operator according to the function's implementation script, and then call the local script engine to compile and execute the operator's implementation code to test the operator's execution result. The operator trial calculation module 150 described in the embodiments of this application is set in the background configuration processing center.

[0054] Those skilled in the art should understand that dynamic script functions include Groovy, Aviator, and Python scripts, all of which can achieve real-time updates and deployment. Therefore, the operator calling system disclosed in this application can realize real-time hot deployment of operators.

[0055] In some embodiments of this application, hot deployment of selected or function operators can be initiated by setting a trigger button in the front-end configuration interface. Taking operator update as an example, the operator refresh module 160 will update the configuration information of the operator to be refreshed selected through the front-end configuration interface to the operator server 130. The operator server 130 updates the implementation code of the corresponding operator according to the received configuration information. The operator update module 150 described in this embodiment may include two parts: a front-end interface and a background update application, wherein the background update application may be set at the operator server 130.

[0056] In some embodiments of this application, the operator server 130 is further configured to push configuration information of operators and / or functions to be refreshed to the application server by using the network address pre-registered by the application server loading the second operator calling software package, so that the application server updates the second operator calling software package through the configuration update module pre-set in the loaded second operator calling software package; or, the operator server is further configured to output full update configuration information or output the configuration information of the operators and / or functions to be refreshed, so that the configuration update module in the second operator calling software package can pull it.

[0057] For operators in the second operator call package downloaded locally on the client, operator updates can be performed using either push or pull methods. During the update process, a full or partial operator update can be performed. The technical solutions for operator updates using push and pull methods are described below.

[0058] In the scheme of updating the second operator invocation software package using a push method, the second operator invocation software package encapsulates a configuration update module. When the client loads the second operator invocation software package, the configuration update module registers information such as the network address with the operator server via a callback function. The operator server stores the client's listening address based on the client's registration information. When the operator server receives the operator update configuration information, it pushes the operator update information to the client through the registered listening address. Subsequently, the configuration update module in the second operator invocation software package loaded by the client caches the operator update information pushed by the operator server and updates the corresponding operators loaded locally on the client according to a preset strategy.

[0059] In the scheme of updating the second operator invocation package using a pull method, the second operator invocation package encapsulates a configuration update module. The configuration update module actively downloads operator update information from the operator server according to a preset strategy (such as on Mondays or every time the second operator invocation package is loaded), caches the downloaded operator update information, and then updates the corresponding operators loaded locally on the client according to the preset strategy.

[0060] In some embodiments of this application, the configuration update module can update the second operator invocation software package using incremental or full updates. When the configuration update module updates the second operator invocation software package using incremental updates, the configuration update module will periodically detect the operator update information on the operator server and perform incremental updates on the second operator invocation software package loaded locally on the client based on the downloaded operator update information. The operator server will set up an operator update database to store the operator incremental update information.

[0061] For example, in some embodiments of this application, the operator server is further provided with an operator incremental update listening module for listening to operator update information received by the operator server. In some embodiments of this application, middleware can be used to listen to changes in operator information of the operator server. The operator server can listen to changes in the locally stored first operator calling software package by setting an operator configuration change listening module, or listen to the configuration information of the operator to be refreshed sent by the aforementioned operator refresh module, and after listening to the above information, generate incremental configuration information and synchronize the generated incremental configuration information to the preset middleware through the message system. The preset middleware continuously stores the messages sent by the operator incremental update listening module in the consumer mode to the preset database through the producer and consumer pattern of the message queue for the configuration update module of the client to pull.

[0062] The operator invocation system disclosed in this application obtains operator configuration information through a configuration module and generates an operator execution engine based on the selected operator's configuration information. The configuration information includes operator attribute information, operator dependent functions and parameters, and the function implementations of the dependent functions. Then, a first operator deployment module generates a first operator invocation package based on a preset remote call interface and the operator execution engine, and sends the first operator invocation package to the operator server. After storing the first operator invocation package, the operator server, in response to a call to the preset remote call interface, executes the operator execution engine and outputs the calculation results. This improves the platform compatibility of operator invocation and reduces operator development and maintenance costs.

[0063] The operator invocation system disclosed in this application maps the calculation rules of features or indicators in the application scenario to operators, configures the dependency relationship between operators and functions through the front-end configuration interface, implements the dependency functions of operators through a scripting language, and enables operators obtained by performing one operator development (such as operator configuration and function development) to be shared in multiple scenarios through an embedded dynamic script engine, thereby eliminating the problem of inconsistent indicator standards and improving R&D and operation and maintenance efficiency.

[0064] On the other hand, the configuration module allows multiple operators to depend on a single underlying function, distinguished by different parameters; at the same time, the function is abstracted and encapsulated according to scalar, aggregate, and table types, making it easy to extend and use in different scenarios and improving development efficiency.

[0065] Because the functions that implement operators support interfaces implemented in development languages ​​such as Groovy, Aviator, and Python, the operator server can update and apply operators and functions in real time, improving the operation and maintenance efficiency of the operator calling system.

[0066] Example 2

[0067] An operator generation method disclosed in this application is applied to the operator invocation system described in Embodiment 1, such as... Figure 4 As shown, the method includes steps 410 and 420.

[0068] Step 410: Obtain the configuration information of the operator; wherein the configuration information includes: operator attribute information, operator dependency functions and parameters, and the function implementation of the dependency functions.

[0069] The operators described in this application embodiment are encapsulated from the calculation logic of preset data features and / or indicators. Each operator is implemented based on a defined function; this function, by configuring different parameters, can be used to implement multiple operators. The dependent functions of the operators are the implementations of the lower-level functions of the operators; that is, the dependent functions of the operators are the implementations of the lower-level calculation logic.

[0070] In some embodiments of this application, the function includes at least one or more of the following: aggregate functions, table functions, and scalar functions; the function is developed based on a function template. The parameters described in the embodiments of this application include, but are not limited to, one or more of the following: constants, variables, and operators.

[0071] In some embodiments of this application, the function includes functions developed based on a scripting language and / or an executable language; wherein the scripting language includes Python, the function developed based on Python is deployed on a remote Python server, and the operator execution engine includes a pre-configured mapping relationship between operators and functions deployed on the remote Python server.

[0072] In some embodiments of this application, the attribute information of the operator, the functions that the operator depends on, and the parameters of the functions that implement the operator can be configured through a front-end configuration interface. For specific implementation methods of configuring the operator and functions, please refer to the relevant description in Embodiment 1, which will not be repeated in this embodiment.

[0073] Step 420: In response to the first operator call package generation operation, operator code is generated according to the operator's configuration information, and an operator execution engine is generated according to the operator code. After the first operator call package encapsulating the preset remote call interface and the operator execution engine is stored in the operator server, the operator server executes the operator execution engine in response to the call to the preset remote call interface.

[0074] For a detailed implementation of generating the first operator calling the software package, please refer to Example 1. It will not be repeated in this example.

[0075] The first operator call package will be sent to the operator server for storage and will be run on the operator server.

[0076] The invocation scheme for operators in the first operator invocation software package is described in the relevant description in Embodiment 1, and will not be repeated in this embodiment.

[0077] In some embodiments of this application, such as Figure 5 As shown, after step 410, the method further includes:

[0078] Step 430: In response to the second operator call package generation operation, operator code is generated according to the operator's configuration information, and an operator execution engine is generated according to the operator code. This allows the pre-configured open interface, the adaptation interface matching the operator's adaptation platform, and the second operator call package generated by the operator execution engine to be executed by the application client in response to the call to the open interface after the application client loads the package.

[0079] For a detailed implementation of generating the second operator calling the software package, please refer to Example 1. It will not be repeated in this example.

[0080] In some embodiments of this application, the application client can download the second operator invocation package to local storage and invoke the operators in the second operator invocation package.

[0081] The calling scheme for operators in the second operator calling software package is described in the relevant description in Example 1, and will not be repeated in this example.

[0082] In some embodiments of this application, after obtaining the configuration information of the operator, the method further includes:

[0083] In response to the triggering of the operator trial operation, the operator implementation script of the operator to be trialed is determined according to the configuration information, and the operator implementation script is pre-compiled;

[0084] Execute the pre-compiled operator implementation script and output the execution result of the operator implementation script.

[0085] The trial calculation scheme for the operator is described in the relevant description in Example 1, and will not be repeated in this example.

[0086] In some embodiments of this application, the method further includes:

[0087] In response to the operator refresh operation being triggered, the configuration information of the operator to be refreshed is updated to the operator server.

[0088] The operator refresh scheme is described in the relevant description in Example 1, and will not be repeated in this example.

[0089] In some embodiments of this application, the method further includes:

[0090] The operator server pushes the configuration information of the operators and / or functions to be refreshed to the application server by loading the network address pre-registered by the application server of the second operator invocation software package, so that the application server updates the second operator invocation software package through the configuration update module pre-built in the loaded second operator invocation software package.

[0091] In some embodiments of this application, the method further includes:

[0092] The operator server outputs full update configuration information or outputs the configuration information of the operator and / or function to be refreshed, so that the second operator can call the configuration update module in the software package to pull it.

[0093] For the technical solution of performing a full or partial update of the application client's second operator calling software package, please refer to the relevant description in Embodiment 1, which will not be repeated in this embodiment.

[0094] The operator generation method disclosed in this application is applied to the operator calling system described in Embodiment 1 of this application. For the specific implementation of each step of the method, please refer to the specific implementation of the corresponding module. It will not be repeated in this embodiment.

[0095] The operator generation method disclosed in this application obtains the configuration information of the operator, which includes: operator attribute information, operator dependent functions and parameters, and function implementations of the dependent functions. Then, in response to the generation operation of a first operator call package, operator code is generated according to the configuration information of the operator, and an operator execution engine is generated according to the operator code. After the first operator call package, which encapsulates a preset remote call interface and the operator execution engine, is stored on the operator server, the operator server, in response to the call to the preset remote call interface, executes the operator execution engine and outputs the calculation results. This improves the platform compatibility of operator calls and reduces the development and maintenance costs of operators.

[0096] The operator generation method disclosed in this application maps the calculation rules of features or indicators in the application scenario to operators, configures the dependency relationship between operators and functions through a front-end configuration interface, implements the dependency functions of operators through a scripting language, and uses an embedded dynamic script engine to enable operators obtained by performing one operator development (such as operator configuration and function development) to be shared in multiple scenarios, eliminating the problem of inconsistent indicator standards and improving R&D and operation and maintenance efficiency.

[0097] On the other hand, in the operator generation method disclosed in this application, multiple operators rely on a single underlying function and are distinguished by different parameters; at the same time, the function is encapsulated according to scalar, aggregate, and table abstractions, which makes it easy to extend and use in different scenarios and improves R&D efficiency.

[0098] Because the functions that implement operators support interfaces implemented in development languages ​​such as Groovy, Aviator, and Python, the operator server can update and apply operators and functions in real time, improving the operation and maintenance efficiency of the operator calling system.

[0099] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus embodiments, since they are fundamentally similar to the method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0100] The above provides a detailed description of the operator invocation system and operator generation method provided by this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method of this application and its core idea. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the idea of ​​this application. Therefore, the content of this specification should not be construed as a limitation of this application.

[0101] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.

[0102] The various component embodiments of this application can be implemented in hardware, or as software modules running on one or more processors, or a combination thereof. Those skilled in the art will understand that microprocessors or digital signal processors (DSPs) can be used in practice to implement some or all of the functions of some or all of the components in the electronic device according to the embodiments of this application. This application can also be implemented as a device or apparatus program (e.g., a computer program and computer program product) for performing part or all of the methods described herein. Such a program implementing this application can be stored on a computer-readable medium, or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.

[0103] For example, Figure 6An electronic device is shown that can implement the methods according to this application. The electronic device may be a PC, mobile terminal, personal digital assistant, tablet computer, etc. The electronic device conventionally includes a processor 610 and a memory 620, and program code 630 stored on the memory 620 and executable on the processor 610, which, when executing the program code 630, implements the methods described in the above embodiments. The memory 620 may be a computer program product or a computer-readable medium. The memory 620 may be an electronic memory such as flash memory, EEPROM (Electrically Erasable Programmable Read-Only Memory), EPROM, hard disk, or ROM. The memory 620 has a storage space 6201 for the program code 630 of a computer program for performing any of the method steps described above. For example, the storage space 6201 for the program code 630 may include various computer programs for implementing the various steps in the methods described above. The program code 630 is computer-readable code. These computer programs can be read from or written to one or more computer program products. These computer program products include program code carriers such as hard disks, CDs, memory cards, or floppy disks. The computer program includes computer-readable code that, when executed on an electronic device, causes the electronic device to perform the method according to the above embodiments.

[0104] This application also discloses a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the operator generation method as described in Embodiment 2 of this application.

[0105] Such a computer program product can be a computer-readable storage medium, which can have the same characteristics as... Figure 6 The memory 620 in the illustrated electronic device is similarly arranged with storage segments, storage spaces, etc. Program code can be stored, for example, in a compressed form on the computer-readable storage medium. The computer-readable storage medium is typically as shown in the reference... Figure 7 The portable or fixed storage unit is described above. Typically, the storage unit includes computer-readable code 630', which is code read by a processor and, when executed by the processor, implements the various steps of the method described above.

[0106] The terms "an embodiment," "embodiment," or "one or more embodiments" as used herein mean that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of this application. Furthermore, please note that the examples of the phrase "in one embodiment" do not necessarily all refer to the same embodiment.

[0107] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of this application may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.

[0108] In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. This application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names.

[0109] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. An operator invocation system, characterized in that, include: The system comprises a configuration module, a first operator deployment module, and an operator server. The configuration module is used to acquire operator configuration information and generate an operator execution engine based on the selected operator's configuration information. The configuration information includes operator attribute information, operator dependency functions and parameters, and function implementations of the dependency functions. The first operator deployment module is used to generate a first operator call package based on a preset remote call interface and the operator execution engine, and send the first operator call package to the operator server. The operator server is used to store the first operator call package and, in response to a call to the preset remote call interface, execute the operator execution engine.

2. The system according to claim 1, characterized in that, Also includes: The second operator deployment module; the configuration module is further configured to obtain the open interface of the operator execution engine and the operator adaptation platform; the second operator deployment module is configured to generate a second operator invocation package based on the open interface, the adaptation interface matching the operator adaptation platform, and the operator execution engine, the second operator invocation package being loaded by the application client so that the application client executes the operator execution engine in response to a call to the open interface.

3. The system according to claim 2, characterized in that, Also includes: The system includes an operator trial calculation module and an operator refresh module. The operator trial calculation module is used to pre-compile the operators and / or functions configured by the configuration module and execute the pre-compiled operator scripts and / or function scripts. The operator refresh module is used to update the configuration information of the operators and / or functions to be refreshed to the operator server.

4. The system according to claim 3, characterized in that, The operator server is further configured to push configuration information of the operator and / or function to be refreshed to the application server by loading the network address pre-registered by the application server of the second operator calling software package, so that the application server updates the second operator calling software package through the configuration update module pre-built in the loaded second operator calling software package; or, the operator server is further configured to output full update configuration information or output the configuration information of the operator and / or function to be refreshed, so that the configuration update module in the second operator calling software package can pull it.

5. The system according to any one of claims 1 to 4, characterized in that, The function includes at least one or more of the following: aggregate functions, table functions, and scalar functions; the function is developed based on function templates.

6. The system according to claim 5, characterized in that, The functions include those developed based on scripting languages ​​and / or executable languages; wherein, the scripting languages ​​include: Python language, the functions developed based on Python language are deployed on a remote Python server, and the operator execution engine includes a pre-configured mapping relationship between operators and functions deployed on the remote Python server.

7. The system according to any one of claims 1 to 4, characterized in that, The operator is obtained by encapsulating the calculation logic of preset data features and / or indicators.

8. An operator generation method, characterized in that, include: Obtain the configuration information of the operator, wherein the configuration information includes: operator attribute information, operator dependent functions and parameters, and function implementations of the dependent functions; In response to the first operator call package generation operation, generate operator code according to the operator configuration information, and generate an operator execution engine according to the operator code, so that after the first operator call package encapsulating the preset remote call interface and the operator execution engine is stored on the operator server, the operator server executes the operator execution engine in response to the call to the preset remote call interface.

9. The method according to claim 8, characterized in that, Following the step of obtaining the operator's configuration information, the method further includes: in response to the second operator call package generation operation, generating operator code based on the operator's configuration information, and generating an operator execution engine based on the operator code, such that the pre-configured open interface, the adaptation interface matching the operator's adaptation platform, and the second operator call package generated by the operator execution engine are encapsulated. After being loaded by the application client, the application client executes the operator execution engine in response to the call to the open interface.

10. An electronic device, comprising a memory, a processor, and program code stored in the memory and executable on the processor, characterized in that, When the processor executes the program code, it implements the operator generation method of claim 8 or 9.

11. A computer-readable storage medium having program code stored thereon, characterized in that, When the program code is executed by the processor, it implements the steps of the operator generation method as described in claim 8 or 9.

Citation Information

Patent Citations

  • Method and system for assisting operator development

    CN110928529A

  • Method and device for constructing and calling arithmetic subset

    CN112130933A