Analyzing materialization of a workspace
Patent Information
- Application Number
- CN202180057053.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-05-28
- Filing Date
- 2021-07-30
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2041-07-30
AI Technical Summary
这种创建工作空间的方法效率低下,因为它往往会分离成孤岛并失去整个工作流程的沿袭性
Smart Images

Figure CN116097244B_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application claims the benefits and priorities of Indian Provisional Application No. 202041033832, filed August 7, 2020, and U.S. Non-Provisional Application No. 17 / 333,738, filed May 28, 2021, the entire contents of which are incorporated herein by reference for all purposes. Technical Field
[0003] This disclosure generally relates to data processing systems, and more specifically to techniques for seamlessly creating workspaces to implement at least a portion of a model deployed in a production environment. Background Technology
[0004] With the widespread adoption of the internet, companies across all industries are generating and processing massive amounts of data every moment. To leverage this data, different companies extract numerous different metrics based on their business preferences, and these metrics are used to measure the company's business performance. For example, in e-commerce website applications, metrics for measuring a company's services might include factors such as the number of daily active user visits, user click-through rates, and conversion rates per page.
[0005] Typically, the processes employed by an organization are modeled as workflows, i.e., pipelines, where different personnel (e.g., data scientists, modelers, analysts, etc.) can monitor the performance of the workflow. In such workflows, constructing complex sets of data transformations (both deterministic and statistical) to deliver use cases that support derived predictive results often requires the creation of private workspaces. These private workspaces are typically addressed via desktop applications or extensive manual processes to correlate results back to source data and link developed logical / computational transformations to production use cases. This approach to creating workspaces is inefficient because it tends to create silos and lose continuity across the entire workflow.
[0006] The embodiments described herein address these and other problems individually and collectively. Summary of the Invention
[0007] Techniques are provided for creating workspaces to enable at least a portion of a model for deployment in a production environment (e.g., methods, systems, storage of non-transitory computer-readable media containing code or instructions executable by one or more processors). Various embodiments are described herein, including methods, systems, storage of programs, code, or instructions executable by one or more processors, and non-transitory computer-readable storage media.
[0008] In various embodiments, a method is provided, comprising: receiving, by a data processing system, a request to create a workspace to implement at least a portion of a model deployed in a production environment; obtaining, by the data processing system, one or more data objects associated with said portion of the model and their associated metadata; obtaining, by the data processing system, an execution location for the workspace; generating, by the data processing system, an instruction set for executing said one or more data objects and associated metadata in the workspace; creating, by the data processing system, the workspace within the execution location, wherein the creation includes instantiating said portion of the model, said one or more data objects, and associated metadata in the workspace; processing said portion of the model in the workspace according to the instruction set using said one or more data objects and associated metadata; and updating the production environment by the data processing system based on said processing.
[0009] In some embodiments, the method further includes: obtaining a plurality of data objects and a plurality of metadata from one or more databases associated with a production environment, the one or more databases maintaining a mapping between models deployed in the production environment and associated data objects; filtering the plurality of data objects and the plurality of metadata to obtain the one or more data objects and associated metadata related to said portion of the model; and iteratively performing a set of lookup operations with respect to the one or more databases associated with the production environment to obtain at least one data object related to the one or more data objects.
[0010] In some embodiments, the execution location is an application instance within a production environment or a region within a remote application instance.
[0011] In some embodiments, the method further includes: receiving from a user a request to execute the portion of the model in a workspace; verifying whether the user is permitted to access the one or more data objects associated with the portion of the model and their associated metadata; and generating an executable file that creates a workspace within the execution location in response to successful verification.
[0012] In some embodiments, the workspace is also configured to: ingest data from a data source outside the data processing system; and create at least one sandbox application or analytics pipeline based on said portion of the model, wherein said at least one sandbox application or analytics pipeline is used to process said portion of the model in the workspace.
[0013] In some embodiments, the instruction set is generated in a format that can be transformed into an equivalent instruction set that can be executed in an execution location within a managed workspace.
[0014] In some embodiments, updating the production environment further includes: obtaining an initial state of the production environment before creating a workspace within the execution site, the initial state including a first output of a model deployed in the production environment; replacing said portion of the model deployed in the production environment with said portion of the model processed in the workspace; and generating an updated state of the production environment based on said replacement, the updated state including a second output of the model deployed in the production environment.
[0015] In some embodiments, a model deployed in a production environment includes multiple sub-models, and the portion of the model corresponds to a sub-model among the multiple sub-models.
[0016] In some embodiments, the portion of the model processed in the workspace further includes: retraining the portion of the model with respect to the training dataset; and modifying one or more parameters of the portion of the model based on the retraining.
[0017] In some embodiments, creating a workspace within the execution site further includes: generating a provision executable file by a data processing system capable of creating a workspace within the execution site; and executing the provision executable file to create a workspace within the execution site.
[0018] In some embodiments, the method further includes: storing configuration information of a workspace in a database of a data processing system, the configuration information including at least the one or more data objects associated with that part of the model and their associated metadata, as well as information related to the execution location; deleting a workspace created within the execution location by the data processing system; and generating a new workspace in another execution location by the data processing system based on the configuration information.
[0019] In some embodiments, the plurality of sub-models include a neural network model, a linear regression model, a support vector machine model, or a clustering model.
[0020] In some embodiments, a computing device is provided, the computing device including a processor and a memory including instructions that, when executed by the processor, cause the computing device to perform at least the following operations: receiving a request to create a workspace to implement at least a portion of a model deployed in a production environment; obtaining one or more data objects associated with said portion of the model and their associated metadata; obtaining an execution location for the workspace; generating a set of instructions for executing said one or more data objects and associated metadata in the workspace; creating the workspace within the execution location by instantiating said portion of the model, said one or more data objects, and associated metadata in the workspace; processing said portion of the model in the workspace using said one or more data objects and associated metadata according to said set of instructions; and updating the production environment based on said processing.
[0021] In some embodiments, a non-transitory computer-readable medium is provided that stores specific computer-executable instructions that, when executed by a processor, cause a computer system to perform at least the following operations: receiving a request to create a workspace to implement at least a portion of a model deployed in a production environment; obtaining one or more data objects associated with said portion of the model and their associated metadata; obtaining an execution location for the workspace; generating a set of instructions for executing said one or more data objects and associated metadata in the workspace; creating the workspace within the execution location by instantiating said portion of the model, said one or more data objects, and associated metadata in the workspace; processing said portion of the model in the workspace using said one or more data objects and associated metadata according to said set of instructions; and updating the production environment based on said processing.
[0022] The techniques described above and below can be implemented in various ways and in various contexts. Several example implementation methods and contexts are set up with reference to the following figures, as described in more detail below. However, the following implementation methods and contexts represent only a small subset of them. Attached Figure Description
[0023] Figure 1 These are illustrations of data processing systems according to various embodiments.
[0024] Figure 2 This is an illustration of a workspace provided according to various embodiments.
[0025] Figure 3 The illustration shows details of the supply workspace according to various embodiments.
[0026] Figure 4 The illustration shows a data interface unit according to various embodiments.
[0027] Figure 5 A flowchart illustrating the process of workspace provisioning according to various embodiments is depicted.
[0028] Figure 6 A simplified diagram of a distributed system for implementing various embodiments is depicted.
[0029] Figure 7 It is a simplified block diagram of one or more components of a system environment according to various embodiments, through which services provided by one or more components of the embodiment system can be provided as cloud services.
[0030] Figure 8 The illustration shows an example computer system that can be used to implement various embodiments. Detailed Implementation
[0031] In the following description, specific details are set forth for illustrative purposes in order to provide a thorough understanding of certain inventive embodiments. However, it will be apparent that various embodiments may be practiced without these specific details. The accompanying drawings and description are not intended to be limiting. The word “exemplary” is used herein to mean “serves as an example, instance, or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as superior to or advantageous to other embodiments or designs.
[0032] Overview of Data Processing Systems
[0033] Enterprises typically require continuous monitoring of workflows to measure risk in order to comply with prevailing regulatory and oversight standards. In such workflows, measurements often require extensive computation and validation of enterprise data. Data is transformed to support these measurements and calculations. The processing involved in data transformation encompasses large amounts of data over time periods, and the methods used are described as a series of tasks that perform data transformations and actions (including the insertion / updating of calculated values), which can be accomplished through a set of defined rules.
[0034] Complex analytical workflows are modeled as a holistic model (e.g., a machine learning model) composed of several sub-models. Specifically, several sub-models are concatenated (i.e., combined) in a predetermined manner to generate the holistic model. The sub-models are executed in a predetermined order to determine one or more output variables of the holistic model. Each sub-model includes a series of tasks that operate on one or more datasets and perform data transformations to compute one or more output variables of the entire model. Therefore, the execution of the holistic model includes: (i) determining multiple input variables (i.e., input parameters of one or more sub-models), (ii) executing one or more sub-models in a predetermined order, and (iii) generating one or more output variables of the holistic model. This holistic model is deployed in the enterprise's production environment. Different personnel from different departments within the enterprise (e.g., developers, data scientists, etc.) can monitor the holistic model in the production environment. Sub-models can include machine learning models such as neural network models, linear regression models, support vector machine models, or clustering models.
[0035] The requirement of this complex analytical workflow is that different entities may want to extract a portion of the overall model (e.g., a sub-model) for further processing and development. For example, a department within an enterprise that builds a specific sub-model of the overall model may want to extract the sub-model (along with the associated data objects and metadata used to build the model) for further processing and enhancement, such as retraining the sub-model on new training data, fine-tuning one or more parameters of the sub-model to improve performance, etc. Alternatively, it may be desirable to obtain slices of production environment data (e.g., data objects, data records, etc.) for building new predictive models, evaluating scenarios for anomaly detection, studying data patterns, etc. This document describes enabling the creation of workspaces (e.g., areas within existing application instances, remote application instances, or hybrid environments) where desired sub-models, data objects, metadata, etc., can be extracted for further processing without affecting the operation of the overall model in the production environment. In some embodiments, pipeline creation unit 111 includes a model aggregator. The model aggregator is programmed to obtain one or more sub-models (data objects and their associated metadata) and combine one or more sub-models in a user-defined manner to generate the overall model. Model aggregators can be implemented as scripts, such as Python scripts, that obtain one or more sub-models to be spliced (or combined) to form a whole model.
[0036] The various embodiments described herein can be used in a wide range of different domains and contexts. Some embodiments are particularly suitable for enterprise application software provided with distributed computing technologies. However, the systems and methods described herein can be used to provide data transformation functionality for any system or application framework that desires to create workspaces. Techniques (e.g., systems, methods, and machine-readable media) are disclosed that enable data processing systems to instantiate workspaces and extract relevant parts of the overall model (i.e., sub-models, specific data objects (and their associated metadata)) into the workspace for further processing (from a production environment).
[0037] Figure 1 A data processing system 100 according to various embodiments is depicted, including a client device 105, a production application environment 110, a workspace creation unit 120, a network 130, an operation module 140, and a data storage device 150 (e.g., a memory repository). The production application environment 110 includes a pipeline creation unit 111 and a rules unit 113.
[0038] One or more application interfaces (e.g., graphical user interfaces) can be presented to a user operating client device 105, which accept input to enable the user to interact with production application environment 110 and / or workspace creation unit 120. Examples of client device 105 include, but are not limited to, workstations, personal computers (PCs), laptops, mobile devices such as smartphones, wearable computers, or other networked electronic devices. Applications running on client device 105 can be used to access the interfaces presented at client device 105. Client device 105, production application environment 110, workspace creation unit 120, and operation module 140 can communicate via one or more communication networks 130. Examples of communication networks 130 may include mobile networks, wireless networks, cellular networks, local area networks (LANs), wide area networks (WANs), other wireless communication networks, or combinations thereof.
[0039] Through some embodiments, including a pipeline creation unit 111 in a production application environment 110, the user stipulates that the overall model is defined as a pipeline (also referred to herein as a workflow), that is, a combination of one or more sub-models that are pieced together / combined to form the overall model. The pipeline creation unit 111 also stipulates that the user defines and executes the set of rules, reporting objects, and processes required to transform data in the data processing system 100. The pipeline creation unit 111 provides an interface that allows the user to define and execute rules and processes and manage the definitions of each sub-model used to form the overall model via, for example, a client device 105. For example, many enterprises require continuous monitoring and measurement of risk to comply with common regulatory and supervisory standards. These measurements often require extensive computation and validation of enterprise data. Data is frequently transformed to support such measurements and calculations. These data transformations can be achieved through a set of defined rules.
[0040] Pipeline creation unit 111 specifies user-defined rules 113 for executing the overall model, such as defining the execution order of one or more sub-models that form the overall model. For example, the rules may include a first subset of one or more sub-models executed concurrently, while a second subset of one or more sub-models is executed sequentially to determine one or more output variables of the overall model. Furthermore, pipeline creation unit 111 also specifies that the user, via an application interface, defines one or more datasets, for example, to be obtained from an external data source, with which the overall model will be evaluated. Such datasets can be obtained from the external data source via operation module 140.
[0041] Rule unit 113 facilitates the implementation of user-defined (e.g., regarding sub-models) rule sets, reporting objects, and procedures to transform data in storage devices (such as data storage device 150). For example, rule unit 113 provides a framework for defining and maintaining transformations. A metadata abstraction layer can be used in the definition of rules, allowing users to reclassify attributes in data repository 150, thereby transforming the data. Underlying metadata objects (such as non-large or non-list hierarchies, datasets, and processors) drive rule functionality. Rules can include various types. For example, a Type 1 rule may involve creating a subset of records from a given set of records in a data model based on certain filters. This process may involve transformation, aggregation, or a combination thereof. Type 1 rule definitions can be implemented through table-to-table (T2T) extraction. Type 2 rules may involve reclassifying records in tables in a data model based on criteria, including complex group-by clauses and subqueries in the tables. Type 3 rules may involve calculating new values or measures based on simple measurements and updating an identified set of records within the data model with the calculated values. The pipeline creation unit 111 includes a set of tools that help users manipulate various rule definitions.
[0042] In various embodiments, rules are defined to include one or more components. These components may include datasets, sources, targets, mappings, and / or node identifiers. A dataset is a collection of tables joined together by a key. A dataset may have at least one fact table. A fact table stores measurements, metrics, or facts of a procedure. A fact table may be located at the center of a star schema or snowflake schema, surrounded by dimension tables. Dimension tables store reference data (e.g., a list of products an entity deals with, a list of branches, a list of geographies, a list of currencies, etc., which are relatively static). When using multiple fact tables, these may be arranged in a fact constellation schema. Fact tables typically have two types of columns: columns containing facts and columns that serve as foreign keys to dimension tables. The primary key of a fact table is typically a composite key consisting of all its foreign keys. A fact table contains the contents of a data repository 150 and stores different types of measurements, such as additive, non-additive, and semi-additive measures. Type 3 rule definitions may be based on datasets containing more than one fact table. Type 2 rule definitions may be based on datasets containing a single fact table. Values in one or more columns of a fact table within a dataset can be transformed with new values.
[0043] According to some embodiments, a set of rules collectively forms a process. A process definition can be represented as a process tree. Rule unit 113 provides a framework that facilitates the definition and maintenance of processes. By defining processes, users can logically group sets of rules belonging to a functional process. For example, users can define processes using existing metadata objects with a hierarchy, which facilitates the construction of a process tree. A process tree can have many levels, and each level has one or more nodes. In this way, production application environment 110 can utilize rule unit 113 to define processes for sub-models of complex analytical workflows. It is understood that a sub-model can include one or more tasks, each of which will be executed to complete the execution of the sub-model. (E.g., sub-processes of tasks in a sub-model) can be defined on level members, and process hierarchy members form the leaf members of the tree. Therefore, processes can include two types: (i) end-to-end processes, which represent functional integrity and are ready to be executed, and (ii) non-end-to-end processes, which are logical sets of rules and cannot be executed on their own. A non-end-to-end process can be defined as a sub-process within an end-to-end process for execution. Rule unit 113 can be used to construct a process tree by adding one or more members called process nodes. If there is a predecessor task associated with any member, then the task defined as a predecessor task is executed before that member.
[0044] The definitions created by rule unit 113 generate unique batch groups. These batches can then be scheduled for execution via an interface provided by production application environment 110. Each request for the execution of a process (e.g., the execution of a sub-model) can become a batch in a batch group. Production application environment 110 enables users to have working processes for executing processes. Through some embodiments, batches can then be executed from operation module 140. For example, a user can select a process definition to be marked for execution via application programming interface (API), where the name of the selected process definition appears in the API's run description text box. The API displays other information, such as request execution ID, request execution description, request status, execution status, and edit options.
[0045] The API offers options to select batches defined for execution. A "Open" request status indicates the selected process ID is ready for execution. An "Not Started" execution status indicates the specific process definition / batch has not yet been executed. Users can select edit options to modify the execution request. Users can also use search and filter options to search for specific processes based on process name, process execution description, process execution ID, process type, request status, etc. Pagination options are also provided to help users manage a collaborative view of existing processes within the data processing system.
[0046] In some embodiments, the operation module 140 facilitates user management and processing of data (e.g., enterprise data) to create the highest level of efficiency within the data processing system 100 and to derive results based on one or more specified rules. The operation module 140 may include units such as batch maintenance, batch execution, batch scheduler, batch monitor, batch processing report, batch cancellation, log viewing, and report generation.
[0047] The batch maintenance framework within operations module 140 facilitates the creation and maintenance of batch definitions by users. Users can process scheduled batches from batch maintenance as well as from other modules, such as the advanced analytics infrastructure module (not shown) and rules unit 113. The batch execution unit of operations module 140 is configured to initiate batches for processing. In some embodiments, when a batch is submitted for execution, a series of commands regarding defined components and parameters are transmitted to data repository 150. When the commands are successfully executed, this in turn returns an array of updated counts (e.g., value definitions). The batch scheduler unit in operations module 140 facilitates the scheduling of batches for subsequent processing by users. Users can define new batch schedules or update previously defined batch schedules for processing.
[0048] The batch monitoring unit of operation module 140 allows users to view the status and task details of executed batch definitions. Users can periodically track problems (if any) and ensure smooth batch execution. The event log provides users with the real-time status of executed batches. The batch processing report in operation module 140 allows users to view the execution status of each task component defined in a batch. The batch cancellation unit of operation module 140 allows users to cancel or abort scheduled or in-process batches or specific tasks. The log viewing unit allows users to view the execution status of each task component defined in a batch. The report generation unit of operation module 140 is configured to generate a performance report of the overall model to be provided to client device 105.
[0049] Workspace creation unit 120 allows, for example, modelers, data and domain analysts to create one or more workspaces. In such workspaces, slices of data objects, logical abstractions, metadata, and / or portions of the overall model from the production environment (i.e., sub-models) can be exported, allowing the exported information to be processed independently (i.e., separately from the production environment) for different purposes. For example, exported data objects, metadata, and logical abstractions can be used to build predictive models or scenarios for anomaly detection or to study data patterns. Exported sub-models can also be trained and enhanced (e.g., optimizing sub-model parameters) for improved performance. Workspace creation unit 120 allows both data and associated objects (logic / computation) to be pulled into the workspace—i.e., a regional or remote instance or hybrid environment within an existing application instance—while applying common / consistent metadata through interactive and offline generated instruction sets. This approach allows for the replication, virtualization, and deployment of trained logic / computation / models, automatically binding them to targets managed by security entitlements, self-enhancement, and control.
[0050] According to some embodiments, the workspace creation unit 120 can be implemented as an executable script, such as a JavaScript script, SQL script, etc., that extracts a copy of the sub-model (i.e., the code of the sub-model) and a copy of the metadata associated with the sub-model. The metadata may include, for example, data objects, external software packages, and data from external data sources associated with the sub-model. The extracted copy of the sub-model and its associated metadata are packaged in an archive (e.g., an executable zip archive). The workspace creation unit 120, implemented as an executable script, can also define dependencies (e.g., data dependencies) in the metadata associated with the sub-model to ensure that all relevant data (required to execute the sub-model) is included in the zip archive. Therefore, the archive can be exported to a workspace created for a specific user for further development or improvement of the sub-model without affecting the overall model's operation in a production environment.
[0051] In some embodiments, one or more users (e.g., modelers, data / domain analysts, etc.) can create their own profiles, i.e., packaged sub-models, exported to their respective workspaces. It is understood that multiple entities can create zip archives corresponding to the same sub-model. Users process the sub-models independently within their respective workspaces. For example, different users can retrain the sub-models using different datasets, different parameters, etc. After processing the sub-models in different user workspaces, in some embodiments, a specific sub-model from one of the workspaces is selected to replace the original sub-model in the production environment. For example, the performance of each sub-model executed in the user's workspace is compared with the performance of other similar sub-models. In this way, one of the sub-models whose performance is superior to other sub-models (e.g., achieving higher throughput) is selected to replace the original sub-model in the production environment. Subsequently, any further processing / refinement of the sub-model by various users is performed on the replaced sub-model. It is understood that older versions of the sub-models can be stored in a data repository 150 associated with the production environment for later use or for auditing purposes.
[0052] According to some embodiments, the workspace creation unit 120 provides a user interface wizard (e.g., part of the operations module 115) to the client device 105, enabling the client device 105 to create a workspace. Workspace creation may include: (i) selection of data entities with controlled user permissions; (ii) automatic listing of associated metadata (logical / computational) related to the selected logical data element (i.e., dataset or data object); (iii) allowing selection of related metadata as needed; (iv) scanning for local or remote environments that can host the workspace (i.e., execution locations for the workspace); and (v) listing options for workspace deployment (e.g., specifying that data materialization is hybrid). References herein will be made to... Figure 3 The description outlines the process of generating instruction sets for each step listed above to create a workspace and export relevant data to that workspace. It is understood that the instruction sets can be generated in domain-specific languages or scripting languages (such as Shell, Perl, Python), including associations with logical models, metadata objects, and data files. Furthermore, the instruction sets are generated in a manner that allows them to be executed in the desired execution location within the workspace. See below for reference. Figure 2-5 It describes detailed information about creating a workspace.
[0053] Figure 2 This is an illustration of a workspace provided according to various embodiments. (See illustration.) Figure 2As shown in Figure 200, data model 205 (e.g., overall model) is deployed in production environment 201. Data model 205 can be constructed based on data obtained from external data source 210. Workspace creation unit 120 obtains data from client devices (e.g., ...). Figure 1 The client device 105 receives a request to create a workspace to implement at least a portion of the data model 205 deployed in the production environment 201.
[0054] According to some embodiments, in order to further process and enhance the sub-model, such as retraining the sub-model with new training data, fine-tuning one or more parameters of the sub-model to improve performance, etc., it is desirable that the aforementioned portion of the data model 205 implemented in the workspace can correspond to a specific sub-model of the data model (and the associated data objects and metadata used to construct the sub-model). Furthermore, in order to construct new predictive models or evaluate scenarios for anomaly detection, studying data patterns, etc., it is desirable that the aforementioned portion of the data model 205 implemented in the workspace can correspond to a slice of production environment data (e.g., data objects, data records, etc.). This portion of the data model 205 intended to be implemented in the workspace can be included in a request issued by the client device to the workspace creation unit 120.
[0055] It is understood that data objects, metadata, or data templates (e.g., report templates, analysis templates, product hierarchy templates, organizational hierarchy templates, etc.) can be extracted from production environment 201 and included in the workspace for further processing. In other words, workspace creation unit 120 creates copies of the data objects, metadata, etc., included in production environment 201 and instantiates (i.e., physically deploys) these copies in the workspace. The instantiated data objects, metadata, etc., can be modified based on processes performed in the workspace (e.g., testing sub-models, updating sub-models, etc.). Through some embodiments, when the processes performed in the workspace are completed, the modified data objects, metadata, parts of the model, etc., in the workspace can be pushed back to the production environment via workspace creation unit 120. For example, in a scenario where a sub-model of a data model is instantiated in the workspace (e.g., for the purpose of fine-tuning or retraining the sub-model), the retrained / fine-tuned sub-model can be pushed back (on completion) to production environment 201 by workspace creation unit 120.
[0056] In this way, older versions of the sub-model deployed in production environment 201 can be replaced by retrained / fine-tuned sub-models from the workspace. Furthermore, through some embodiments, Figure 1The data processing system can provide the option of maintaining both an older version of the sub-model and an updated version of the sub-model in production environment 201. According to some embodiments, before creating the workspace, the initial state of production environment 201 can be stored in a data storage device (as associated with production environment 201), where the initial state includes performance parameters (e.g., a first output) of the data model 205 deployed in production environment 201. For example, after replacing an older version of the data model's sub-model with a retained / fine-tuned version of the sub-model (obtained from the workspace), the data processing system can generate an updated state for the production environment, where the updated state includes new outputs of the model deployed in the production environment (i.e., a second output different from the first output). The updated performance of the data model deployed in the production environment can be presented to client devices via an application interface.
[0057] The request sent by the client device to the workspace creation unit 120 includes information about the execution location of the workspace to be created. Specifically, the execution location corresponds to the target environment in which the workspace is expected to be created. According to some embodiments, the execution location corresponds to a region within a production environment (i.e., a workspace implementation in memory), a remote application instance, or an application instance in a hybrid environment. A hybrid environment is defined herein as an environment that hosts the workspace, which is configured to extract data from other workspaces, external data sources 210, etc., in addition to data extracted from the production environment 201.
[0058] Different client devices (e.g., from different departments within an organization) can issue workspace creation requests to workspace creation unit 120. Note that each request includes information about the execution location of the workspace and a portion of the data model 205 to be instantiated in the workspace. Workspace creation unit 120 is configured to create a workspace for each request, such as workspace A215, workspace B220, and workspace C225. In each workspace, relevant data objects, metadata, and / or portions of the data model are copied and stored locally for further processing. For example, as... Figure 2 As shown, workspace A includes databases 216 and 217 storing copies of the corresponding data objects and metadata requested by client devices, while workspace B includes databases 221 and 222 storing corresponding copies of the requested data objects and metadata, and workspace C (deployed in a hybrid environment) includes databases 226 and 227 storing copies of the corresponding data objects and metadata requested by client devices. (See reference...) Figure 3 As described in detail, the filtering mechanism can be utilized by the workspace creation unit 120 to obtain relevant data to be instantiated in the workspace.
[0059] In addition, such as Figure 2 As shown, it can be understood that workspace C is deployed in a hybrid environment because it is configured to extract data from external data source 210 as well as from other workspaces (e.g., workspace B 220). Through some embodiments, each of the created workspaces 215, 220, and 225 can also create at least one sandbox application (241, 242) or analytics pipeline (243) via application programming interface 230 (e.g., REST API) to facilitate processing / evaluation (e.g., of sub-models) performed within the workspace. For example, in a software development context, a sandbox application is an isolated environment in which code related to a sub-model can be evaluated and tested. Similarly, a particular workspace (e.g., workspace A 215) can create an analytics pipeline 243, which can be used to simulate / test different parts (e.g., processes) of a sub-model being processed in workspace A 215.
[0060] Figure 3 The illustrations depict details of a supply workspace according to various embodiments. Specifically, Figure 3 The schematic diagram 300 depicts the components of a workspace creation unit responsible for creating workspaces within the execution area. For example... Figure 3 As shown, the workspace creation unit (e.g., Figure 1 The workspace creation unit 120 includes a provisioning application 330 that obtains data objects and associated metadata from a remote data repository 310 and / or a production environment 320 and instantiates (i.e., physically materializes) the obtained information in one or more workspaces (e.g., workspace A 341, workspace B 343, and workspace C 345).
[0061] In some embodiments, the supply application 330 includes a data interface unit 333, an object interface unit 335, an instruction unit 336, a configuration database 337, and a materializer unit 338. The data interface unit 333 is configured to retrieve data (e.g., data objects) from a remote data repository 310 and a data repository 322 included in the production environment 320. The object interface unit 335 is configured to retrieve metadata (e.g., metadata associated with the data objects) from a metadata repository 323 included in the production environment 320. The retrieved metadata, along with the retrieved data objects, is instantiated by the supply application in a workspace (e.g., workspace A341, workspace B343, and workspace C345). Figure 3As shown, the provisioning application 330 of the workspace creation unit can materialize (i.e., physically deploy) different types of workspaces. For example, workspaces A 341 and B 343 are deployed in execution locations that are remote application instances or hybrid environments, while workspace C is deployed in an area within an application instance within the production environment 320 (i.e., an in-memory workspace implementation).
[0062] Through some embodiments, data interface unit 333 and object interface unit 335 can utilize filtering mechanisms to obtain relevant data (and metadata) from remote data repository 310 and production environment 320. Details regarding the operation of data interface unit 333 are referenced herein. Figure 4 The data objects obtained via data interface unit 333 and metadata obtained via object interface unit 335 are input to instruction unit 337. Instruction unit 337 generates a set of instructions for executing one or more data objects and associated metadata in a workspace to be created within the execution site. Specifically, the instruction set is generated by instruction unit 337 in a format that can be transformed into an equivalent instruction set that can be executed in the execution site of the hosted workspace. Therefore, instruction unit 337 generates the instruction set as an executable script (e.g., an artifact) that can be executed in different workspace environments. In other words, the instruction set generated by instruction unit 337 is target-agnostic (i.e., workspace-agnostic), where data objects and metadata can be materialized in different workspace environments via the execution of the executable script. For example, the workspace creation unit can extract data from different types of data repositories (e.g., bit data repositories, relational data repositories, etc.) and materialize the extracted data in any environment (e.g., a big data environment).
[0063] In some embodiments, for a workspace creation request issued by a client device, information related to the generated instruction set (and associated data objects and metadata), the execution location of the workspace, etc., is stored by instruction unit 337 as workspace configuration information in configuration database 336. Storing this configuration information for different workspaces in configuration database 336 allows workspace creation unit 120 to create workspaces seamlessly in the future. For example, consider that configuration information for a specific workspace (e.g., workspace A 341) is stored in configuration database 336. Suppose that at some point, workspace A is deleted via a request issued by the client device. Subsequently, if the client device wants to recreate workspace A, the workspace creation unit can simply retrieve the configuration information from configuration database 336 to materialize workspace A. In doing so, the workspace creation unit avoids the need to (again) retrieve all data objects and associated metadata from remote data repository 310 and / or production environment 320, thereby saving computational resources of the data processing system. Furthermore, the workspace creation unit can provide the client device (via API) with a list of data objects and metadata previously associated with the workspace. Client devices can utilize a list of data objects and metadata, as well as instruct the workspace creation unit to retrieve additional data objects (or metadata) when recreating a new instance of the workspace.
[0064] According to some embodiments, materializer unit 339 is configured to process the extracted data objects and metadata, and generate a provision executable (e.g., a script) capable of physically creating a workspace in the execution location (at execution time). After the workspace is created, the workspace creation unit can instantiate a portion (i.e., a sub-model) of the extracted data objects, metadata, and / or data model within the workspace for further processing.
[0065] Figure 4 The illustration shows a data interface unit according to various embodiments. Specifically, Figure 4 The illustrations are included Figure 3 A schematic diagram 400 shows the components of the data interface unit 333 within the supply application 330. The data interface unit 333 includes a request processing unit 410, a filtering unit 411, a data retrieval unit 413, an impact analysis unit 415, a data processing unit 417, a claim 419, and a neutral language converter 421.
[0066] According to some embodiments, a request to create a workspace is issued by a client device (e.g., via...). Figure 1A user request (issued by client device 105) is directed to the workspace creation unit. Specifically, the request is directed to the request processing unit 410 of data interface unit 333. Request processing unit 410 is configured to process the request, for example, extracting information related to the execution location of the workspace, obtaining information related to a portion of the model to be implemented in the workspace (e.g., data model 205 deployed in production environment 201), etc. After processing the request for workspace creation, request processing unit 410 triggers data retrieval unit 413.
[0067] The data retrieval unit 413 communicates with the driver 403 included in the production environment 410. The driver 403 performs a lookup operation on the data repository 401 (of the production environment 410) to retrieve data objects, functions, etc. Information extracted from the data repository 401 is passed to the data retrieval unit 413 of the data interface unit 333. According to some embodiments, when a user request relates to the creation of a sub-model within the workspace, the data retrieval unit 413 transmits an identifier associated with the sub-model to the driver 403. The driver 403 uses this identifier to perform a lookup operation on the data storage 401, which maintains a mapping between models deployed in the production environment and associated data objects. In this way, the driver can extract relevant data objects associated with the sub-model and transmit the extracted data objects to the data retrieval unit 413.
[0068] In some embodiments, the data retrieval unit 413 communicates with the influence analysis unit 415 to perform analysis on the retrieved data objects. For example, the influence analysis unit 415 examines the dependencies of the extracted data objects, that is, identifies one or more additional data objects that depend on the retrieved data objects, and notifies the data retrieval unit 413 to retrieve the additional data objects. In some embodiments, the data interface unit 333 utilizes the filtering unit 411 to perform one or more filtering operations on the retrieved data objects to obtain a set of relevant data objects for the request. For example, a request to create a workspace may include information related to the user's preferences for data objects. Such user preferences can be used as a filtering mechanism to obtain the most relevant set of data objects that will be materialized in the workspace.
[0069] Additionally, the retrieved and / or filtered data objects are passed to data processing unit 417, which uses entitlement 419 (i.e., a set of one or more access permissions) to determine whether a user (e.g., the user who initiated the workspace creation request) is authorized to access each retrieved and / or filtered data object. In response to data processing unit 417 determining that a user is not authorized to access one or more of the retrieved data objects, data processing unit 417 may trigger request processing unit 410 to transmit an electronic message to the client device to notify the user of this determination. Furthermore, the electronic message may include a notification to the user explaining that the workspace creation request cannot be completed due to access issues. However, in response to successfully determining that a user is authorized to access each of one or more data objects, data processing unit 417 activates neutral language translator 421.
[0070] In some embodiments, the neutral language converter 421 is configured to convert the format of data objects, metadata, etc., into a format acceptable to the execution environment of the workspace. In doing so, the data interface unit 333 ensures that the extracted one or more data objects can be used for further processing of the workspace. In some embodiments, the data processing unit 417 triggers the materializer (…) upon successfully determining that a user is authorized to access each of the one or more data objects. Figure 3 Unit 338) generates a provisioning executable file that creates a workspace within the execution site. Furthermore, data processing unit 417 can also trigger request processing unit 410 to transmit an electronic message to the client device instructing the user to successfully authorize one or more data objects. One or more data objects processed by neutral language converter 421 are passed to instruction unit (i.e., Figure 3 Unit 336) is used to begin the process of creating a workspace in the execution site.
[0071] Figure 5 The illustration shows a flowchart 500 depicting a process of workspace provisioning performed by a workspace creation unit of a data processing system according to various embodiments. Figure 5 The processing described herein can be implemented in software (e.g., code, instructions, program) executed by one or more processing units (e.g., processor, core) of a corresponding system, hardware, or combination thereof. The software can be stored on a non-transitory storage medium (e.g., a memory device). Figure 5 The methods presented and described below are intended to be illustrative rather than restrictive. Although Figure 5 Various processing steps that occur in a specific order or sequence are described, but this is not limiting. In some alternative embodiments, the steps may be performed in a different order, or some steps may be performed in parallel.
[0072] The process begins at step 510, where the workspace creation unit (e.g., from a client device) receives a request to create a workspace to implement at least a portion of a model deployed in the production environment. To further process and enhance the sub-model—for example, retraining the sub-model on new training data, fine-tuning one or more parameters of the sub-model to improve performance, etc.—the model (e.g., ...) expected to be implemented in the workspace... Figure 5 The aforementioned portions of the data model 205 can correspond to specific sub-models of the data model (and associated data objects and metadata used to construct the sub-models). Through some embodiments, in order to construct new predictive models or evaluate scenarios for anomaly detection or data pattern research, it is desirable that the aforementioned portions of the model implemented in the workspace correspond to slices of production environment data (e.g., data objects, data records, etc.).
[0073] The process then proceeds to step 520, where the workspace creation unit obtains the data objects and associated metadata related to the aforementioned portions of the model from the production environment (e.g., the data repository and metadata repository included in the production environment). The workspace creation unit obtains the relevant data objects and associated metadata by performing lookup operations on the data repository and metadata repository, which maintains a mapping between the model deployed in the production environment and the associated data objects and metadata used by the model. In step 530, the workspace creation unit obtains the execution location, i.e., the destination where the workspace is to be created. The workspace creation unit extracts the execution location information embedded in the workspace creation request issued by the client device.
[0074] The process then proceeds to step 540, where the workspace creation unit generates a set of instructions for executing one or more data objects and associated metadata within the workspace. It is understood that this set of instructions is generated in a format that can be transformed into an equivalent set of instructions that can be executed in the execution location hosting the workspace. In step 550, the workspace creation unit generates a provisioned executable (e.g., a script) capable of physically creating the workspace in the execution location during execution (step 560). It is understood that, in some embodiments, the workspace creation unit generates the provisioned executable in response to determining that the user (associated with the client device) who issued the request to create the workspace is authorized to access the relevant data objects and associated metadata obtained in step 520.
[0075] In step 570, the workspace creation unit executes a set of instructions within the created workspace. Specifically, the workspace creation unit instantiates a portion of the extracted data objects, metadata, and / or data models (i.e., sub-models) within the workspace for further processing. After processing of the sub-models in the workspace is complete, the process in step 580 updates the production environment. For example, an older version of the sub-model deployed in production environment 201 can be replaced with a processed (i.e., retrained / fine-tuned) sub-model from the workspace.
[0076] Furthermore, through some embodiments, the data processing system can provide the option of maintaining both an older version of the sub-model and an updated version of the sub-model in the production environment. As previously described, before creating the workspace, the initial state of the production environment can be stored in a production-associated data storage device, where the initial state includes performance parameters (e.g., a first output) of the data model deployed in production environment 201. For example, after replacing the older version of the sub-model of the data model with a retrained / fine-tuned version of the sub-model (obtained from the workspace), the data processing system can generate an updated state of the production environment, where the updated state includes new outputs of the model deployed in the production environment (i.e., a second output different from the first output).
[0077] Explanatory System
[0078] Figure 6 A simplified diagram of a distributed system 600 is depicted. In the example shown, the distributed system 600 includes one or more client computing devices 602, 604, 606, and 608 coupled to a server 612 via one or more communication networks 610. The client computing devices 602, 604, 606, and 608 can be configured to execute one or more applications.
[0079] In various examples, server 612 may be adapted to run one or more services or software applications that implement one or more embodiments described in this disclosure. In some examples, server 612 may also provide other services or software applications that may include non-virtual and virtual environments. In some examples, these services may be provided as web-based services or cloud services (such as under a Software as a Service (SaaS) model) to users of client computing devices 602, 604, 606, and / or 608. Users operating client computing devices 602, 604, 606, and / or 608 may then interact with server 612 using one or more client applications to utilize the services provided by these components.
[0080] exist Figure 6In the depicted configuration, server 612 may include one or more components 618, 620, and 622 that implement the functions performed by server 612. These components may include software components, hardware components, or combinations thereof that can be executed by one or more processors. It should be recognized that various different system configurations are possible and may differ from distributed system 600. Therefore, Figure 6 The example shown is an example of a distributed system used to implement the example system and is not intended to be limiting.
[0081] Users can use client computing devices 602, 604, 606, and / or 608 to execute one or more applications, models, or chatbots, which can generate one or more events or models, and then implement or service those events or models in accordance with the teachings of this disclosure. The client device can provide an interface that enables a user of the client device to interact with it. The client device can also output information to the user via this interface. Although Figure 6 Only four client computing devices are depicted, but any number of client computing devices can be supported.
[0082] Client devices can include various types of computing systems, such as portable handheld devices, general-purpose computers (such as personal computers and laptops), workstation computers, wearable devices, gaming systems, thin clients, various messaging devices, sensors, and other sensing devices. These computing devices can run various types and versions of software applications and operating systems (e.g., Microsoft). Apple Or a UNIX-like operating system, Linux, or a Linux-like operating system, such as Google Chrome. TMTM OS), including various mobile operating systems (e.g., Microsoft Windows). Windows Android TM , Palm Portable handheld devices can include cellular phones, smartphones (e.g., ), tablet computers (e.g.) Wearable devices include Google's personal digital assistants (PDAs), personal digital assistants (PDAs), and more. Head-mounted displays and other devices. Gaming systems can include various handheld gaming devices, internet-enabled gaming devices (e.g., with or without internet access). Gesture input devices
[0083] Microsoft Game consoles, Sony System, by Various game systems are provided, etc. Client devices can run a variety of different applications, such as various Internet-related applications, communication applications (e.g., email applications, Short Message Service (SMS) applications), and can use various communication protocols.
[0084] One or more networks 610 can be any type of network familiar to those skilled in the art, and can use any of a variety of available protocols to support data communication, including but not limited to TCP / IP (Transmission Control Protocol / Internet Protocol), SNA (System Network Architecture), IPX (Internet Packet Switching). etc. For example only, network(s) 610 can be a local area network (LAN), an Ethernet-based network, a token ring network, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., in any IEEE 1002.11 protocol suite), etc. (and / or any other wireless protocol operating network) and / or any combination of these networks and / or other networks.
[0085] Server 612 may consist of: one or more general-purpose computers, dedicated server computers (as an example, including PC (personal computer) servers), Server 612 may be a server, a mid-range server, a mainframe computer, a rack-mounted server, etc., a server farm, a server cluster, or any other suitable arrangement and / or combination. Server 612 may include one or more virtual machines running a virtual operating system, or other computing architectures involving virtualization, such as one or more flexible pools of logical storage devices that can be virtualized to maintain virtual storage devices for servers. In various examples, server 612 may be adapted to run one or more services or software applications that provide the functionality described in the foregoing disclosure.
[0086] The computing system in server 612 can run one or more operating systems, including any of the operating systems discussed above and any commercial server operating system. Server 612 can also run any of a variety of additional server applications and / or middleware applications, including HTTP (Hypertext Transfer Protocol) servers, FTP (File Transfer Protocol) servers, CGI (Common Gateway Interface) servers, etc. Servers, database servers, etc. Exemplary database servers include, but are not limited to, those that can be accessed from... Database servers acquired through commercial purchases such as IBM.
[0087] In some implementations, server 612 may include one or more applications to analyze and integrate data feeds and / or event updates received from users of client computing devices 602, 604, 606, and 608. As an example, data feeds and / or event updates may include, but are not limited to, data received from one or more third-party information sources and continuous data streams. feed, The updates, or real-time updates, may include real-time events related to sensor data applications, financial quotation machines, network performance measurement tools (e.g., network monitoring and traffic management applications), clickstream analysis tools, vehicle traffic monitoring, and the like. Server 612 may also include one or more applications that display data feeds and / or real-time events via one or more display devices of client computing devices 602, 604, 606, and 608.
[0088] The distributed system 600 may also include one or more data repositories 614, 616. In some examples, these data repositories may be used to store data and other information. For example, one or more of data repositories 614, 616 may be used to store information, such as information related to the performance of the chatbot or the generated model, for use by the chatbot when the server 612 performs various functions according to various embodiments. Data repositories 614, 616 may reside in various locations. For example, the data repository used by the server 612 may be local to the server 612 or may be located remotely to the server 612 and communicate with the server 612 via a network-based connection or a dedicated connection. Data repositories 614, 616 may be of different types. In some examples, the data repository used by the server 612 may be a database, such as a relational database, such as one built by Oracle. And databases provided by other vendors. One or more of these databases can be adapted to perform the storage, updating, and retrieval of data to and from the database in response to SQL-formatted commands.
[0089] In some examples, the application may also use one or more of data stores 614 and 616 to store application data. The data store used by the application can be of different types, such as, for example, a key-value store, an object store, or a general-purpose storage store supported by a file system.
[0090] In some examples, the functionality described in this disclosure may be provided as a service via a cloud environment. Figure 7 This is a simplified block diagram of a cloud-based system environment, based on certain examples, where various services can be provided as cloud services. Figure 7In the example depicted, cloud infrastructure system 702 can provide one or more cloud services that can be requested by users using one or more client computing devices 704, 706, and 708. Cloud infrastructure system 702 may include one or more computers and / or servers, including those described above for server 612. The computers in cloud infrastructure system 702 may be organized as general-purpose computers, dedicated server computers, server farms, server clusters, or any other suitable arrangement and / or combination.
[0091] One or more networks 710 can facilitate communication and data exchange between clients 704, 706, and 708 and cloud infrastructure system 702. One or more networks 710 may include one or more networks. Networks may be of the same or different types. One or more networks 710 may support one or more communication protocols, including wired and / or wireless protocols, to facilitate communication.
[0092] Figure 7 The example depicted is merely one example of a cloud infrastructure system and is not intended to be limiting. It should be recognized that in some other examples, the cloud infrastructure system 702 can have more than... Figure 7 The components shown may have more or fewer components, may combine two or more components, or may have different component configurations or arrangements. For example, although Figure 7 Three client computing devices are depicted, but any number of client computing devices can be supported in alternative examples.
[0093] The term "cloud service" is generally used to refer to services made available to users on demand by a service provider's systems (e.g., cloud infrastructure system 702) and via a communication network such as the Internet. Typically, in a public cloud environment, the servers and systems that make up the cloud service provider's systems are different from the customer's own native servers and systems. The cloud service provider's systems are managed by the cloud service provider. Customers can therefore utilize cloud services provided by the cloud service provider themselves without having to purchase separate licenses, support, or hardware and software resources for the services. For example, the cloud service provider's systems can host applications, and users can subscribe to and use applications on demand via the Internet without having to purchase the infrastructure resources needed to run the applications. Cloud services are designed to provide easy, scalable access to applications, resources, and services. Several providers offer cloud services. For example, the provider in Redwood Shores, California... The company offers several cloud services, such as middleware services, database services, and Java cloud services.
[0094] In some examples, cloud infrastructure system 702 may use different models such as Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a Service (IaaS), and other models including hybrid service models to provide one or more cloud services. Cloud infrastructure system 702 may include a set of applications, middleware, databases, and other resources that enable the provisioning of various cloud services.
[0095] The SaaS model enables applications or software to be delivered to customers as a service via communication networks such as the internet, without requiring customers to purchase the underlying hardware or software. For example, the SaaS model can be used to provide customers with access to on-demand applications hosted by cloud infrastructure systems. Examples of the SaaS services offered by the company include, but are not limited to, those for human resources / capital management, customer relationship management (CRM), enterprise resource planning (ERP), supply chain management (SCM), enterprise performance management (EPM), analytics services, social applications, and a variety of other services.
[0096] The IaaS model is typically used to provide customers with infrastructure resources (such as servers, storage devices, hardware, and networking resources) as cloud services to provide elastic computing and storage capabilities. The company provides a variety of IaaS services.
[0097] The PaaS model is typically used to provide platform and environment resources as a service, enabling customers to develop, run, and manage applications and services without having to purchase, build, or maintain such resources. Examples of PaaS services provided by the company include, but are not limited to, Oracle Java Cloud Service (JCS), Oracle Database Cloud Service (DBCS), Data Management Cloud Service, and various application development solutions.
[0098] Cloud services are typically delivered on an on-demand, self-service, subscription-based, elastically scalable, reliable, highly available, and secure basis. For example, a customer may subscribe to one or more services provided by cloud infrastructure system 702 via a subscription order. Cloud infrastructure system 702 then performs processing to provide the service requested in the customer's subscription order. For instance, a user may use utterances to request the cloud infrastructure system to take an action (e.g., an intent), as described above, and / or to provide services to the chatbot system described herein. Cloud infrastructure system 702 can be configured to provide one or more cloud services.
[0099] Cloud infrastructure system 702 can provide cloud services through different deployment models. In a public cloud model, cloud infrastructure system 702 can be owned by a third-party cloud service provider, and the cloud services are provided to any general public customer, who can be an individual or a business. In some other examples, under a private cloud model, cloud infrastructure system 702 can operate both within an organization (e.g., within a business organization) and as a service provided to a customer. For example, a customer can be various departments within a business, such as human resources, payroll, or even an individual within the business. In some other examples, under a community cloud model, cloud infrastructure system 702 and the services provided can be shared by several organizations in the relevant community. Various other models, such as a hybrid of the models mentioned above, can also be used.
[0100] Client computing devices 704, 706, and 708 can be of different types (such as...) Figure 6 The client computing devices 604, 606, and 608 depicted in this disclosure can operate one or more client applications. Users can use the client devices to interact with the cloud infrastructure system 702, such as requesting services provided by the cloud infrastructure system 702. For example, a user can use the client device to request information or actions from a chatbot, as described in this disclosure.
[0101] In some examples, the processing performed by cloud infrastructure system 702 to provide services may involve model training and deployment. This analysis may involve using, analyzing, and manipulating datasets to train and deploy one or more models. This analysis may be performed by one or more processors, potentially processing data in parallel, using the data to perform simulations, etc. For example, big data analysis may be performed by cloud infrastructure system 702 to generate and train one or more models for a chatbot system. The data used for this analysis may include structured data (e.g., data stored in a database or structured according to a structured model) and / or unstructured data (e.g., data blobs (binary large objects)).
[0102] As in Figure 7 As depicted in the examples, cloud infrastructure system 702 may include infrastructure resources 730 for facilitating the provision of various cloud services offered by cloud infrastructure system 702. Infrastructure resources 730 may include, for example, processing resources, storage or memory resources, networking resources, etc. In some examples, a storage virtual machine that can be used to service storage requested from an application may be part of cloud infrastructure system 702. In other examples, the storage virtual machine may be part of a different system.
[0103] In some examples, to facilitate the efficient provisioning of these resources to support the various cloud services offered by the cloud infrastructure system 702 to different customers, resources can be bundled into resource modules or collections of resources (also known as "pods"). Each resource module or pod may include a pre-integrated and optimized combination of one or more types of resources. In some examples, different pods may be pre-provisioned for different types of cloud services. For example, a first pod may be provisioned for a database service, and a second pod may be provisioned for a Java service, which may include a different combination of resources than the pods in the first pod. For some services, resources allocated for provisioning services may be shared between services.
[0104] The cloud infrastructure system 702 itself can internally use service 732, which is shared by different components of the cloud infrastructure system 702 and facilitates the service provisioning of the cloud infrastructure system 702. These internally shared services may include, but are not limited to, security and identity services, integration services, enterprise repository services, enterprise manager services, virus scanning and whitelisting services, high availability, backup and recovery services, services for enabling cloud support, email services, notification services, file transfer services, etc.
[0105] Cloud infrastructure system 702 may include multiple subsystems. These subsystems may be implemented using software or hardware, or a combination thereof. Figure 7 As shown, the subsystem may include a user interface subsystem 712 that enables users or clients of the cloud infrastructure system 702 to interact with the cloud infrastructure system 702. The user interface subsystem 712 may include various interfaces, such as a web interface 714, an online store interface 716 (where cloud services provided by the cloud infrastructure system 702 are advertised and available for purchase by consumers), and other interfaces 718. For example, a client may use a client device and one or more of interfaces 714, 716, and 718 to request (service request 734) one or more services provided by the cloud infrastructure system 702. For example, a client may access an online store, browse cloud services provided by the cloud infrastructure system 702, and place a subscription order for one or more services provided by the cloud infrastructure system 702 that the client wishes to subscribe to. The service request may include information identifying the client and the one or more services the client wishes to subscribe to. For example, a client may place a subscription order for services provided by the cloud infrastructure system 702. As part of the order, the client may provide information identifying the chatbot system for which services are to be provided, and optionally one or more credentials for the chatbot system.
[0106] In some examples, such as Figure 7As illustrated in the example, cloud infrastructure system 702 may include an order management subsystem (OMS) 720 configured to process new orders. As part of this process, OMS 720 may be configured to: create accounts for customers (if not already created); receive invoices and / or accounting information from customers, which will be used to bill customers for the services requested; verify customer information; place orders for customers after verification; and orchestrate various workflows to prepare orders for supply.
[0107] Once correctly verified, OMS 720 can invoke the Order Provisioning Subsystem (OPS) 724, which is configured to provision resources for orders, including processing resources, storage resources, and networking resources. Provisioning can include allocating resources for an order and configuring resources to facilitate the service requested by the customer's order. The method and type of resources provisioned for an order can depend on the type of cloud service the customer has subscribed to. For example, according to a workflow, OPS 724 can be configured to determine the specific cloud service requested and identify multiple clusters that may have been pre-configured for that specific cloud service. The number of clusters allocated to an order can depend on the size / quantity / level / scope of the requested service. For example, the number of clusters to be allocated can be determined based on the number of users supported by the service, the duration of the requested service, etc. The allocated clusters can then be customized for the specific requesting customer to provide the requested service.
[0108] In some examples, the setup phase processing described above can be performed by cloud infrastructure system 702 as part of the provisioning process. Cloud infrastructure system 702 can generate application IDs and select storage virtual machines for the application from storage virtual machines provided by cloud infrastructure system 702 itself or from storage virtual machines provided by other systems besides cloud infrastructure system 702.
[0109] Cloud infrastructure system 702 may send a response or notification 744 to the requesting client to indicate when the requested service is now ready for use. In some cases, information (e.g., a link) may be sent to the client, enabling them to begin using and taking advantage of the benefits of the requested service. In some examples, for the client requesting the service, the response may include a chatbot system ID generated by cloud infrastructure system 702 and information identifying the chatbot system selected by cloud infrastructure system 702 for the chatbot system corresponding to the chatbot system ID.
[0110] Cloud infrastructure system 702 can provide services to multiple customers. For each customer, cloud infrastructure system 702 is responsible for managing information related to one or more subscription orders received from the customer, maintaining customer data related to the orders, and providing the requested services to the customer. Cloud infrastructure system 702 can also collect usage statistics about customers' use of subscribed services. For example, statistics can be collected on storage usage, data transfer volume, number of users, system uptime, and system downtime. This usage information can be used for billing customers. Billing can be, for example, on a monthly basis.
[0111] Cloud infrastructure system 702 can provide services to multiple customers in parallel. Cloud infrastructure system 702 can store information about these customers, including potentially proprietary information. In some examples, cloud infrastructure system 702 includes an Identity Management Subsystem (IMS) 728, which is configured to manage customer information and provide separation of the managed information, making information associated with one customer inaccessible to another. IMS 728 can be configured to provide various security-related services, such as identity services, information access management, authentication and authorization services, services for managing customer identities and roles and related capabilities, and so on.
[0112] Figure 8 An example of a computer system 800 is illustrated. In some examples, computer system 800 can be used to implement any digital assistant or chatbot system within a distributed environment and within the various servers and computer systems described above. Figure 8 As shown, the computer system 800 includes various subsystems, including a processing subsystem 804 that communicates with multiple other subsystems via a bus subsystem 802. These other subsystems may include a processing acceleration unit 806, an I / O subsystem 808, a storage subsystem 818, and a communication subsystem 824. The storage subsystem 818 may include a non-transitory computer-readable storage medium, including storage medium 822 and system memory 810.
[0113] Bus subsystem 802 provides a mechanism for enabling various components and subsystems of computer system 800 to communicate with each other as desired. While bus subsystem 802 is schematically shown as a single bus, alternative examples of the bus subsystem may utilize multiple buses. Bus subsystem 802 can be any of several types of bus architectures, including memory buses or memory controllers, peripheral buses, local buses using any of the various bus architectures, etc. For example, such architectures may include Industry Standard Architecture (ISA) buses, Micro Channel Architecture (MCA) buses, Enhanced ISA (EISA) buses, Video Electronics Standards Association (VESA) local buses, and Peripheral Component Interconnect (PCI) buses, which may be implemented as mezzanine buses manufactured according to the IEEE P1386.1 standard, etc.
[0114] Processing subsystem 804 controls the operation of computer system 800 and may include one or more processors, application-specific integrated circuits (ASICs), or field-programmable gate arrays (FPGAs). Processors may include single-core or multi-core processors. The processing resources of computer system 800 may be organized into one or more processing units 832, 834, etc. A processing unit may include one or more processors, one or more cores from the same or different processors, a combination of cores and processors, or other combinations of cores and processors. In some examples, processing subsystem 804 may include one or more dedicated coprocessors, such as graphics processors, digital signal processors (DSPs), etc. In some examples, some or all of the processing units of the processing subsystem may be implemented using custom circuitry, such as application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs).
[0115] In some examples, the processing units in the processing subsystem 804 can execute instructions stored in system memory 810 or on computer-readable storage medium 822. In various examples, the processing units can execute various program or code instructions and can maintain multiple concurrently executing programs or processes. At any given time, some or all of the program code to be executed can reside in system memory 810 and / or on computer-readable storage medium 822, including possibly on one or more storage devices. With appropriate programming, the processing subsystem 804 can provide the various functions described above. In the case where the computer system 800 is executing one or more virtual machines, one or more processing units can be assigned to each virtual machine.
[0116] In some examples, a processing acceleration unit 806 may optionally be provided to perform custom processing or to offload some processing performed by the processing subsystem 804, thereby accelerating the overall processing performed by the computer system 800.
[0117] I / O subsystem 808 may include devices and mechanisms for inputting information to and / or outputting information from or via computer system 800. Generally, the term "input device" is used to include all possible types of devices and mechanisms for inputting information to computer system 800. User interface input devices may include, for example, keyboards, pointing devices such as mice or trackballs, touchpads or touchscreens incorporated into a display, scroll wheels, click wheels, dials, buttons, switches, keypads, audio input devices with voice command recognition systems, microphones, and other types of input devices. User interface input devices may also include features such as Microsoft's [unclear - possibly related to a specific technology or system] that enable users to control and interact with the input device. Motion sensors for motion sensing and / or posture recognition devices, Microsoft The 360 game controller provides an interface for receiving input using gestures and spoken commands. The user interface input device may also include eye gesture recognition devices, such as detecting eye activity from the user (e.g., "blinking" when taking a picture and / or making menu selections) and translating the eye gesture into the input device (e.g., Google). ) input Blink detector. Additionally, the user interface input device may include features that enable the user to interact with a voice recognition system (e.g., ...) via voice commands. A voice recognition sensing device that interacts with a navigator.
[0118] Other examples of user interface input devices include, but are not limited to: 3D mice, joysticks or pointers, gamepads and graphics tablets, and audio / video devices such as speakers, digital cameras, digital camcorders, portable media players, webcams, image scanners, fingerprint scanners, barcode readers, 3D scanners, 3D printers, laser rangefinders, and eye-tracking devices. Furthermore, user interface input devices may include, for example, medical imaging input devices such as computed tomography, magnetic resonance imaging, positional emission computed tomography, and medical ultrasound examination equipment. User interface input devices may also include, for example, audio input devices such as MIDI keyboards, digital musical instruments, etc.
[0119] Generally, the term "output device" is used to encompass all possible types of devices and mechanisms for outputting information from a computer system 800 to a user or other computer. User interface output devices may include display subsystems, indicator lights, or non-visual displays such as audio output devices. Display subsystems may be cathode ray tubes (CRTs), flat panel devices such as those utilizing liquid crystal displays (LCDs) or plasma displays, projection devices, touchscreens, etc. For example, user interface output devices may include, but are not limited to, various display devices that visually convey text, graphics, and audio / video information, such as monitors, printers, speakers, headphones, car navigation systems, plotters, voice output devices, and modems.
[0120] Storage subsystem 818 provides a repository or data storage facility for storing information and data used by computer system 800. Storage subsystem 818 provides a tangible, non-transitory, computer-readable storage medium for storing basic programming and data constructs that provide some example functionality. Storage subsystem 818 may store software (e.g., programs, code modules, instructions) that provides the aforementioned functionality when executed by processing subsystem 804. The software may be executed by one or more processing units of processing subsystem 804. Storage subsystem 818 may also provide certification according to the teachings of this disclosure.
[0121] The storage subsystem 818 may include one or more non-transitory memory devices, including volatile and non-volatile memory devices. For example... Figure 8 As shown, the storage subsystem 818 includes system memory 810 and computer-readable storage medium 822. System memory 810 may include multiple memories, including volatile main random access memory (RAM) for storing instructions and data during program execution, and non-volatile read-only memory (ROM) or flash memory where fixed instructions are stored. In some embodiments, the basic input / output system (BIOS) may typically be stored in ROM, containing basic routines that facilitate the transfer of information between elements within the computer system 800, for example, during startup. RAM typically contains data and / or program modules currently operated and executed by the processing subsystem 804. In some embodiments, system memory 810 may include various different types of memory, such as static random access memory (SRAM), dynamic random access memory (DRAM), etc.
[0122] As an example, not a limitation, such as Figure 8As shown, system memory 810 can load an application 812, program data 814, and operating system 816 that are being executed, which may include various applications (such as web browsers, middleware applications, relational database management systems (RDBMS), etc.). As an example, operating system 816 may include various versions of Microsoft... Apple and / or Linux operating system, various commercial Or a UNIX-like operating system (including but not limited to various GNU / Linux operating systems, Google...) OS and / or mobile operating systems, such as iOS, Phone OS OS OS operating system, and other operating systems.
[0123] Computer-readable storage medium 822 can store programming and data structures that provide some example functionality. Computer-readable storage medium 822 can provide storage for computer-readable instructions, data structures, program modules, and other data for computer system 800. When executed by processing subsystem 804, the software (programs, code modules, instructions) providing the above functionality can be stored in storage subsystem 818. As an example, computer-readable storage medium 822 may include non-volatile memory, such as hard disk drives, disk drives, such as CD-ROMs, DVDs, Blu-ray discs, etc. Optical disc drives for (Blu-ray) discs or other optical media. Computer-readable storage media 822 may include, but are not limited to: Drives, flash memory cards, Universal Serial Bus (USB) flash drives, Secure Digital (SD) cards, DVD discs, digital video tapes, etc. Computer-readable storage media 822 may also include solid-state drives (SSDs) based on non-volatile memory (such as flash memory-based SSDs, enterprise flash drives, solid-state ROMs, etc.), volatile memory-based SSDs (such as solid-state RAM, dynamic RAM, static RAM, DRAM-based SSDs, magnetoresistive RAM (MRAM) SSDs), and hybrid SSDs using a combination of DRAM-based and flash memory-based SSDs.
[0124] In some examples, the storage subsystem 818 may also include a computer-readable storage medium reader 820, which may also be connected to a computer-readable storage medium 822. The reader 820 may receive and be configured to read data from a memory device such as a disk, flash drive, etc.
[0125] In some examples, computer system 800 may support virtualization technologies, including but not limited to the virtualization of processing and memory resources. For example, computer system 800 may provide support for executing one or more virtual machines. In some examples, computer system 800 may execute programs such as hypervisors that facilitate the configuration and management of virtual machines. Memory, computing (e.g., processor, cores), I / O, and networking resources may be allocated to each virtual machine. Each virtual machine typically runs independently of other virtual machines. Virtual machines typically run their own operating systems, which may be the same as or different from the operating systems executed by other virtual machines executed by computer system 800. Therefore, computer system 800 may potentially run multiple operating systems simultaneously.
[0126] The communication subsystem 824 provides an interface to other computer systems and networks. The communication subsystem 824 serves as an interface for receiving data from the computer system 800 and transmitting data to other systems. For example, the communication subsystem 824 enables the computer system 800 to establish a communication channel via the Internet to one or more client devices for receiving and sending information to client devices. For example, when the computer system 800 is used to implement... Figure 1 When the robot system 120 is described, the communication subsystem can be used to communicate with the chatbot system selected for the application.
[0127] The communication subsystem 824 may support both wired and / or wireless communication protocols. In some examples, the communication subsystem 824 may include radio frequency (RF) transceiver components, global positioning system (GPS) receiver components, and / or other components for accessing wireless voice and / or data networks, for example, using cellular telephone technology, advanced data network technologies (such as 3G, 4G, or EDGE (Global Evolution Enhanced Data Rate), WiFi (IEEE 802.XX family of standards), or other mobile communication technologies, or any combination thereof). In some examples, as an addition to or alternative to the wireless interface, the communication subsystem 824 may provide a wired network connection (e.g., Ethernet).
[0128] The communication subsystem 824 can receive and transmit data in various forms. In some examples, among others, the communication subsystem 824 can also receive input communications in the form of structured and / or unstructured data feeds 826, event streams 828, event updates 830, etc. For example, the communication subsystem 824 can be configured to receive data in real time from users on social media networks and / or other similar platforms. feed, Updates, web feeds such as Rich Site Summary (RSS) feeds, other communication services receive (or send) data feeds 826, and / or real-time updates from one or more third-party information sources.
[0129] In some examples, the communication subsystem 824 can be configured to receive data that may be inherently continuous or unbounded without a definite end, in the form of a continuous data stream, wherein the continuous data stream may include an event stream 828 of real-time events and / or event updates 830. Examples of applications that generate continuous data may include, for example, sensor data applications, financial quotation machines, network performance measurement tools (e.g., network monitoring and traffic management applications), clickstream analysis tools, vehicle traffic monitoring, etc.
[0130] The communication subsystem 824 can also be configured to transmit data from computer system 800 to other computer systems or networks. Data can be transmitted in various forms (such as structured and / or unstructured data feeds 826, event streams 828, event updates 830, etc.) to one or more databases, which can communicate with one or more streaming data sources coupled to computer system 800.
[0131] The computer system 800 can be of a variety of types, including handheld portable devices (e.g., Cellular phone Computing tablets, PDAs), and wearable devices (e.g., Google). Head-mounted displays, personal computers, workstations, mainframes, information stations, server racks, or any other data processing systems. Due to the constantly evolving nature of computers and networks, [the following is relevant:] Figure 8 The description of the computer system 800 shown in the figure is intended only as a concrete example. It has more than Figure 8 Many other configurations of the system with more or fewer components are possible, as illustrated in the paper. Based on the disclosures and teachings provided herein, it should be recognized that other ways and / or methods exist to implement the various examples.
[0132] While specific examples have been described, various modifications, alterations, alternative constructions, and equivalents are possible. The examples are not limited to operations within certain specific data processing environments but can operate freely within multiple data processing environments. Furthermore, although some examples have been described using a specific series of transactions and steps, it will be apparent to those skilled in the art that this is not intended to be limiting. While some flowcharts describe operations as sequential processes, many operations can be performed in parallel or simultaneously. Moreover, the order of operations can be rearranged. Processes may have additional steps not included in the diagrams. Various features and aspects of the above examples can be used individually or in combination.
[0133] Furthermore, while certain examples have been described using specific combinations of hardware and software, it should be recognized that other combinations of hardware and software are also possible. Some examples can be implemented using only hardware, only software, or a combination thereof. The various processes described herein can be implemented in any combination on the same or different processors.
[0134] When a device, system, component, or module is described as being configured to perform certain operations or functions, such configuration can be achieved, for example, by designing electronic circuits to perform the operations, by programming programmable electronic circuits (such as microprocessors), such as by executing computer instructions or code, or by a processor or core programmed to execute code or instructions stored on a non-transitory storage medium, or any combination thereof. Processes can communicate using various technologies, including but not limited to conventional technologies for inter-process communication, and different pairs of processes can use different technologies, or the same pair of processes can use different technologies at different times.
[0135] Specific details are set forth in this disclosure to provide a thorough understanding of the examples. However, the examples may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary details to avoid obscuring the examples. This description provides exemplary examples only and is not intended to limit the scope, applicability, or configuration of other examples. Rather, the prior description of the examples will provide those skilled in the art with enabling descriptions for implementing the various examples. Various changes can be made to the function and arrangement of the elements.
[0136] Therefore, the specification and drawings should be considered illustrative rather than restrictive. However, it will be apparent that additions, omissions, deletions, and other modifications and alterations may be made therein without departing from the broader spirit and scope set forth in the claims. Thus, while specific examples have been described, they are not intended to be limiting. Various modifications and equivalents are within the scope of the appended claims.
[0137] In the foregoing specification, aspects of this disclosure have been described with reference to specific examples therein; however, those skilled in the art will recognize that this disclosure is not limited thereto. The various features and aspects of the foregoing disclosure may be used alone or in combination. Furthermore, the examples may be utilized in any number of environments and applications beyond those described herein without departing from the broader spirit and scope of this specification. Therefore, this specification and the accompanying drawings are to be considered illustrative rather than restrictive.
[0138] In the foregoing description, the methods have been described in a specific order for illustrative purposes. It should be recognized that, in alternative examples, these methods may be performed in a different order than described. It should also be recognized that the methods described above can be executed by hardware components or can be implemented in a sequence of machine-executable instructions that can be used to cause a machine (such as a general-purpose or special-purpose processor or logic circuits programmed with instructions) to execute the methods. These machine-executable instructions can be stored on one or more machine-readable media, such as CD-ROMs or other types of optical discs, floppy disks, ROM, RAM, EPROM, EEPROM, magnetic cards or optical cards, flash memory, or other types of machine-readable media suitable for storing electronic instructions. Alternatively, these methods can be executed by a combination of hardware and software.
[0139] When a component is described as being configured to perform certain operations, such configuration can be accomplished, for example, by designing electronic circuits or other hardware to perform the operations, by programming programmable electronic circuits (e.g., microprocessors or other suitable electronic circuits), or any combination thereof.
[0140] While illustrative examples of this application have been described in detail herein, it should be understood that the inventive concept may be implemented and adopted in other ways, and the appended claims are intended to be construed as including such variations, except where limited by the prior art.
Claims
1. A method for data processing, comprising: The data processing system receives a request to create a workspace to implement at least a portion of a model deployed in a production environment, wherein the model deployed in the production environment includes multiple sub-models, and the portion of the model corresponds to a sub-model among the multiple sub-models; The data processing system obtains one or more data objects related to the aforementioned part of the model and their associated metadata; The execution location for the workspace is obtained from the data processing system; The data processing system generates an instruction set for executing the one or more data objects and associated metadata in the workspace; A workspace is created by a data processing system within the execution site, wherein the creation includes instantiating the portion of the model, the one or more data objects, and associated metadata in the workspace; According to the instruction set, the model portion is processed in the workspace using the one or more data objects and associated metadata; and The data processing system updates the production environment based on the processing, wherein updating the production environment further includes: Obtain the initial state of the production environment before creating a workspace within the execution site; this initial state includes the first output of the model deployed in the production environment. Replace the portion of the model deployed in the production environment with the portion of the model processed in the workspace; and Based on the replacement, an updated state of the production environment is generated, which includes a second output of the model deployed in the production environment.
2. The method of claim 1, further comprising: Multiple data objects and multiple metadata are obtained from one or more databases associated with the production environment, wherein the one or more databases maintain a mapping between models deployed in the production environment and associated data objects; Filter the plurality of data objects and the plurality of metadata to obtain the one or more data objects and associated metadata related to the portion of the model; as well as A set of lookup operations is performed iteratively on the one or more databases associated with the production environment to obtain at least one data object associated with the one or more data objects.
3. The method as described in claim 1 or 2, wherein the execution location is an application instance within a production environment or a region within a remote application instance.
4. The method of claim 1 or 2, further comprising: Receive a request from the user to execute the specified portion of the model in the workspace; Verify whether the user is permitted to access the one or more data objects related to the aforementioned part of the model and their associated metadata; as well as In response to successful verification, a provisioning executable is generated that creates a workspace within the execution site.
5. The method of claim 1 or 2, wherein the workspace is further configured for Data is retrieved from external data sources; and At least one sandbox application or analysis pipeline is created based on the aforementioned portion of the model, and the aforementioned portion of the model is processed in a workspace using the at least one sandbox application or analysis pipeline.
6. The method of claim 1 or 2, wherein the instruction set is generated in a format that can be transformed into an equivalent instruction set that can be executed in an execution location of a managed workspace.
7. A computing device, comprising: processor; as well as The memory includes instructions that, when executed by a processor, cause the computing device to perform at least the following operations: Receive a request to create a workspace to implement at least a portion of a model deployed in a production environment, wherein the model deployed in the production environment includes multiple sub-models, and the portion of the model corresponds to a sub-model among the multiple sub-models; Obtain one or more data objects related to the aforementioned part of the model and their associated metadata; Obtain a workspace for execution; Generate an instruction set for executing the one or more data objects and associated metadata in the workspace; A workspace is created within the execution environment by instantiating the aforementioned portions of the model, the one or more data objects, and the associated metadata within the workspace. According to the instruction set, the model portion is processed in the workspace using the one or more data objects and associated metadata; and The production environment is updated based on the aforementioned processing, wherein updating the production environment further includes: Obtain the initial state of the production environment before creating a workspace within the execution site; this initial state includes the first output of the model deployed in the production environment. Replace the portion of the model deployed in the production environment with the portion of the model processed in the workspace; and Based on the replacement, an updated state for the production environment is generated, which includes a second output of the model deployed in the production environment.
8. The computing device of claim 7, wherein the processor is further configured to: Multiple data objects and multiple metadata are obtained from one or more databases associated with the production environment, wherein the one or more databases maintain a mapping between models deployed in the production environment and associated data objects; Filter the plurality of data objects and the plurality of metadata to obtain the one or more data objects and associated metadata related to the portion of the model; as well as A set of lookup operations is performed iteratively on the one or more databases associated with the production environment to obtain at least one data object associated with the one or more data objects.
9. The computing device of claim 7 or 8, wherein the execution location is an area within an application instance in a production environment or a remote application instance.
10. The computing device of claim 7 or 8, wherein the processor is further configured to: Receive a request from the user to execute the specified portion of the model in the workspace; Verify whether the user is permitted to access the one or more data objects related to the aforementioned portion of the model and their associated metadata; and In response to successful verification, a provisioning executable is generated that creates a workspace within the execution site.
11. The computing device of claim 7 or 8, wherein the workspace is further configured as Data is retrieved from external data sources; and At least one sandbox application or analysis pipeline is created based on the aforementioned portion of the model, and the aforementioned portion of the model is processed in a workspace using the at least one sandbox application or analysis pipeline.
12. The computing device of claim 7 or 8, wherein the instruction set is generated in a format that can be transformed into an equivalent instruction set that can be executed in an execution location of a managed workspace.
13. A non-transitory computer-readable medium storing particular computer-executable instructions that, when executed by a processor, cause a computer system to perform at least the following operations: Receive a request to create a workspace to implement at least a portion of a model deployed in the production environment, wherein, The model deployed in the production environment includes multiple sub-models, and the portion of the model corresponds to a sub-model among the multiple sub-models; Obtain one or more data objects related to the aforementioned part of the model and their associated metadata; Obtain a workspace for execution; Generate an instruction set for executing the one or more data objects and associated metadata in the workspace; A workspace is created within the execution environment by instantiating the aforementioned portions of the model, the one or more data objects, and the associated metadata within the workspace. The model portion is processed in the workspace using the one or more data objects and associated metadata according to the instruction set; as well as The production environment is updated based on the aforementioned processing, wherein updating the production environment further includes: Obtain the initial state of the production environment before creating a workspace within the execution site; this initial state includes the first output of the model deployed in the production environment. Replace the portion of the model deployed in the production environment with the portion of the model processed in the workspace; and Based on the replacement, an updated state for the production environment is generated, which includes a second output of the model deployed in the production environment.
14. The non-transitory computer-readable medium of claim 13, wherein the computer system is further configured to: Multiple data objects and multiple metadata are obtained from one or more databases associated with the production environment, wherein the one or more databases maintain a mapping between models deployed in the production environment and associated data objects; Filter the plurality of data objects and the plurality of metadata to obtain the one or more data objects and associated metadata related to the portion of the model; as well as A set of lookup operations is performed iteratively on the one or more databases associated with the production environment to obtain at least one data object associated with the one or more data objects.
15. The non-transitory computer-readable medium of claim 13 or 14, wherein the execution location is an area within an application instance in a production environment or a remote application instance.
16. The non-transitory computer-readable medium of claim 13 or 14, wherein the computer system is further configured to: Receive a request from the user to execute the specified portion of the model in the workspace; Verify whether the user is permitted to access the one or more data objects related to the aforementioned portion of the model and their associated metadata; and In response to successful verification, a provisioning executable is generated that creates a workspace within the execution site.
17. The non-transitory computer-readable medium of claim 13 or 14, wherein the computer system is further configured to: Data is retrieved from external data sources; and At least one sandbox application or analysis pipeline is created based on the aforementioned portion of the model, and the aforementioned portion of the model is processed in a workspace using the at least one sandbox application or analysis pipeline.
Citation Information
Patent Citations
Software logistic for learning applications
US20200175336A1