US20150310209A1 - Executing third-party application - Google Patents

Executing third-party application Download PDF

Info

Publication number
US20150310209A1
US20150310209A1 US14/694,942 US201514694942A US2015310209A1 US 20150310209 A1 US20150310209 A1 US 20150310209A1 US 201514694942 A US201514694942 A US 201514694942A US 2015310209 A1 US2015310209 A1 US 2015310209A1
Authority
US
United States
Prior art keywords
data
party
application
party application
developer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/694,942
Inventor
Maosen Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Assigned to ALIBABA GROUP HOLDING LIMITED reassignment ALIBABA GROUP HOLDING LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZHANG, MAOSEN
Publication of US20150310209A1 publication Critical patent/US20150310209A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Definitions

  • the present disclosure relates to the field of third-party application development, and, more particularly, to a method and system of executing a third-party application.
  • a platform-type Internet application (for example, a certain e-commerce transaction platform) generally needs to introduce a third-party developer to provide more detailed and more vertical services for users (for example, seller users in the e-commerce transaction platform).
  • the third-party developer may collect and analyze information, such as a click rate, a cross-store click, an order transfer amount, and even chat records in a related instant messaging tool, to finally provide intuitive suggestions to the seller users.
  • the information such as data analysis results, browsed in a web page of the Internet application is often provided by a third-party server.
  • the Internet application needs to disclose related data to the third-party developer through an open platform, and the third-party developer stores acquired data in its storage system to complete the development and subsequent operation of a service by using the data.
  • Such an implementation at least has the following defects.
  • the third-party developer itself has a very limited capability of software and hardware processing, and therefore cannot implement the calculation processing on mass data.
  • a certain third-party developer intends to provide a commodity replenishment prediction service to a seller user in a certain e-commerce transaction platform.
  • the third-party developer needs to acquire required data from an open platform and inputs the data in an environment of the third-party developer for processing and calculation.
  • the open platform cannot provide the data required by a prediction model directly, such as industry commodity sales volume (involving industry data privacy) and attributes of people conducting transactions of the same category of commodities (involving industry and consumer data privacy).
  • the replenishment channels and replenishment strategies of seller users are core competitiveness as well, and there is an issue of trust if they are provided to the third-party developer directly.
  • the prediction model needs to take industry user behaviors, commodity transaction commodities, etc., into consideration, which results in a large data volume, and the third-party developer may not possess necessary software and hardware development environments. In brief, all of the above factors may prevent a third-party server from providing related service to a user in a transaction platform.
  • the present disclosure provides a method and a system for executing a third-party application, and solves a conflict between data security risk and disclosure high value data.
  • the present disclosure provides an example method for executing a third-party application.
  • Metadata description information of requested data is sent to the third-party developer for the third-party developer to develop a third-party application based on the metadata description information.
  • Program information of the third-party application submitted by the third-party developer is received and the third-party application is deployed in a data container environment such as a data container.
  • the data container environment stores specific data needed during the execution of the third-party application.
  • the third-party application is executed in the data container environment.
  • the present disclosure provides an example system for executing a third-party application.
  • the system may include the following units.
  • a metadata description information sending unit after a data request sent by a third-party developer is received, sends metadata description information of requested data to the third-party developer for the third-party developer to develop a third-party application based on the metadata description information.
  • An application deploying unit receives program information of the third-party application submitted by the third-party developer, and deploys the third-party application in a data container environment such as a data container.
  • the data container environment stores specific data needed during the execution of the third-party application.
  • An application executing unit executes the third-party application in the data container environment.
  • the present disclosure discloses the following technical effects:
  • the example embodiments of the present disclosure provide a data container system for a third-party developer, and store the data required in the calculation in a data container inside the system according to categories instead of sending the data to the third-party developer.
  • the third-party developer after completing the development of calculation logic or algorithm logic of the third-party application, also deploys the third-party application in this data container, so that the data and the operation on the data are all completed inside the data container and the third-party developer may provide corresponding calculation logic or algorithm without viewing specific data content, thereby solving the conflict between the data security risk and the opening of high value data.
  • any product implementing the present disclosure does not necessarily achieve all of the above advantages at the same time.
  • FIG. 1 is a flow chart of an example method provided by an example embodiment of the present disclosure.
  • FIG. 2 is a schematic diagram of a system provided by an example embodiment of the present disclosure.
  • the example embodiments of the present disclosure provide a data container system to guarantee the security of the data and enable the third-party developer to provide more diversified services, and store the data required in the calculation in a data container inside the system according to categories instead of sending the data to the third-party developer.
  • the third-party developer after completing development of calculation logic or algorithm logic of the third-party application, also deploys the third-party application in this data container, so that the data and the operation on the data are all completed inside the data container and the third-party developer provides corresponding calculation logic or algorithm without viewing specific data content, thereby solving the conflict between the data security risk and the opening of high value data.
  • the example implementation process will be described in detail in the following.
  • FIG. 1 refers to an example method for executing a third-party application and may include the following operations.
  • Metadata description information of requested data is sent to the third-party developer for the third-party developer to develop a third-party application based on the metadata description information.
  • An interface for a background development in which the third-party developer may perform code editing, debugging, etc., is provided to the third-party developer.
  • the interface may be in a form of a web page. That is, the third-party developer may directly log in the system of the application platform to enter a background development page to carry out specific development operations.
  • the data in the data container may be classified into a plurality of categories in advance, and the data of each category corresponds to one data subject.
  • the data subject may include subjects such as delivery, reception, order management, and customer service.
  • various selectable data subjects may be displayed to the third-party developer at first, and the third-party server may select a corresponding data subject according to a service needed to be developed. For example, if the third-party developer intends to develop a service relating to the order management, the data subject of the order management may be selected.
  • the metadata description information that may be used in the data subject may be provided to the third-party developer for the third-party developer to perform an application development.
  • the data in the open platform is generally stored in a form of a data table (a table in a relation type database). Therefore, when the metadata description information is provided to the third-party developer, the information may include a name of the data table and field information in the data table. In other words, the third-party developer may know which fields are in the data table. For example, with respect to a data table A storing user information, the fields in the data table A include age, gender, or the like.
  • a name of the data table A, and field names such as age and gender may be provided to the third-party developer.
  • the third-party developer may develop specific logic in the third-party application based on those field names and in combination with a basic operation method of the data table.
  • the basic operation of the data table may support various programming languages, for example, languages used for accessing to data, and querying, updating and managing the relation database system, such as JAVA and SQL, to implement operations on data of various fields in the data table.
  • the example embodiments of the present disclosure do not need to provide specific data in the data table to the third-party developer, and only provide the information about which fields are in the data table to the third-party developer.
  • the open platform may provide some sample data for the third-party developer.
  • sample data may be some exemplary data, for example, formed by combining behavior data of the user several years ago. Since the data was acquired several years ago, and is formed by combining data fragments, generally, problems such as information leakage will not occur.
  • the third-party developer is allowed to divide an application into several sub-applications, and develop codes of each of the sub-applications respectively in the development environment, and finally associates each of the sub-applications with each other according to the dependencies between each of the sub-applications by using the open platform, to realize a corresponding third-party application together.
  • the third-party applications may be classified into different types. Corresponding development interfaces and various types of development portals for various types of applications are provided respectively. If the third-party developer wants to develop a certain type of application, the third-party developer will enter through a development portal of such type. After receiving a request of the user through the development portal, the open platform may display the corresponding development interface, and the third-party developer may perform works such as code editing and debugging in the interface. For example, the third-party application may be classified into calculation type application and algorithm type application. In this case, according to the specific entered interface, the open platform may identify the type of the correspondingly developed third-party application and send to a matched data container during the subsequent scheduling.
  • the same third-party application developed by a third-party developer may be composed of a plurality of sub-applications, and each of the sub-applications may be applications of different types. Moreover the sub-applications may perform data transfer with each other.
  • a review of such data apply may also be performed, which may include, for example, a review of the qualification of the third-party developer.
  • a user authorization may be established as well. That is, the user is queried if the third-party developer is allowed to use the data of the user. If the user authorizes, corresponding metadata description information, sample data, etc. may be returned to the third-party developer. Otherwise, if no user authorization is acquired, no corresponding information will be returned to the third-party developer.
  • program information of the third-party application submitted by the third-party developer is received, and the third-party application is deployed in a data container environment.
  • the data container environment further stores specific data needed during the execution of the third-party application.
  • the third-party developer may submit it to the open platform, and correspondingly the development platform may deploy the logic of the third-party application to the data container environment inside the open platform. Since the data container environment stores the specific data required during the execution of the third-party application, the third-party application may be executed in the data container environment. In this way, the specific process of data processing is completed inside the data container, and it is unnecessary to disclose the to-be-processed data to the third-party developer.
  • a security review may also be performed on the application.
  • the techniques of the present disclosure determine whether there exists sensitive data, whether there exists a sensitive operation on data, etc. Then, if there is an operation on sensitive data or there is a sensitive operation, an interception may be carried out during data output, thereby further improving the security of the data.
  • the techniques of the present disclosure determine whether the third-party application has transaction information of some specific commodity objects. Alternatively, for quantifiable data, the techniques of the present disclosure determine a percentage of a data amount of a certain industry data used by the third-party application against the total data amount. If the percentage reaches a certain value, other information of the industry may be deduced accordingly, thereby causing a leakage of the industry data, which indicates that there is a security problem.
  • the techniques of the present disclosure determine whether the sensitive information such as real identity of the user may be acquired through deduction. If so, it also indicates that there is a security problem.
  • a plurality of determining conditions may be set in advance. With respect to a certain third-party application, a determination may be performed by using the determining conditions. If a preset one or more conditions are hit, the third-party application is considered to have a security problem.
  • some third-party applications may have certain dependent relationships. For example, a certain application may be dependent on an execution result of another application, and thus this application needs to be executed after the execution of another application is completed. Furthermore, some third-party applications need to be executed in specific application scenarios. Therefore, before the deployment is submitted to the data container, each of the submitted third-party applications may be scheduled according to information such as dependencies and application scenarios to submit the third-party application that needs to be executed currently to the data container.
  • control commands may further be submitted, for example, a priority of the application and resource distribution condition (for example, a percentage of CPU and memory resources will be distributed for the application) so that the data container executes according to those control commands.
  • the resource distribution condition may be based on the estimated input and output of the data and calculated according to a certain algorithm. Certainly, in the actual implementation, a determination may be made comprehensively according to information such as the number of resources ordered by the third-party developer.
  • the third-party application is executed in the data container environment.
  • the third-party application may be executed in the data container. Specifically, during the execution, synchronous or asynchronous processing may be performed according to a task property of the third-party application.
  • the data container may be classified into a “distributed processing container” or a “synchronous processing container.”
  • the former one is equivalent to distribute the task to a plurality of containers for separate execution, and finally there is a combination, which is generally used to process a task having a low requirement on timing.
  • the latter one is to perform the processing immediately after the execution task is received, which is generally used for a task having a high requirement on timing. Therefore, the task property may be referred to as a requirement on timing.
  • the task property may be designated by the third-party developer during the development.
  • the execution result may be provided to the user for use.
  • One method is that the third-party developer acquires the execution result, and displays the execution result in the interface thereof.
  • the third-party developer acquires the execution result the following operations will be performed: the computer-executable instructions or codes of the third-party application developed by the third-party developer may be encapsulated with an interface (such as a URL) according to an identification of output data. After the data container completes the execution, a corresponding relationship between the execution result and the URL may be recorded. When the third-party developer requests the execution result, the execution result may be returned according to the URL.
  • many methods may be used.
  • a portal for uniformly acquiring the execution result may be provided to each of the third-party developers, that is, each time when each of the third-party developers request the execution result, the request may be sent to the same URL, but the identification information such as an ID of the third-party developer and an identification of the output data requested this time must be carried at the same time.
  • the development platform may determine, according to the ID and the identification of the output data that are carried, a URL corresponding to the required execution result, and then the execution result may be returned to the third-party developer.
  • the URL corresponding to the execution result may be provided to the third-party developer directly, and, in this way, the third-party developer may request to acquire the corresponding execution result according to the actually corresponding URL.
  • the following situation may exist: sensitive data still exists in the execution result acquired from the execution in the data container.
  • the third-party developer acquires the execution result directly, there may still be a risk of a leakage of user data.
  • a certain third-party application is used for screening some users for promotion of a certain kind of information, and an execution result of this third-party application may include information such as contact information of the users. If the information is provided to the third-party developer, there still will be risks. Therefore, under such situation, in the specific implementation, the third-party developer may further be required to deploy foreground interface display logic in the data container. After the execution result is acquired, the execution result may be provided to the user directly according to the foreground interface display logic in the data container.
  • the specific implementation may include the steps of:
  • Step 1 The third-party developer logs in the background of the open platform; at this time, the interface may display each of the selectable data subjects.
  • Step 2 The third-party developer applies for a certain data subject.
  • Step 3 The open platform performs a review of the application of the third-party developer, which is mainly used to determine if the third-party developer has the qualification of applying for the data subject.
  • Step 4 The data application is determined whether to passes the review. If not, a notification message of failure or the like is returned. If the data application passes the review, operations at Step 5 are performed.
  • Step 5 The third-party developer applies for sample data.
  • Step 6 The open platform sends an authorization review message to the user.
  • Step 7 The authorization is determined whether passed or not. If not, a notification message of failure or the like is returned. If yes, operations at Step 8 are performed.
  • Step 8 The third-party developer accesses to a development interface to develop a third-party application.
  • Step 9 After the development is completed, the third-party application is submitted to the open platform for review.
  • Step 10 The open platform performs a data security review on the third-party application
  • Step 11 The data security review is determined whether passed or not. If not, a notification message of auditing failure or the like is returned. If yes, operations at Step 12 are performed.
  • Step 12 The third-party developer submits the third-party application to the open platform for the deployment.
  • Step 13 The open platform deploys the third-party application to the data container for the execution.
  • Step 14 An execution result is provided to the user for use.
  • the development platform will be divided into a plurality of modules in the following, and the functions of each of the modules and associations between the modules are described respectively.
  • the open platform may include the following modules:
  • a login verification module after the third-party developer logs in to the open platform by using pre-registered account information, the open platform may verify the identity of the third-party developer, and, after the identity verification is completed, grant a token to the third-party developer.
  • the third-party developer may access to the system with the token.
  • An authorization verification module the open platform may further verify the data rights and operation rights of the third-party developer, and, after the authorization verification is completed, grant the corresponding data rights and application development rights to the third-party developer.
  • a data application development module integrates data application development environments, and provides a development interface for the third-party developer, in which code editing, debugging or the like may be performed.
  • the data application development module may be formed by two parts, which include a universal calculation type data application development sub-module and an algorithm type data application development sub-module.
  • the third-party developer may select to access to a corresponding sub-module according to a category of a to-be-developed sub-program.
  • the portals of two sub-modules may be provided, and, after access to the interface, the two sub-modules will have respective development interfaces.
  • the third-party developer may enter from the portal of the universal calculation type data application development sub-module, thereby opening the development interface corresponding to the universal calculation type data application development sub-module.
  • the third-party developer wants to develop an algorithm type sub-program, the third-party developer may enter from the portal of the universal algorithm type data application development sub-module, thereby opening the development interface of the universal algorithm type data application development sub-module.
  • the universal calculation type data application development module may include, for example, as follows:
  • Application item management including addition, deletion, modification, searching, sharing, authorization, cooperation, or the like relating to the application items.
  • Code development environment interface which includes, for example:
  • Supplemental efficient tools such as code highlighting and grammar checking
  • Metadata management metadata detailed description (including table identification, a field name, or the like), data dependency, and interaction management;
  • Code sandbox environment management interface which includes, for example:
  • Code management which includes, for example, code version management and directory management.
  • the open platform may store the codes in the code version management. If the codes need to be modified subsequently, a new version may be generated. When a copy of codes is stored, the open platform may encapsulate the codes into a corresponding program packet.
  • information such as application scenario requirements of each of the program packets, start conditions (for example, the packet needs to be started at a certain time point, needs to be started after the execution of a certain designated program is completed, or etc.) of each of the program packets, and dependency between the program packets may further be identified.
  • the start condition of the program packet may be designated by the third-party developer.
  • the dependency between the program packets may either be designated by the third-party developer or may be acquired automatically by the open platform. For example, through an analysis of the codes of each of the program packets, the open platform obtains that the logic of a program packet 1 is to process Table a to generate Table b and Table c, and the logic of a program packet 2 is to process the Table b to generate Table d. As a result, the program packet 2 is determined dependent on the program packet 1 , and therefore the dependency may be identified automatically.
  • Application management which includes, for example, application launch, application removal, and application state query.
  • Expense management which includes, for example, payment, renewal, settlement, clearing, and balance management.
  • Major functions of the algorithm type data application development sub-module may include:
  • Algorithm model management which includes, for example, addition, deletion, modification and searching, sharing, authorization, and cooperation.
  • Data feature analysis environment which includes, for example, statistic distribution verification, feature extraction, and verification.
  • Model training management which includes, for example, model training and result verification.
  • a sandbox data container environment module provides a calculation environment for verifying codes and data sets, and includes, for example:
  • Data environment provides a data support environment for code running, a necessary database, a data set, a data set creation tool, or etc.
  • the data may be sample data provided by the open platform. For example, the data of the users several years ago is combined together to generate data having the same data structure that is still not real data. Such data is provided to the third-party developer for verifying the codes developed by the third-party developer.
  • a task workflow scheduling module responsible for scheduling, according to a task dependency and an application scenario requirement, the application submitted by the third-party developer, and submitting the application that needs to be executed to the data container environment (the data container monitors, by using a preset interface, a submitted request of the task workflow scheduling module, and therefore when the task workflow scheduling module finds that there is an application needs to be executed, a request may be sent through the interface of the data container).
  • the development module includes the calculation type data application development sub-module and the algorithm type data application development sub-module, during the scheduling, the application that needs to be executed may be sent, according to the calculation type application or the algorithm type application identified in the development process, to a “universal calculation container environment” or an “algorithm container environment” for execution.
  • the task workflow scheduling module may further submit one or more control commands so that the data container executes according to those control commands.
  • a) receives a universal calculation task submitted by the task workflow scheduling module, and submits the calculation task to a corresponding “distributed processing container” or “synchronous processing container” according to different properties of the tasks;
  • c) communicates with a “data query middle layer” to complete the function of data query.
  • a) receives an algorithm task submitted by the task workflow scheduling module, and submits the algorithm task to the corresponding “distributed processing container” or “synchronous processing container” according to different properties.
  • “Basic algorithm packet” sub-module When developing in the algorithm type data application development sub-module, the third-party developer may edit algorithm codes according to self-determined requirement.
  • the open platform may also provide some basic algorithms for the third-party developer, and the third-party developer selects, on the basis of the basic algorithm, required features and adjusts parameters of the algorithm, thereby improving the development efficiency.
  • a basic algorithm executable calling module may be further provided.
  • the basic algorithms may include, for example:
  • a data security review engine after the third-party developer completes the development of the codes and before the deployment of the codes in the data container, a security review may further be performed.
  • a system 200 may include one or more processor(s) or data processing unit(s) 202 and memory 204 .
  • the system 200 may further include one or more input/output devices and network interfaces (not shown in FIG. 2 ).
  • the memory 204 is an example of computer-readable media.
  • the computer-readable media includes permanent and non-permanent, movable and non-movable media that may use any methods or techniques to implement information storage.
  • the information may be computer-readable instructions, data structure, software modules, or any data.
  • the example of computer storage media may include, but is not limited to, phase-change memory (PCM), static random access memory (SRAM), dynamic random access memory (DRAM), other type RAM, ROM, electrically erasable programmable read only memory (EEPROM), flash memory, internal memory, CD-ROM, DVD, optical memory, magnetic tape, magnetic disk, any other magnetic storage device, or any other non-communication media that may store information accessible by the computing device.
  • PCM phase-change memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • ROM electrically erasable programmable read only memory
  • flash memory internal memory
  • CD-ROM DVD
  • optical memory magnetic tape
  • magnetic disk any other magnetic storage device, or any other non-communication media that may store information accessible by the computing device.
  • the memory 204 may store therein a plurality of modules or units including a metadata description information sending unit 206 , an application deploying unit 208 , and an application executing unit 210 .
  • the metadata description information sending unit 206 after a data request sent by a third-party developer is received, sends metadata description information of requested data to the third-party developer for the third-party developer to develop a third-party application based on the metadata description information.
  • the application deploying unit 208 receives program information of the third-party application submitted by the third-party developer, and deploys the third-party application in a data container environment.
  • the data container environment further stores specific data needed during the execution of the third-party application.
  • the application executing unit 210 executes the third-party application in the data container environment.
  • system 200 may further include a scheduling unit (not shown in FIG. 2 ) that schedules the third-party application according to a task dependency and/or an application scenario requirement.
  • a scheduling unit (not shown in FIG. 2 ) that schedules the third-party application according to a task dependency and/or an application scenario requirement.
  • the application deploying unit 208 may further deploy, according to a scheduling result, the third-party application that needs to be executed currently in the data container environment.
  • system 200 may further include a security reviewing unit (not shown in FIG. 2 ) that, after the third-party application submitted by the third-party developer is received, perform a security review of an operation of the third-party application on data.
  • a security reviewing unit (not shown in FIG. 2 ) that, after the third-party application submitted by the third-party developer is received, perform a security review of an operation of the third-party application on data.
  • the system 200 may further include a sample data providing unit (not shown in FIG. 2 ) that, after the data request sent by the third-party developer is received, provides sample data to the third-party developer for the third-party developer to verify the logic of the developed third-party application.
  • a sample data providing unit (not shown in FIG. 2 ) that, after the data request sent by the third-party developer is received, provides sample data to the third-party developer for the third-party developer to verify the logic of the developed third-party application.
  • the system 200 may further include an interface providing unit (not shown in FIG. 2 ) that, when a develop request of a user is received from a certain type of development portal, provides a development interface o a corresponding type of application to the user.
  • an interface providing unit (not shown in FIG. 2 ) that, when a develop request of a user is received from a certain type of development portal, provides a development interface o a corresponding type of application to the user.
  • system 200 may further include an identifying unit (not shown in FIG. 2 ) that, after the develop request of the user is received from the certain type of development portal, identifies a type of the correspondingly developed third-party application.
  • the application deploying unit 208 may further, according to the type of the third-party application, deploys the third-party application in the data container environment corresponding to the type.
  • the application type includes a calculation type or an algorithm type.
  • the application executing unit 210 may further, according to a timing requirement of a task needed to be executed by the third-party application, perform a distributed or synchronous processing on the third-party application in the data container environment.
  • system 200 may further include an encapsulating unit (not shown in FIG. 2 ) that, after the execution of the third-party application is completed, encapsulates the third-party application with an interface according to an identification of output data so that the third-party developer acquires an execution result of the third-party application according to the interface.
  • an encapsulating unit (not shown in FIG. 2 ) that, after the execution of the third-party application is completed, encapsulates the third-party application with an interface according to an identification of output data so that the third-party developer acquires an execution result of the third-party application according to the interface.
  • the system 200 may further include the following units (not shown in FIG. 2 ).
  • a foreground interface logic receiving unit receives a foreground interface logic of the third-party application submitted by the third-party developer.
  • An interface logic deploying unit deploys the foreground interface logic in a data container so that the execution result is displayed in a foreground interface after the execution of the third-party application is completed.
  • the example embodiments of the present disclosure provide a data container system for a third-party developer, and store the data required for the calculation in a data container inside the system according to categories instead of sending the data to the third-party developer, and the third-party developer, after completing the development of calculation logic or algorithm logic of the third-party application, also deploys the third-party application in this data container.
  • the data and the operation of the data are all completed inside the data container, and the third-party developer provides corresponding calculation logic or algorithm without viewing specific data content, thereby solving the conflict between the data security risk and the opening of high value data.
  • the present disclosure may be implemented by software in addition to necessary universal hardware platform. Based on such an understanding, the technical solutions of the present disclosure essentially or its portion contributing to the prior art may be implemented in a form of a software product.
  • the computer software product may be stored in a computer storage medium, such as a ROM/RAM, a magnetic disk and an optical disc, and include computer-executable instructions for instructing a computing device (which may be a personal computer, a server, or a network device) to perform the methods described in some portions or all of a respective example embodiment of the present disclosure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

After a data request sent by a third-party developer is received, metadata description information of requested data is sent to the third-party developer for the third-party developer to develop a third-party application based on the metadata description information. Program information of the third-party application submitted by the third-party developer is received and the third-party application is deployed in a data container environment. The data container environment stores specific data needed during the execution of the third-party application. The third-party application is executed in the data container environment. The present disclosure solves a conflict between data security risk and opening of high value data.

Description

    CROSS-REFERENCE TO RELATED PATENT APPLICATION
  • This application claims foreign priority to Chinese Patent Application No. 201410172373.7 filed on 25 Apr. 2014, entitled “Method and System for Executing Third-Party Application,” which is hereby incorporated by reference in its entirety.
  • TECHNICAL FIELD
  • The present disclosure relates to the field of third-party application development, and, more particularly, to a method and system of executing a third-party application.
  • BACKGROUND
  • A platform-type Internet application (for example, a certain e-commerce transaction platform) generally needs to introduce a third-party developer to provide more detailed and more vertical services for users (for example, seller users in the e-commerce transaction platform). For example, the third-party developer may collect and analyze information, such as a click rate, a cross-store click, an order transfer amount, and even chat records in a related instant messaging tool, to finally provide intuitive suggestions to the seller users. In other words, with respect to a user of a certain Internet application, the information, such as data analysis results, browsed in a web page of the Internet application is often provided by a third-party server.
  • In the prior art, the Internet application needs to disclose related data to the third-party developer through an open platform, and the third-party developer stores acquired data in its storage system to complete the development and subsequent operation of a service by using the data.
  • However, such an implementation at least has the following defects. First, after the data is acquired by a third-party developer, there are high risks of data leakage, abuse, misuse, or the like, because security control cannot be performed on the acquired data. Second, due to such security defects, the Internet application generally cannot disclose high value (risks such as privacy, security and competition) data to the third-party developer so that the functions that can be implemented by the third-party developer are limited. Furthermore, the third-party developer itself has a very limited capability of software and hardware processing, and therefore cannot implement the calculation processing on mass data.
  • For example, a certain third-party developer intends to provide a commodity replenishment prediction service to a seller user in a certain e-commerce transaction platform. In the prior art, the third-party developer needs to acquire required data from an open platform and inputs the data in an environment of the third-party developer for processing and calculation. With respect to the replenishment, it is necessary to predict the sales volume of the commodity, but due to the problem of data security, the open platform cannot provide the data required by a prediction model directly, such as industry commodity sales volume (involving industry data privacy) and attributes of people conducting transactions of the same category of commodities (involving industry and consumer data privacy). Furthermore, the replenishment channels and replenishment strategies of seller users are core competitiveness as well, and there is an issue of trust if they are provided to the third-party developer directly. In addition, the prediction model needs to take industry user behaviors, commodity transaction commodities, etc., into consideration, which results in a large data volume, and the third-party developer may not possess necessary software and hardware development environments. In brief, all of the above factors may prevent a third-party server from providing related service to a user in a transaction platform.
  • SUMMARY
  • This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify all key features or essential features of the claimed subject matter, nor is it intended to be used alone as an aid in determining the scope of the claimed subject matter. The term “techniques,” for instance, may refer to apparatus(s), system(s), method(s) and/or computer-readable instructions as permitted by the context above and throughout the present disclosure.
  • The present disclosure provides a method and a system for executing a third-party application, and solves a conflict between data security risk and disclosure high value data.
  • The present disclosure provides an example method for executing a third-party application.
  • After a data request sent by a third-party developer is received, metadata description information of requested data is sent to the third-party developer for the third-party developer to develop a third-party application based on the metadata description information. Program information of the third-party application submitted by the third-party developer is received and the third-party application is deployed in a data container environment such as a data container. The data container environment stores specific data needed during the execution of the third-party application. The third-party application is executed in the data container environment.
  • The present disclosure provides an example system for executing a third-party application. The system may include the following units.
  • A metadata description information sending unit, after a data request sent by a third-party developer is received, sends metadata description information of requested data to the third-party developer for the third-party developer to develop a third-party application based on the metadata description information. An application deploying unit receives program information of the third-party application submitted by the third-party developer, and deploys the third-party application in a data container environment such as a data container. The data container environment stores specific data needed during the execution of the third-party application. An application executing unit executes the third-party application in the data container environment.
  • According to the example embodiments provided in the present disclosure, the present disclosure discloses the following technical effects:
  • The example embodiments of the present disclosure provide a data container system for a third-party developer, and store the data required in the calculation in a data container inside the system according to categories instead of sending the data to the third-party developer. The third-party developer, after completing the development of calculation logic or algorithm logic of the third-party application, also deploys the third-party application in this data container, so that the data and the operation on the data are all completed inside the data container and the third-party developer may provide corresponding calculation logic or algorithm without viewing specific data content, thereby solving the conflict between the data security risk and the opening of high value data.
  • Certainly, any product implementing the present disclosure does not necessarily achieve all of the above advantages at the same time.
  • BRIEF DESCRIPTION OF DRAWINGS
  • To describe the technical solutions in the example embodiments of the present disclosure or in the prior art, the following briefly introduces the accompanying drawings needed in the example embodiments. Apparently, the accompanying FIGs in the following description are merely some example embodiments of the present disclosure, and a person of ordinary skill in the art may still acquire other drawings from those accompanying FIGs without using creative efforts.
  • FIG. 1 is a flow chart of an example method provided by an example embodiment of the present disclosure; and
  • FIG. 2 is a schematic diagram of a system provided by an example embodiment of the present disclosure.
  • DETAILED DESCRIPTION
  • The following describes the technical solutions in the example embodiments of the present disclosure with reference to the accompanying FIGs in the embodiments of the present disclosure. Apparently, the described example embodiments are part of rather than all of the embodiments of the present disclosure. All other embodiments acquired by a person of ordinary skill in the art based on the example embodiments of the present disclosure shall belong to the protection scope of the present disclosure.
  • The example embodiments of the present disclosure provide a data container system to guarantee the security of the data and enable the third-party developer to provide more diversified services, and store the data required in the calculation in a data container inside the system according to categories instead of sending the data to the third-party developer. The third-party developer, after completing development of calculation logic or algorithm logic of the third-party application, also deploys the third-party application in this data container, so that the data and the operation on the data are all completed inside the data container and the third-party developer provides corresponding calculation logic or algorithm without viewing specific data content, thereby solving the conflict between the data security risk and the opening of high value data. The example implementation process will be described in detail in the following.
  • First, it should be noted that, since the data content will not be provided to the third-party developer directly, in the entire implementation process, the application platform needs to support the third-party server in the service development. After the development is completed, the application platform needs to support the subsequent deployment or the like as well. FIG. 1 refers to an example method for executing a third-party application and may include the following operations.
  • At 102, after a data request sent by a third-party developer is received, metadata description information of requested data is sent to the third-party developer for the third-party developer to develop a third-party application based on the metadata description information.
  • An interface for a background development, in which the third-party developer may perform code editing, debugging, etc., is provided to the third-party developer. For example, the interface may be in a form of a web page. That is, the third-party developer may directly log in the system of the application platform to enter a background development page to carry out specific development operations.
  • Since there is a large amount of data in the data container and the third-party developer often merely provides a service in a certain aspect, only a part of the data will be used in general. Thus, the data in the data container may be classified into a plurality of categories in advance, and the data of each category corresponds to one data subject. For example, in a certain e-commerce transaction platform, the data subject may include subjects such as delivery, reception, order management, and customer service. After the third-party developer accesses to the development platform, various selectable data subjects may be displayed to the third-party developer at first, and the third-party server may select a corresponding data subject according to a service needed to be developed. For example, if the third-party developer intends to develop a service relating to the order management, the data subject of the order management may be selected.
  • After the third-party developer selects a certain data subject, the metadata description information that may be used in the data subject may be provided to the third-party developer for the third-party developer to perform an application development. It should be noted that the data in the open platform is generally stored in a form of a data table (a table in a relation type database). Therefore, when the metadata description information is provided to the third-party developer, the information may include a name of the data table and field information in the data table. In other words, the third-party developer may know which fields are in the data table. For example, with respect to a data table A storing user information, the fields in the data table A include age, gender, or the like. In this case, a name of the data table A, and field names such as age and gender may be provided to the third-party developer. In this way, the third-party developer may develop specific logic in the third-party application based on those field names and in combination with a basic operation method of the data table. The basic operation of the data table may support various programming languages, for example, languages used for accessing to data, and querying, updating and managing the relation database system, such as JAVA and SQL, to implement operations on data of various fields in the data table.
  • In other words, the example embodiments of the present disclosure do not need to provide specific data in the data table to the third-party developer, and only provide the information about which fields are in the data table to the third-party developer. Of course, in an actual implementation, after the third-party developer develops a specific application, in order to perform a verification operation on the calculation logic of the application, the open platform may provide some sample data for the third-party developer. Such sample data may be some exemplary data, for example, formed by combining behavior data of the user several years ago. Since the data was acquired several years ago, and is formed by combining data fragments, generally, problems such as information leakage will not occur.
  • For some large third-party applications, in general a very large amount of codes will be required, and the process of editing the codes is complicated, and it is easy to make mistakes. In the example embodiment of the present disclosure, in order to simplify the development process, the third-party developer is allowed to divide an application into several sub-applications, and develop codes of each of the sub-applications respectively in the development environment, and finally associates each of the sub-applications with each other according to the dependencies between each of the sub-applications by using the open platform, to realize a corresponding third-party application together.
  • In addition, the third-party applications may be classified into different types. Corresponding development interfaces and various types of development portals for various types of applications are provided respectively. If the third-party developer wants to develop a certain type of application, the third-party developer will enter through a development portal of such type. After receiving a request of the user through the development portal, the open platform may display the corresponding development interface, and the third-party developer may perform works such as code editing and debugging in the interface. For example, the third-party application may be classified into calculation type application and algorithm type application. In this case, according to the specific entered interface, the open platform may identify the type of the correspondingly developed third-party application and send to a matched data container during the subsequent scheduling.
  • It should be noted that, the same third-party application developed by a third-party developer may be composed of a plurality of sub-applications, and each of the sub-applications may be applications of different types. Moreover the sub-applications may perform data transfer with each other.
  • Furthermore, it should be noted that, in the actual implementation, when a data request sent by a certain third-party developer is received, a review of such data apply may also be performed, which may include, for example, a review of the qualification of the third-party developer. Moreover, if user data is involved, a user authorization may be established as well. That is, the user is queried if the third-party developer is allowed to use the data of the user. If the user authorizes, corresponding metadata description information, sample data, etc. may be returned to the third-party developer. Otherwise, if no user authorization is acquired, no corresponding information will be returned to the third-party developer.
  • At 104, program information of the third-party application submitted by the third-party developer is received, and the third-party application is deployed in a data container environment. The data container environment further stores specific data needed during the execution of the third-party application.
  • After completing the development of a certain third-party application, the third-party developer may submit it to the open platform, and correspondingly the development platform may deploy the logic of the third-party application to the data container environment inside the open platform. Since the data container environment stores the specific data required during the execution of the third-party application, the third-party application may be executed in the data container environment. In this way, the specific process of data processing is completed inside the data container, and it is unnecessary to disclose the to-be-processed data to the third-party developer.
  • In the actual implementation, after the third-party application submitted by the third-party developer is received, a security review may also be performed on the application. For example, the techniques of the present disclosure determine whether there exists sensitive data, whether there exists a sensitive operation on data, etc. Then, if there is an operation on sensitive data or there is a sensitive operation, an interception may be carried out during data output, thereby further improving the security of the data. There may be a plurality of modes used for the security auditing. For example, in a simple mode, the filtering may be performed directly by using keywords or the like.
  • Alternatively, the techniques of the present disclosure determine whether the third-party application has transaction information of some specific commodity objects. Alternatively, for quantifiable data, the techniques of the present disclosure determine a percentage of a data amount of a certain industry data used by the third-party application against the total data amount. If the percentage reaches a certain value, other information of the industry may be deduced accordingly, thereby causing a leakage of the industry data, which indicates that there is a security problem.
  • Alternatively, when the third-party application includes information such as some user IDs, the techniques of the present disclosure determine whether the sensitive information such as real identity of the user may be acquired through deduction. If so, it also indicates that there is a security problem. In brief, when the security review is performed, a plurality of determining conditions may be set in advance. With respect to a certain third-party application, a determination may be performed by using the determining conditions. If a preset one or more conditions are hit, the third-party application is considered to have a security problem.
  • As described above, some third-party applications may have certain dependent relationships. For example, a certain application may be dependent on an execution result of another application, and thus this application needs to be executed after the execution of another application is completed. Furthermore, some third-party applications need to be executed in specific application scenarios. Therefore, before the deployment is submitted to the data container, each of the submitted third-party applications may be scheduled according to information such as dependencies and application scenarios to submit the third-party application that needs to be executed currently to the data container.
  • When the application that needs to be executed is submitted to the data container, some control commands may further be submitted, for example, a priority of the application and resource distribution condition (for example, a percentage of CPU and memory resources will be distributed for the application) so that the data container executes according to those control commands. The resource distribution condition may be based on the estimated input and output of the data and calculated according to a certain algorithm. Certainly, in the actual implementation, a determination may be made comprehensively according to information such as the number of resources ordered by the third-party developer.
  • At 106, the third-party application is executed in the data container environment.
  • After the third-party application is deployed in the data container, the third-party application may be executed in the data container. Specifically, during the execution, synchronous or asynchronous processing may be performed according to a task property of the third-party application. Correspondingly, the data container may be classified into a “distributed processing container” or a “synchronous processing container.” The former one is equivalent to distribute the task to a plurality of containers for separate execution, and finally there is a combination, which is generally used to process a task having a low requirement on timing. The latter one is to perform the processing immediately after the execution task is received, which is generally used for a task having a high requirement on timing. Therefore, the task property may be referred to as a requirement on timing. The task property may be designated by the third-party developer during the development.
  • After the execution of the third-party application is completed, the execution result may be provided to the user for use. There are multiple methods for providing the execution result to the user. One method is that the third-party developer acquires the execution result, and displays the execution result in the interface thereof. In order that the third-party developer acquires the execution result, the following operations will be performed: the computer-executable instructions or codes of the third-party application developed by the third-party developer may be encapsulated with an interface (such as a URL) according to an identification of output data. After the data container completes the execution, a corresponding relationship between the execution result and the URL may be recorded. When the third-party developer requests the execution result, the execution result may be returned according to the URL. In the specific implementation, many methods may be used.
  • For example, in one method, a portal for uniformly acquiring the execution result may be provided to each of the third-party developers, that is, each time when each of the third-party developers request the execution result, the request may be sent to the same URL, but the identification information such as an ID of the third-party developer and an identification of the output data requested this time must be carried at the same time. After receiving the request, the development platform may determine, according to the ID and the identification of the output data that are carried, a URL corresponding to the required execution result, and then the execution result may be returned to the third-party developer.
  • Alternatively, in another implementation, the URL corresponding to the execution result may be provided to the third-party developer directly, and, in this way, the third-party developer may request to acquire the corresponding execution result according to the actually corresponding URL.
  • In addition, in the actual implementation, the following situation may exist: sensitive data still exists in the execution result acquired from the execution in the data container. Under such situation, if the third-party developer acquires the execution result directly, there may still be a risk of a leakage of user data. For example, a certain third-party application is used for screening some users for promotion of a certain kind of information, and an execution result of this third-party application may include information such as contact information of the users. If the information is provided to the third-party developer, there still will be risks. Therefore, under such situation, in the specific implementation, the third-party developer may further be required to deploy foreground interface display logic in the data container. After the execution result is acquired, the execution result may be provided to the user directly according to the foreground interface display logic in the data container.
  • To facilitate the understanding, detailed description will be made through an example in the following.
  • The specific implementation may include the steps of:
  • Step 1: The third-party developer logs in the background of the open platform; at this time, the interface may display each of the selectable data subjects.
  • Step 2: The third-party developer applies for a certain data subject.
  • Step 3: The open platform performs a review of the application of the third-party developer, which is mainly used to determine if the third-party developer has the qualification of applying for the data subject.
  • Step 4: The data application is determined whether to passes the review. If not, a notification message of failure or the like is returned. If the data application passes the review, operations at Step 5 are performed.
  • Step 5: The third-party developer applies for sample data.
  • Step 6: The open platform sends an authorization review message to the user.
  • Step 7: The authorization is determined whether passed or not. If not, a notification message of failure or the like is returned. If yes, operations at Step 8 are performed.
  • Step 8: The third-party developer accesses to a development interface to develop a third-party application.
  • Step 9: After the development is completed, the third-party application is submitted to the open platform for review.
  • Step 10: The open platform performs a data security review on the third-party application;
  • Step 11: The data security review is determined whether passed or not. If not, a notification message of auditing failure or the like is returned. If yes, operations at Step 12 are performed.
  • Step 12: The third-party developer submits the third-party application to the open platform for the deployment.
  • Step 13: The open platform deploys the third-party application to the data container for the execution.
  • Step 14: An execution result is provided to the user for use.
  • In order to better understand the technical solution of the embodiments of the present disclosure, the development platform will be divided into a plurality of modules in the following, and the functions of each of the modules and associations between the modules are described respectively. For example, the open platform may include the following modules:
  • A login verification module: after the third-party developer logs in to the open platform by using pre-registered account information, the open platform may verify the identity of the third-party developer, and, after the identity verification is completed, grant a token to the third-party developer. The third-party developer may access to the system with the token.
  • An authorization verification module: the open platform may further verify the data rights and operation rights of the third-party developer, and, after the authorization verification is completed, grant the corresponding data rights and application development rights to the third-party developer.
  • A data application development module: integrates data application development environments, and provides a development interface for the third-party developer, in which code editing, debugging or the like may be performed. In the example implementation, the data application development module may be formed by two parts, which include a universal calculation type data application development sub-module and an algorithm type data application development sub-module. The third-party developer may select to access to a corresponding sub-module according to a category of a to-be-developed sub-program. In the development interface, the portals of two sub-modules may be provided, and, after access to the interface, the two sub-modules will have respective development interfaces. If a certain third-party developer wants to develop a calculation type sub-program, the third-party developer may enter from the portal of the universal calculation type data application development sub-module, thereby opening the development interface corresponding to the universal calculation type data application development sub-module. Similarly, if the third-party developer wants to develop an algorithm type sub-program, the third-party developer may enter from the portal of the universal algorithm type data application development sub-module, thereby opening the development interface of the universal algorithm type data application development sub-module.
  • Major functions of the universal calculation type data application development module may include, for example, as follows:
  • a) Application item management: including addition, deletion, modification, searching, sharing, authorization, cooperation, or the like relating to the application items.
  • b) Code development environment interface, which includes, for example:
  • i. Code development editor;
  • ii. Supplemental efficient tools such as code highlighting and grammar checking; and
  • iii. Metadata management: metadata detailed description (including table identification, a field name, or the like), data dependency, and interaction management;
  • c) Code sandbox environment management interface, which includes, for example:
  • i. Code simulated execution (test may be performed after the codes are developed to verify calculation logic); and
  • ii. Data set creation
  • d) Code management, which includes, for example, code version management and directory management. After the development of codes is completed, the open platform may store the codes in the code version management. If the codes need to be modified subsequently, a new version may be generated. When a copy of codes is stored, the open platform may encapsulate the codes into a corresponding program packet. With respect to program packets corresponding to different sub-programs in the same application, information such as application scenario requirements of each of the program packets, start conditions (for example, the packet needs to be started at a certain time point, needs to be started after the execution of a certain designated program is completed, or etc.) of each of the program packets, and dependency between the program packets may further be identified.
  • The start condition of the program packet may be designated by the third-party developer. The dependency between the program packets may either be designated by the third-party developer or may be acquired automatically by the open platform. For example, through an analysis of the codes of each of the program packets, the open platform obtains that the logic of a program packet 1 is to process Table a to generate Table b and Table c, and the logic of a program packet 2 is to process the Table b to generate Table d. As a result, the program packet 2 is determined dependent on the program packet 1, and therefore the dependency may be identified automatically.
  • e) Application management which includes, for example, application launch, application removal, and application state query.
  • f) Expense management which includes, for example, payment, renewal, settlement, clearing, and balance management.
  • Major functions of the algorithm type data application development sub-module may include:
  • a) Algorithm model management which includes, for example, addition, deletion, modification and searching, sharing, authorization, and cooperation.
  • b) Basic model base.
  • c) Data feature analysis environment which includes, for example, statistic distribution verification, feature extraction, and verification.
  • d) Model training management which includes, for example, model training and result verification.
  • A sandbox data container environment module provides a calculation environment for verifying codes and data sets, and includes, for example:
  • a) Code running environment which includes, for example:
  • i. Distributed code running environment (Map/Reduce program, SQL program)
  • ii. Algorithm running environment
  • b) Data environment: provides a data support environment for code running, a necessary database, a data set, a data set creation tool, or etc. The data may be sample data provided by the open platform. For example, the data of the users several years ago is combined together to generate data having the same data structure that is still not real data. Such data is provided to the third-party developer for verifying the codes developed by the third-party developer.
  • A task workflow scheduling module: responsible for scheduling, according to a task dependency and an application scenario requirement, the application submitted by the third-party developer, and submitting the application that needs to be executed to the data container environment (the data container monitors, by using a preset interface, a submitted request of the task workflow scheduling module, and therefore when the task workflow scheduling module finds that there is an application needs to be executed, a request may be sent through the interface of the data container). If the development module includes the calculation type data application development sub-module and the algorithm type data application development sub-module, during the scheduling, the application that needs to be executed may be sent, according to the calculation type application or the algorithm type application identified in the development process, to a “universal calculation container environment” or an “algorithm container environment” for execution. In addition, when submitting the application that needs to be executed to the data container, the task workflow scheduling module may further submit one or more control commands so that the data container executes according to those control commands.
  • The universal calculation container environment:
  • a) receives a universal calculation task submitted by the task workflow scheduling module, and submits the calculation task to a corresponding “distributed processing container” or “synchronous processing container” according to different properties of the tasks;
  • b) performs a monitoring, tracking, and data collecting of the task; and
  • c) communicates with a “data query middle layer” to complete the function of data query.
  • The algorithm container environment:
  • a) receives an algorithm task submitted by the task workflow scheduling module, and submits the algorithm task to the corresponding “distributed processing container” or “synchronous processing container” according to different properties.
  • b) “Basic algorithm packet” sub-module. When developing in the algorithm type data application development sub-module, the third-party developer may edit algorithm codes according to self-determined requirement. Alternatively, the open platform may also provide some basic algorithms for the third-party developer, and the third-party developer selects, on the basis of the basic algorithm, required features and adjusts parameters of the algorithm, thereby improving the development efficiency. Correspondingly, in the algorithm container environment, a basic algorithm executable calling module may be further provided. The basic algorithms may include, for example:
  • i. sorting algorithms
  • ii. clustering algorithms
  • iii. regression algorithms
  • A data security review engine: after the third-party developer completes the development of the codes and before the deployment of the codes in the data container, a security review may further be performed.
  • Corresponding to the method of executing a third-party application provided in the example embodiment of the present disclosure, an example embodiment of the present disclosure further provides an example system for executing a third-party application. Referring to FIG. 2, a system 200 may include one or more processor(s) or data processing unit(s) 202 and memory 204. The system 200 may further include one or more input/output devices and network interfaces (not shown in FIG. 2). The memory 204 is an example of computer-readable media.
  • The computer-readable media includes permanent and non-permanent, movable and non-movable media that may use any methods or techniques to implement information storage. The information may be computer-readable instructions, data structure, software modules, or any data. The example of computer storage media may include, but is not limited to, phase-change memory (PCM), static random access memory (SRAM), dynamic random access memory (DRAM), other type RAM, ROM, electrically erasable programmable read only memory (EEPROM), flash memory, internal memory, CD-ROM, DVD, optical memory, magnetic tape, magnetic disk, any other magnetic storage device, or any other non-communication media that may store information accessible by the computing device. As defined herein, the computer-readable media does not include transitory media such as a modulated data signal and a carrier wave.
  • The memory 204 may store therein a plurality of modules or units including a metadata description information sending unit 206, an application deploying unit 208, and an application executing unit 210.
  • The metadata description information sending unit 206, after a data request sent by a third-party developer is received, sends metadata description information of requested data to the third-party developer for the third-party developer to develop a third-party application based on the metadata description information.
  • The application deploying unit 208 receives program information of the third-party application submitted by the third-party developer, and deploys the third-party application in a data container environment. The data container environment further stores specific data needed during the execution of the third-party application.
  • The application executing unit 210 executes the third-party application in the data container environment.
  • For example, the system 200 may further include a scheduling unit (not shown in FIG. 2) that schedules the third-party application according to a task dependency and/or an application scenario requirement.
  • The application deploying unit 208 may further deploy, according to a scheduling result, the third-party application that needs to be executed currently in the data container environment.
  • Furthermore, the system 200 may further include a security reviewing unit (not shown in FIG. 2) that, after the third-party application submitted by the third-party developer is received, perform a security review of an operation of the third-party application on data.
  • To facilitate the development of the third party, the system 200 may further include a sample data providing unit (not shown in FIG. 2) that, after the data request sent by the third-party developer is received, provides sample data to the third-party developer for the third-party developer to verify the logic of the developed third-party application.
  • As different application types correspond to different development portals, the system 200 may further include an interface providing unit (not shown in FIG. 2) that, when a develop request of a user is received from a certain type of development portal, provides a development interface o a corresponding type of application to the user.
  • As different application types correspond to different data container environments, the system 200 may further include an identifying unit (not shown in FIG. 2) that, after the develop request of the user is received from the certain type of development portal, identifies a type of the correspondingly developed third-party application.
  • The application deploying unit 208 may further, according to the type of the third-party application, deploys the third-party application in the data container environment corresponding to the type.
  • The application type includes a calculation type or an algorithm type. For example, the application executing unit 210 may further, according to a timing requirement of a task needed to be executed by the third-party application, perform a distributed or synchronous processing on the third-party application in the data container environment.
  • In addition, the system 200 may further include an encapsulating unit (not shown in FIG. 2) that, after the execution of the third-party application is completed, encapsulates the third-party application with an interface according to an identification of output data so that the third-party developer acquires an execution result of the third-party application according to the interface.
  • The system 200 may further include the following units (not shown in FIG. 2). A foreground interface logic receiving unit receives a foreground interface logic of the third-party application submitted by the third-party developer. An interface logic deploying unit deploys the foreground interface logic in a data container so that the execution result is displayed in a foreground interface after the execution of the third-party application is completed.
  • In brief, the example embodiments of the present disclosure provide a data container system for a third-party developer, and store the data required for the calculation in a data container inside the system according to categories instead of sending the data to the third-party developer, and the third-party developer, after completing the development of calculation logic or algorithm logic of the third-party application, also deploys the third-party application in this data container. Thus the data and the operation of the data are all completed inside the data container, and the third-party developer provides corresponding calculation logic or algorithm without viewing specific data content, thereby solving the conflict between the data security risk and the opening of high value data.
  • Based on the foregoing descriptions, a person skilled in the art may clearly understand that the present disclosure may be implemented by software in addition to necessary universal hardware platform. Based on such an understanding, the technical solutions of the present disclosure essentially or its portion contributing to the prior art may be implemented in a form of a software product. The computer software product may be stored in a computer storage medium, such as a ROM/RAM, a magnetic disk and an optical disc, and include computer-executable instructions for instructing a computing device (which may be a personal computer, a server, or a network device) to perform the methods described in some portions or all of a respective example embodiment of the present disclosure.
  • The example embodiments in the specification are described progressively. Identical or similar parts of the embodiments may be acquired with reference to each other, and each embodiment emphasizes a part different from other embodiments. Especially, a system or a system embodiment is described briefly since it is basically similar to a method embodiment, and related portions may be acquired with reference to the description of the method embodiment. The system and system embodiment described above are merely illustrative, in which the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, which may be located in one position, or may be distributed on a plurality of network units. A part or all of the units or modules may be selected according to actual needs to achieve the objectives of the solutions of the embodiments of the present disclosure. A person skilled in the art may understand and implement the present disclosure without using creative efforts.
  • The example method and system for executing a third-party application provided in the present disclosure are described in detail as above. The example embodiments of the present disclosure illustrate the principles and implementing operations of the present disclosure. The descriptions of the above example embodiments are merely intended to help understand the method and core concept of the present disclosure. A person of ordinary skill in the art may make variations of specific implementation and applications according to the principles of the present disclosure. The descriptions herein should not be interpreted to limit the present disclosure.

Claims (20)

What is claimed is:
1. A method comprising:
receiving a data request for data;
sending metadata description information of the data to a third-party developer;
receiving program information of a third-party application submitted by the third-party developer;
deploying the third-party application in a data container environment; and
executing the third-party application in the data container environment.
2. The method of claim 1, wherein the metadata description information is for the third-party developer to develop the third-party application based on the metadata description information.
3. The method of claim 1, wherein the data container stores specific data for execution of the third-party application.
4. The method of claim 1, further comprising:
scheduling the third-party application according to a task dependency or an application scenario requirement.
5. The method of claim 4, wherein the deploying the third-party application in the data container comprises deploying the third-party application in the data container according to a result of the scheduling.
6. The method of claim 1, further comprising:
performing a security review of an operation of the third-party application on the data after receiving the program information of the third-party application submitted by the third-party developer.
7. The method of claim 1, further comprising:
providing sample data to the third-party developer to verify a logic of the developed third-party application.
8. The method of claim 1, wherein different application types of third-party applications correspond to different development portals.
9. The method of claim 8, further comprising:
providing a respective development interface corresponding to an application type of the third-party application.
10. The method of claim 1, wherein different application types of third-party applications correspond to different data containers.
11. The method of claim 10, further comprising:
identifying an application type of the third-party application; and
deploying the third-party application in a respective data container corresponding to the application type of the third-party application.
12. The method of claim 1, wherein an application type of the third-party application includes a calculation type or an algorithm type.
13. The method of claim 1, wherein the executing the third-party application in the data container comprises:
performing a distributed or a synchronous processing of the third-party application in the data container according to a timing requirement of a task to be executed by the third-party application.
14. The method of claim 1, further comprising:
encapsulating a result of the executing with an interface according to an identification of output data.
15. The method of claim 1, further comprising:
receiving a foreground interface logic of the third-party application; and
deploying the foreground interface logic in the data container to display a result of the executing in a foreground interface.
16. A system comprising:
a metadata description information sending unit that receives a data request for data and sends metadata description information of the data to a third-party developer;
an application deploying unit that receives program information of a third-party application submitted by the third-party developer and deploys the third-party application in a data container; and
an application executing unit that executes the third-party application in the data container.
17. The system of claim 16, where in the metadata description information is for the third-party developer to develop the third-party application based on the metadata description information.
18. The system of claim 16, wherein the data container stores specific data for execution of the third-party application.
19. One or more memories having stored thereon computer-executable instructions executable by one or more processors to perform operations comprising:
receiving a data request for data;
sending metadata description information of the data to a third-party developer;
receiving program information of a third-party application submitted by the third-party developer;
deploying the third-party application in a data container; and
executing the third-party application in the data container.
20. The one or more memories of claim 19, where in the metadata description information is for the third-party developer to develop the third-party application based on the metadata description information.
US14/694,942 2014-04-25 2015-04-23 Executing third-party application Abandoned US20150310209A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410172373.7A CN105095970B (en) 2014-04-25 2014-04-25 The execution method and system of third-party application
CN201410172373.7 2014-04-25

Publications (1)

Publication Number Publication Date
US20150310209A1 true US20150310209A1 (en) 2015-10-29

Family

ID=54333220

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/694,942 Abandoned US20150310209A1 (en) 2014-04-25 2015-04-23 Executing third-party application

Country Status (7)

Country Link
US (1) US20150310209A1 (en)
EP (1) EP3134812A4 (en)
JP (1) JP2017514218A (en)
CN (1) CN105095970B (en)
HK (1) HK1213346A1 (en)
TW (1) TWI650650B (en)
WO (1) WO2015164661A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180373551A1 (en) * 2017-03-21 2018-12-27 Aaron Christensen Systems and methods for using dynamic templates to create application containers
US20190362066A1 (en) * 2018-05-25 2019-11-28 Microsoft Technology Licensing, Llc Accessing secure system resources by low privilege processes
US10521251B2 (en) 2016-09-23 2019-12-31 Microsoft Technology Licensing, Llc Hosting application experiences within storage service viewers
US10574632B2 (en) * 2016-06-30 2020-02-25 Hcl Technologies Limited System and method for secure sharing of a source code
US10606646B1 (en) 2017-03-13 2020-03-31 Veritas Technologies Llc Systems and methods for creating a data volume from within a software container and initializing the data volume with data
US10685033B1 (en) 2017-02-14 2020-06-16 Veritas Technologies Llc Systems and methods for building an extract, transform, load pipeline
US10740132B2 (en) 2018-01-30 2020-08-11 Veritas Technologies Llc Systems and methods for updating containers
US10897457B2 (en) 2017-04-17 2021-01-19 International Business Machines Corporation Processing of IoT data by intermediaries
US10909136B1 (en) 2017-02-08 2021-02-02 Veritas Technologies Llc Systems and methods for automatically linking data analytics to storage
CN113126996A (en) * 2019-12-31 2021-07-16 华控清交信息科技(北京)有限公司 Code auditing method, device and system
US11176556B2 (en) * 2018-11-13 2021-11-16 Visa International Service Association Techniques for utilizing a predictive model to cache processing data

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391239B (en) * 2016-03-11 2021-06-22 阿里巴巴集团控股有限公司 Scheduling method and device based on container service
CN105827643A (en) * 2016-05-17 2016-08-03 世纪禾光科技发展(北京)有限公司 Open platform management system and method
CN106330877B (en) * 2016-08-18 2019-07-05 福建联迪商用设备有限公司 It is a kind of to authorize the method and system converted to the SOT state of termination
CN109325345B (en) * 2018-09-21 2022-10-28 百度在线网络技术(北京)有限公司 Method and apparatus for running third party code in a sandbox environment
CN110059123A (en) * 2019-04-15 2019-07-26 福建省星云大数据应用服务有限公司 A kind of data can use sightless government data development approach and system

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060722A1 (en) * 2003-09-15 2005-03-17 Trigence Corp. System for containerization of application sets
US7181731B2 (en) * 2000-09-01 2007-02-20 Op40, Inc. Method, system, and structure for distributing and executing software and data on different network and computer devices, platforms, and environments
US20070168919A1 (en) * 2005-12-01 2007-07-19 Cassatt Corporation Automated deployment and configuration of applications in an autonomically controlled distributed computing system
USH2201H1 (en) * 2001-03-19 2007-09-04 The United States Of America As Represented By The Secretary Of The Air Force Software architecture and design for facilitating prototyping in distributed virtual environments
US7302609B2 (en) * 2003-03-12 2007-11-27 Vladimir Matena Method and apparatus for executing applications on a distributed computer system
US20110246541A1 (en) * 2009-09-30 2011-10-06 Fujitsu Limited Data management apparatus and method
US20110265081A1 (en) * 2010-04-26 2011-10-27 Vmware, Inc. Droplet execution engine for dynamic server application deployment
US20120254972A1 (en) * 2011-04-04 2012-10-04 International Business Machines Corporation Trust system
US20120297015A1 (en) * 2011-05-19 2012-11-22 Third Solutions, Inc. System and method for building data relevant applications
US20130061314A1 (en) * 2009-06-03 2013-03-07 Apple Inc. Secure software installation
US20130117208A1 (en) * 2011-11-08 2013-05-09 Nokia Corporation Predictive Service for Third Party Application Developers
US20130311997A1 (en) * 2012-05-15 2013-11-21 Apple Inc. Systems and Methods for Integrating Third Party Services with a Digital Assistant
US20130346491A1 (en) * 2010-02-16 2013-12-26 Google Inc. Server-Based Data Sharing in Computer Applications Using A Clipboard
US20140007195A1 (en) * 2012-06-27 2014-01-02 Vikas Gupta User Authentication of Applications on Third-Party Devices Via User Devices
US20140099920A1 (en) * 2012-10-08 2014-04-10 At&T Intellectual Property I, L.P. Managing Opt-In and Opt-Out for Private Data Access
US20140189778A1 (en) * 2012-12-28 2014-07-03 Hong Li Web application container for client-level runtime control
US20140282890A1 (en) * 2013-03-14 2014-09-18 Hong C. Li Differentiated containerization and execution of web content based on trust level and other attributes
US9003552B2 (en) * 2010-12-30 2015-04-07 Ensighten, Inc. Online privacy management
US9176720B1 (en) * 2012-04-23 2015-11-03 Google Inc. Installation of third-party web applications into a container
US9804945B1 (en) * 2013-01-03 2017-10-31 Amazon Technologies, Inc. Determinism for distributed applications

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865871B2 (en) * 2003-12-10 2011-01-04 Oracle International Corporation Generating code to be deployed in an application server by introspecting an input class included in an archive file
JP2006236220A (en) * 2005-02-28 2006-09-07 Ntt Data Technology Corp Device, method, program and storage medium for forming test data file
US8423954B2 (en) * 2006-03-31 2013-04-16 Sap Ag Interactive container of development components and solutions
JP4878527B2 (en) * 2006-09-08 2012-02-15 富士通株式会社 Test data creation device
CN101459740B (en) * 2007-12-14 2011-09-14 华为技术有限公司 Method for deploying SIP Servlet application, managing SIP Servlet application and system thereof
US8869140B2 (en) * 2008-05-09 2014-10-21 Sap Se Deploying software modules in computer system
US10311446B2 (en) * 2008-12-05 2019-06-04 Nokia Technologies Oy Method and apparatus for obfuscating context information
JP5374146B2 (en) * 2008-12-26 2013-12-25 キヤノン株式会社 Software evaluation method and information processing apparatus for realizing the same
US20110035287A1 (en) * 2009-07-27 2011-02-10 Barbara Ann Fox Apparatus and method for providing media commerce platform
CN102214093B (en) * 2010-04-07 2016-01-13 苹果公司 To the search extensibility of third-party application
TW201232404A (en) * 2010-10-22 2012-08-01 Ibm Software development
US8612580B2 (en) * 2011-05-31 2013-12-17 Microsoft Corporation Distributed computing framework

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181731B2 (en) * 2000-09-01 2007-02-20 Op40, Inc. Method, system, and structure for distributing and executing software and data on different network and computer devices, platforms, and environments
USH2201H1 (en) * 2001-03-19 2007-09-04 The United States Of America As Represented By The Secretary Of The Air Force Software architecture and design for facilitating prototyping in distributed virtual environments
US7302609B2 (en) * 2003-03-12 2007-11-27 Vladimir Matena Method and apparatus for executing applications on a distributed computer system
US20050060722A1 (en) * 2003-09-15 2005-03-17 Trigence Corp. System for containerization of application sets
US20070168919A1 (en) * 2005-12-01 2007-07-19 Cassatt Corporation Automated deployment and configuration of applications in an autonomically controlled distributed computing system
US20130061314A1 (en) * 2009-06-03 2013-03-07 Apple Inc. Secure software installation
US20110246541A1 (en) * 2009-09-30 2011-10-06 Fujitsu Limited Data management apparatus and method
US20130346491A1 (en) * 2010-02-16 2013-12-26 Google Inc. Server-Based Data Sharing in Computer Applications Using A Clipboard
US20110265081A1 (en) * 2010-04-26 2011-10-27 Vmware, Inc. Droplet execution engine for dynamic server application deployment
US9003552B2 (en) * 2010-12-30 2015-04-07 Ensighten, Inc. Online privacy management
US20120254972A1 (en) * 2011-04-04 2012-10-04 International Business Machines Corporation Trust system
US20120297015A1 (en) * 2011-05-19 2012-11-22 Third Solutions, Inc. System and method for building data relevant applications
US20130117208A1 (en) * 2011-11-08 2013-05-09 Nokia Corporation Predictive Service for Third Party Application Developers
US9176720B1 (en) * 2012-04-23 2015-11-03 Google Inc. Installation of third-party web applications into a container
US20130311997A1 (en) * 2012-05-15 2013-11-21 Apple Inc. Systems and Methods for Integrating Third Party Services with a Digital Assistant
US20140007195A1 (en) * 2012-06-27 2014-01-02 Vikas Gupta User Authentication of Applications on Third-Party Devices Via User Devices
US20140099920A1 (en) * 2012-10-08 2014-04-10 At&T Intellectual Property I, L.P. Managing Opt-In and Opt-Out for Private Data Access
US20140189778A1 (en) * 2012-12-28 2014-07-03 Hong Li Web application container for client-level runtime control
US9804945B1 (en) * 2013-01-03 2017-10-31 Amazon Technologies, Inc. Determinism for distributed applications
US20140282890A1 (en) * 2013-03-14 2014-09-18 Hong C. Li Differentiated containerization and execution of web content based on trust level and other attributes

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10574632B2 (en) * 2016-06-30 2020-02-25 Hcl Technologies Limited System and method for secure sharing of a source code
US10521251B2 (en) 2016-09-23 2019-12-31 Microsoft Technology Licensing, Llc Hosting application experiences within storage service viewers
US10909136B1 (en) 2017-02-08 2021-02-02 Veritas Technologies Llc Systems and methods for automatically linking data analytics to storage
US10685033B1 (en) 2017-02-14 2020-06-16 Veritas Technologies Llc Systems and methods for building an extract, transform, load pipeline
US10606646B1 (en) 2017-03-13 2020-03-31 Veritas Technologies Llc Systems and methods for creating a data volume from within a software container and initializing the data volume with data
US10540191B2 (en) * 2017-03-21 2020-01-21 Veritas Technologies Llc Systems and methods for using dynamic templates to create application containers
US20180373551A1 (en) * 2017-03-21 2018-12-27 Aaron Christensen Systems and methods for using dynamic templates to create application containers
US11126448B1 (en) 2017-03-21 2021-09-21 Veritas Technologies Llc Systems and methods for using dynamic templates to create application containers
US10897457B2 (en) 2017-04-17 2021-01-19 International Business Machines Corporation Processing of IoT data by intermediaries
US10740132B2 (en) 2018-01-30 2020-08-11 Veritas Technologies Llc Systems and methods for updating containers
US20190362066A1 (en) * 2018-05-25 2019-11-28 Microsoft Technology Licensing, Llc Accessing secure system resources by low privilege processes
US11176556B2 (en) * 2018-11-13 2021-11-16 Visa International Service Association Techniques for utilizing a predictive model to cache processing data
US20220051254A1 (en) * 2018-11-13 2022-02-17 Visa International Service Association Techniques for utilizing a predictive model to cache processing data
CN113126996A (en) * 2019-12-31 2021-07-16 华控清交信息科技(北京)有限公司 Code auditing method, device and system

Also Published As

Publication number Publication date
EP3134812A1 (en) 2017-03-01
CN105095970A (en) 2015-11-25
JP2017514218A (en) 2017-06-01
EP3134812A4 (en) 2017-12-06
WO2015164661A1 (en) 2015-10-29
CN105095970B (en) 2018-09-21
HK1213346A1 (en) 2016-06-30
TW201541259A (en) 2015-11-01
TWI650650B (en) 2019-02-11

Similar Documents

Publication Publication Date Title
US20150310209A1 (en) Executing third-party application
US10872029B1 (en) System, apparatus and method for deploying infrastructure to the cloud
US11233708B1 (en) System, apparatus and method for deploying infrastructure to the cloud
CA2919839C (en) Virtual computing instance migration
CN109240900A (en) Block chain network service platform and its intelligent contract detection method, storage medium
US20240185315A1 (en) Preemptive transaction analysis
US12032461B2 (en) Software upgrade stability recommendations
US10983873B1 (en) Prioritizing electronic backup
US20140149978A1 (en) Dynamic communication between script and execution layers
US9935849B2 (en) Assessing a service offering in a networked computing environment
US11106820B2 (en) Data anonymization
US9984087B2 (en) Performing actions on objects as a result of applying tags to the objects
US10009227B2 (en) Network service provisioning tool and method
US20150242470A1 (en) Systems and methods for recommending software applications
US9225662B2 (en) Command management in a networked computing environment
US10394793B1 (en) Method and system for governed replay for compliance applications
US11023356B2 (en) Utilization of publicly available source code
US20160071064A1 (en) Context driven task creation and management
CN109992614B (en) Data acquisition method, device and server
CN112434347B (en) Rental business processing method, device, equipment and system
US10216610B2 (en) Debug session analysis for related work item discovery
US20240311359A1 (en) Populating multi-layer technology product catalogs
CN112187703B (en) Data processing method and device
CN110020539A (en) A kind of data sharing method and device
US8370292B2 (en) Identifying and defining information services for delivery in a service oriented architecture

Legal Events

Date Code Title Description
AS Assignment

Owner name: ALIBABA GROUP HOLDING LIMITED, CAYMAN ISLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZHANG, MAOSEN;REEL/FRAME:036425/0855

Effective date: 20150423

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION