CN113032093A - Distributed computing method, device and platform - Google Patents

Distributed computing method, device and platform Download PDF

Info

Publication number
CN113032093A
CN113032093A CN202110245940.7A CN202110245940A CN113032093A CN 113032093 A CN113032093 A CN 113032093A CN 202110245940 A CN202110245940 A CN 202110245940A CN 113032093 A CN113032093 A CN 113032093A
Authority
CN
China
Prior art keywords
execution
distributed computing
scheduling
virtual private
node
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.)
Granted
Application number
CN202110245940.7A
Other languages
Chinese (zh)
Other versions
CN113032093B (en
Inventor
于汝国
解耀伟
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110245940.7A priority Critical patent/CN113032093B/en
Publication of CN113032093A publication Critical patent/CN113032093A/en
Application granted granted Critical
Publication of CN113032093B publication Critical patent/CN113032093B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

The disclosure discloses a distributed computing method, a distributed computing device and a distributed computing platform, relates to the technical field of data processing, and particularly relates to the technical field of cloud computing and the technical field of big data. The specific implementation scheme is as follows: receiving a job task request, wherein the job task request comprises: object identification and job tasks; determining a scheduling node in a private network area of the virtual private cloud corresponding to the object identifier; and distributing the job tasks to the scheduling nodes so that the scheduling nodes select the execution nodes in the private network area to execute the job tasks, thereby realizing resource isolation among the job tasks of a plurality of objects, stabilizing the execution time of the job tasks of the objects and improving the execution efficiency of the job tasks.

Description

Distributed computing method, device and platform
Technical Field
The present disclosure relates to the field of data processing technologies, and in particular, to the field of cloud computing technologies and the field of big data technologies, and in particular, to a distributed computing method, apparatus, and platform.
Background
In the current distributed computing framework, a Spark engine and Hadoop Yarn scheduling system structure is adopted, and the Hadoop Yarn scheduling system deploys scheduling nodes and execution nodes in a basic network area, so that a memory use mechanism based on thread monitoring and a resource isolation mechanism based on Cgroup are provided. In the method, the resource isolation mechanism of the Hadoop Yarn scheduling system is poor, and the execution time and the efficiency of the operation task fluctuate greatly.
Disclosure of Invention
The disclosure provides a distributed computing method, a distributed computing device and a distributed computing platform.
According to an aspect of the present disclosure, there is provided a distributed computing method including: receiving a job task request, wherein the job task request comprises: object identification and job tasks; determining a scheduling node in a private network area of a virtual private cloud corresponding to the object identifier; and distributing the job task to the scheduling node so that the scheduling node selects an execution node in the private network area to execute the job task.
According to another aspect of the present disclosure, there is provided a distributed computing apparatus comprising: a receiving module, configured to receive a job task request, where the job task request includes: object identification and job tasks; a determining module, configured to determine a scheduling node in a private network area of a virtual private cloud corresponding to the object identifier; and the distribution module is used for distributing the job task to the scheduling node so that the scheduling node selects the execution node to execute the job task.
According to a third aspect, there is provided a distributed computing platform comprising: the method comprises the steps that a virtual private cloud of a service and a virtual private cloud of an object are deployed on a cluster, wherein a scheduling node and an execution node are deployed in a private network area of the virtual private cloud of the object; the virtual private cloud of the service is communicated with the virtual private cloud of the object, the task of the object is distributed to the scheduling node, and the scheduling node selects an execution node to execute the task.
According to a fourth aspect, there is provided an electronic device comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the distributed computing method as described above.
According to a fifth aspect, there is provided a non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the distributed computing method as described above.
According to a sixth aspect, there is provided a computer program product implementing the distributed computing method as described above when executed by an instruction processor in the computer program product.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present disclosure, nor do they limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The drawings are included to provide a better understanding of the present solution and are not to be construed as limiting the present disclosure. Wherein:
FIG. 1 is a schematic diagram according to a first embodiment of the present disclosure;
FIG. 2 is a schematic diagram according to a second embodiment of the present disclosure;
FIG. 3 is a schematic diagram according to a third embodiment of the present disclosure;
FIG. 4 is a schematic diagram according to a fourth embodiment of the present disclosure;
FIG. 5 is a schematic diagram of a distributed computing platform;
FIG. 6 is a block diagram of an electronic device for implementing the distributed computing method of an embodiment of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the disclosure are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
The distributed computing method, apparatus, and platform of the embodiments of the present application are described below with reference to the accompanying drawings.
Fig. 1 is a schematic diagram according to a first embodiment of the present application. It should be noted that the execution subject of the embodiment of the present application is a distributed computing device, and the distributed computing device may be, for example, a virtual private cloud of a service in a distributed computing platform, or a node in the virtual private cloud of the service.
As shown in fig. 1, the distributed computing method is implemented as follows:
step 101, receiving a job task request, wherein the job task request comprises: object identification and job tasks.
In this embodiment, the distributed computing platform for executing the distributed computing method may include: the system comprises a service virtual private cloud deployed on a cluster and an object virtual private cloud, wherein a scheduling node and an execution node are deployed in a private network area of the object virtual private cloud; the service virtual private cloud and the object virtual private cloud are communicated with each other, the object job task is distributed to the scheduling node, and the scheduling node selects the execution node to execute the job task.
In this embodiment of the present application, the cluster may specifically be an open-source container cluster (Kubernetes, K8S), and deployment of the scheduling node and the execution node on the container group is implemented, so as to implement resource isolation.
In this embodiment, a Private network area of a Virtual Private Cloud (VPC) of a service may include: a cluster Master Node (K8S Master) and a cluster slave Node (K8S Node) that can perform the method shown in fig. 1. A Virtual Kubelet component may be deployed in the cluster slave node, and the method shown in fig. 1 is executed through the component and an API interface provided by the cluster.
In an embodiment of the present application, a virtual private cloud of an object includes a private network area and a basic network area. The private network area may include: the system comprises a plurality of cluster slave nodes, wherein a plurality of container groups can exist in one cluster slave node, and a scheduling node (driver) can be deployed in one container group; another cluster slave node may have multiple container groups for deploying multiple execution instances, resulting in multiple execution nodes (executors).
In an embodiment of the present application, the private network area of the virtual private cloud of the object may include at least one of the following cluster services: a Time Series Database (TSDB) service, a search Engine (ES) Database, a data warehouse palo, and the like. The base network zone of the virtual private cloud of objects may include at least one of the following cluster services: KAFKA distributed log system, BOS services, etc.
In the embodiment of the application, the cluster subordinate node in the private network area of the served virtual private cloud can receive and process the job task request which is provided by the object and carries the object identifier and the job task through the preset API interface.
In this embodiment of the application, the object identifier may be, for example, a user identifier, where the user identifier may be content that uniquely identifies the user, such as an account of the user.
It should be noted that, in the technical solution of the present disclosure, the acquisition, storage, application, and the like of the personal information of the related user all conform to the regulations of the relevant laws and regulations, and do not violate the good custom of the public order.
Step 102, determining a scheduling node in a private network area of the virtual private cloud corresponding to the object identifier.
And 103, distributing the job task to the scheduling node so that the scheduling node selects an execution node in the private network area to execute the job task.
In the embodiment of the present application, the scheduling node and the execution node are located in the private network area of the virtual private cloud corresponding to the object identifier, and the service may correspond to a plurality of objects to provide services for the plurality of objects, that is, the scheduling node and the execution node corresponding to each object identifier are located in the private network area of the virtual private cloud corresponding to the corresponding object identifier. For each object identifier, the job task submitted by the object corresponding to the object identifier can only be processed by the scheduling node and the execution node in the private network area of the virtual private cloud corresponding to the object identifier, but cannot be processed by the scheduling node and the execution node in the private network area of the virtual private cloud corresponding to other object identifiers; and the job tasks submitted by the objects corresponding to other object identifications cannot be processed by the scheduling nodes and the execution nodes in the private network area of the virtual private cloud corresponding to the object identifications, so that the scheduling nodes and the execution nodes in the private network area of the virtual private cloud corresponding to the object identifications are exclusively shared by the objects corresponding to the object identifications. Therefore, resource isolation among the job tasks of the plurality of objects can be realized, the execution time of the job tasks of the objects is stabilized, and the execution efficiency of the job tasks is improved.
In summary, by receiving a job task request, the job task request includes: object identification and job tasks; determining a scheduling node in a private network area of the virtual private cloud corresponding to the object identifier; and distributing the job tasks to the scheduling nodes so that the scheduling nodes select the execution nodes in the private network area to execute the job tasks, thereby realizing resource isolation among the job tasks of a plurality of objects, stabilizing the execution time of the job tasks of the objects and improving the execution efficiency of the job tasks.
Fig. 2 is a schematic diagram according to a second embodiment of the present application. It should be noted that the execution subject of the embodiment of the present application is a distributed computing device, and the distributed computing device may be, for example, a virtual private cloud of a service in a distributed computing platform, or a node in the virtual private cloud of the service.
As shown in fig. 2, the specific implementation process of the distributed computing method is as follows:
step 201, applying for a first container group of the scheduling instance to be deployed and a second container group of the execution instance to be deployed to the virtual private cloud corresponding to the object identifier.
In the embodiment of the present application, the first container group and the second container group are different container groups. In order to implement resource isolation among a plurality of job tasks of one object and improve the execution efficiency of each job task of the object, the first container group and the second container group may be kata container groups. The kata container group starts the container based on the kata-container technology, provides high isolation of a virtual machine level for the container, and can realize isolation of memory, CPU, network and disk among different container groups.
Step 202, deploying a scheduling instance on the first container group to obtain a scheduling node.
Step 203, deploying the execution instance on the second container group to obtain an execution node.
In the embodiment of the application, the application container group in the virtual private cloud corresponding to the object identifier is used for deploying the scheduling instance and the execution instance to obtain the scheduling node and the execution node, so that resource isolation among the execution nodes among a plurality of objects is realized.
In the embodiment of the present application, the scheduling instance and the execution instance may be preset. After the scheduling instance and the execution instance are deployed, the scheduling instance and the execution instance can be subjected to start-up operation and stop-operation management.
Step 204, receiving a job task request, wherein the job task request comprises: object identification and job tasks.
Step 205, determining a scheduling node in the private network area of the virtual private cloud corresponding to the object identifier.
Step 206, the job task is distributed to the scheduling node, so that the scheduling node selects the execution node in the private network area to execute the job task.
In the embodiment of the application, the cluster services to be called when the execution node executes the job task are partially located in the private network area of the virtual private cloud corresponding to the object identifier, and partially located in the basic network area of the virtual private cloud corresponding to the object identifier, and the calling methods of the cluster services in different network areas are different. Correspondingly, the execution node executes the job task by directly calling the first cluster service in the private network area and/or calling the second cluster service in the basic network area of the virtual private cloud through the temporary access credential corresponding to the object identifier. In addition, the temporary access certificate also facilitates the access between the virtual private cloud of the service and the virtual private cloud of the object.
In the embodiment of the application, for the first cluster service in the private network area of the virtual private cloud corresponding to the object identifier, since the execution node is also located in the private network area, the execution node may directly invoke the first cluster service in the private network area. For the second cluster service in the basic network area of the virtual private cloud corresponding to the object identifier, because the execution node and the second cluster service are located in different network areas, the execution node needs to send a request to a related service STS of the basic network area to obtain a temporary access credential corresponding to the object identifier, and then the second cluster service is called through the temporary access credential.
In the embodiment of the present application, the detailed descriptions of step 204, step 205, and step 206 may refer to the embodiment shown in fig. 1, and are not described in detail here.
In summary, a first container group of a scheduling instance to be deployed and a second container group of an execution instance to be deployed are applied for a virtual private cloud corresponding to the object identifier; deploying a scheduling instance on the first container group to obtain a scheduling node; deploying an execution instance on the second container group to obtain an execution node; receiving a job task request, wherein the job task request comprises: object identification and job tasks; determining a scheduling node in a private network area of the virtual private cloud corresponding to the object identifier; and distributing the job tasks to the scheduling nodes so that the scheduling nodes select the execution nodes in the private network area to execute the job tasks, thereby realizing resource isolation among the job tasks of a plurality of objects, stabilizing the execution time of the job tasks of the objects and improving the execution efficiency of the job tasks.
In order to implement the foregoing embodiments, the present application further provides a distributed computing device.
Fig. 3 is a schematic diagram according to a third embodiment of the present application. As shown in fig. 3, the distributed computing apparatus 300 includes: a receiving module 310, a determining module 320, and an assigning module 330.
The receiving module 310 is configured to receive a job task request, where the job task request includes: object identification and job tasks;
a determining module 320, configured to determine a scheduling node in a private network area of a virtual private cloud corresponding to the object identifier;
an allocating module 330, configured to allocate the job task to the scheduling node, so that the scheduling node selects an execution node to execute the job task.
As a possible implementation manner of the embodiment of the present application, with reference to fig. 4, the apparatus may further include: an application module 340 and a deployment module 350;
the application module 340 is configured to apply for a first container group of a scheduling instance to be deployed and a second container group of an execution instance to be deployed to a virtual private cloud corresponding to the object identifier;
the deployment module 350 is configured to deploy the scheduling instance on the first container group to obtain the scheduling node; and deploying the execution instance on the second container group to obtain the execution node.
As a possible implementation manner of the embodiment of the present application, the apparatus may further include: and the management module is used for carrying out start-up operation and stop-operation management on the scheduling instance and the execution instance.
As a possible implementation manner of the embodiment of the present application, the first container group and the second container group are kata container groups.
As a possible implementation manner of the embodiment of the present application, the virtual private cloud is deployed in an open-source container cluster kubernets.
As a possible implementation manner of the embodiment of the present application, the manner in which the execution node executes the job task is to directly invoke a first cluster service in the private network area, and/or invoke a second cluster service in the basic network area of the virtual private cloud through a temporary access credential corresponding to the object identifier, so as to execute the job task.
In summary, by receiving a job task request, the job task request includes: object identification and job tasks; determining a scheduling node in a private network area of the virtual private cloud corresponding to the object identifier; and distributing the job tasks to the scheduling nodes so that the scheduling nodes select the execution nodes in the private network area to execute the job tasks, thereby realizing resource isolation among the job tasks of a plurality of objects, stabilizing the execution time of the job tasks of the objects and improving the execution efficiency of the job tasks.
According to an embodiment of the present disclosure, the present disclosure also provides a distributed computing platform, as shown in fig. 5, including: the method comprises the steps that a virtual private cloud of a service and a virtual private cloud of an object are deployed on a cluster, wherein a scheduling node and an execution node are deployed in a private network area of the virtual private cloud of the object; the virtual private cloud of the service is communicated with the virtual private cloud of the object, the task of the object is distributed to the scheduling node, and the scheduling node selects an execution node to execute the task.
In fig. 5, the cluster may specifically be an open-source container cluster (Kubernetes, K8S), and the deployment of the scheduling node and the execution node on the container group is implemented to implement resource isolation.
In fig. 5, a Private network zone of a Virtual Private Cloud (VPC) of a service may include: a cluster Master Node (K8S Master) and a cluster slave Node (K8S Node) that can perform the method shown in fig. 1. A Virtual Kubelet component may be deployed in the cluster slave node, and the method shown in fig. 1 is executed through the component and an API interface provided by the cluster.
In fig. 5, the virtual private cloud of the object includes a private network zone and an infrastructure network zone. The private network area may include: the system comprises a plurality of cluster slave nodes, wherein a plurality of container groups can exist in one cluster slave node, and a scheduling node (driver) can be deployed in one container group; another cluster slave node may have multiple container groups for deploying multiple execution instances, resulting in multiple execution nodes (executors).
In fig. 5, the private network zone of the virtual private cloud of the object may include at least one of the following cluster services: a Time Series Database (TSDB) service, a search Engine (ES) Database, a data warehouse palo, and the like. The base network zone of the virtual private cloud of objects may include at least one of the following cluster services: KAFKA distributed log system, BOS services, etc.
In the embodiment of the application, the cluster subordinate node in the private network area of the served virtual private cloud can receive and process the job task request which is provided by the object and carries the object identifier and the job task through the preset API interface.
In summary, a distributed computing platform, comprising: the system comprises a service virtual private cloud deployed on a cluster and an object virtual private cloud, wherein a scheduling node and an execution node are deployed in a private network area of the object virtual private cloud; the service virtual private cloud and the object virtual private cloud are communicated with each other, the object job tasks are distributed to the scheduling nodes, the scheduling nodes select the execution nodes to execute the job tasks, accordingly, resource isolation among the job tasks of the multiple objects is achieved, execution time of the object job tasks is stabilized, and execution efficiency of the job tasks is improved.
The present disclosure also provides an electronic device, a readable storage medium, and a computer program product according to embodiments of the present disclosure.
FIG. 6 illustrates a schematic block diagram of an example electronic device 600 that can be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 6, the apparatus 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM)602 or a computer program loaded from a storage unit 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The calculation unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
A number of components in the device 600 are connected to the I/O interface 605, including: an input unit 606 such as a keyboard, a mouse, or the like; an output unit 607 such as various types of displays, speakers, and the like; a storage unit 608, such as a magnetic disk, optical disk, or the like; and a communication unit 609 such as a network card, modem, wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The computing unit 601 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various dedicated Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, and so forth. The calculation unit 601 performs the respective methods and processes described above, such as the distributed calculation method. For example, in some embodiments, the distributed computing method may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 600 via the ROM 602 and/or the communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the distributed computing method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the distributed computing method by any other suitable means (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), system on a chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), the internet, and blockchain networks.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may also be a server of a distributed system, or a server incorporating a blockchain.
It should be noted that artificial intelligence is a subject for studying a computer to simulate some human thinking processes and intelligent behaviors (such as learning, reasoning, thinking, planning, etc.), and includes both hardware and software technologies. Artificial intelligence hardware technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing, and the like; the artificial intelligence software technology mainly comprises a computer vision technology, a voice recognition technology, a natural language processing technology, machine learning/deep learning, a big data processing technology, a knowledge map technology and the like.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present disclosure may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solutions disclosed in the present disclosure can be achieved, and the present disclosure is not limited herein.
The above detailed description should not be construed as limiting the scope of the disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present disclosure should be included in the scope of protection of the present disclosure.

Claims (16)

1. A distributed computing method, comprising:
receiving a job task request, wherein the job task request comprises: object identification and job tasks;
determining a scheduling node in a private network area of a virtual private cloud corresponding to the object identifier;
and distributing the job task to the scheduling node so that the scheduling node selects an execution node in the private network area to execute the job task.
2. The distributed computing method of claim 1, wherein, prior to receiving a job task request, further comprising:
applying for a first container group of a scheduling instance to be deployed and a second container group of an execution instance to be deployed to a virtual private cloud corresponding to the object identifier;
deploying the scheduling instance on the first container group to obtain the scheduling node;
and deploying the execution instance on the second container group to obtain the execution node.
3. The distributed computing method of claim 2, further comprising:
and performing starting operation and stopping operation management on the scheduling instance and the execution instance.
4. The distributed computing method of claim 2, wherein the first and second container groups are kata container groups.
5. The distributed computing method of claim 1, wherein the virtual private cloud is deployed in an open-source container cluster, kubernets.
6. The distributed computing method of claim 1, wherein the execution nodes perform the job task by,
and directly calling a first cluster service in the private network area, and/or calling a second cluster service in the basic network area of the virtual private cloud through the temporary access certificate corresponding to the object identifier to execute the job task.
7. A distributed computing device, comprising:
a receiving module, configured to receive a job task request, where the job task request includes: object identification and job tasks;
a determining module, configured to determine a scheduling node in a private network area of a virtual private cloud corresponding to the object identifier;
and the distribution module is used for distributing the job task to the scheduling node so that the scheduling node selects the execution node to execute the job task.
8. The distributed computing apparatus of claim 7, further comprising: an application module and a deployment module;
the application module is used for applying a first container group of the scheduling instance to be deployed and a second container group of the execution instance to be deployed to the virtual private cloud corresponding to the object identifier;
the deployment module is configured to deploy the scheduling instance on the first container group to obtain the scheduling node; and deploying the execution instance on the second container group to obtain the execution node.
9. The distributed computing apparatus of claim 8, further comprising: and the management module is used for carrying out start-up operation and stop-operation management on the scheduling instance and the execution instance.
10. The distributed computing apparatus of claim 8, wherein the first and second container groups are kata container groups.
11. The distributed computing apparatus of claim 7, wherein the virtual private cloud is deployed in an open-source container cluster, kubernets.
12. The distributed computing apparatus of claim 7, wherein the execution nodes perform the job task in a manner that,
and directly calling a first cluster service in the private network area, and/or calling a second cluster service in the basic network area of the virtual private cloud through the temporary access certificate corresponding to the object identifier to execute the job task.
13. A distributed computing platform, comprising:
the method comprises the steps that a virtual private cloud of a service and a virtual private cloud of an object are deployed on a cluster, wherein a scheduling node and an execution node are deployed in a private network area of the virtual private cloud of the object;
the virtual private cloud of the service is communicated with the virtual private cloud of the object, the task of the object is distributed to the scheduling node, and the scheduling node selects an execution node to execute the task.
14. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-6.
15. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of any one of claims 1-6.
16. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1-6.
CN202110245940.7A 2021-03-05 2021-03-05 Distributed computing method, device and platform Active CN113032093B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110245940.7A CN113032093B (en) 2021-03-05 2021-03-05 Distributed computing method, device and platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110245940.7A CN113032093B (en) 2021-03-05 2021-03-05 Distributed computing method, device and platform

Publications (2)

Publication Number Publication Date
CN113032093A true CN113032093A (en) 2021-06-25
CN113032093B CN113032093B (en) 2024-01-09

Family

ID=76468121

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110245940.7A Active CN113032093B (en) 2021-03-05 2021-03-05 Distributed computing method, device and platform

Country Status (1)

Country Link
CN (1) CN113032093B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114791855A (en) * 2022-06-23 2022-07-26 中航金网(北京)电子商务有限公司 Task scheduling method, device, medium, equipment and program product under cloud platform
WO2023138384A1 (en) * 2022-01-18 2023-07-27 International Business Machines Corporation Propagating job contexts to a job execution environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180046503A1 (en) * 2016-08-09 2018-02-15 International Business Machines Corporation Data-locality-aware task scheduling on hyper-converged computing infrastructures
CN110245023A (en) * 2019-06-05 2019-09-17 欧冶云商股份有限公司 Distributed scheduling method and device, electronic equipment and computer storage medium
CN110875833A (en) * 2018-08-31 2020-03-10 阿里巴巴集团控股有限公司 Cluster hybrid cloud, job processing method and device and electronic equipment
CN111343219A (en) * 2018-12-18 2020-06-26 同方威视技术股份有限公司 Computing service cloud platform

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180046503A1 (en) * 2016-08-09 2018-02-15 International Business Machines Corporation Data-locality-aware task scheduling on hyper-converged computing infrastructures
CN110875833A (en) * 2018-08-31 2020-03-10 阿里巴巴集团控股有限公司 Cluster hybrid cloud, job processing method and device and electronic equipment
CN111343219A (en) * 2018-12-18 2020-06-26 同方威视技术股份有限公司 Computing service cloud platform
CN110245023A (en) * 2019-06-05 2019-09-17 欧冶云商股份有限公司 Distributed scheduling method and device, electronic equipment and computer storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张榆;: "基于OpenStack和Ceph的开源私有云平台设计和实现", 云南电力技术, no. 02 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023138384A1 (en) * 2022-01-18 2023-07-27 International Business Machines Corporation Propagating job contexts to a job execution environment
CN114791855A (en) * 2022-06-23 2022-07-26 中航金网(北京)电子商务有限公司 Task scheduling method, device, medium, equipment and program product under cloud platform
CN114791855B (en) * 2022-06-23 2022-09-16 中航金网(北京)电子商务有限公司 Task scheduling method, device, medium, equipment and program product under cloud platform

Also Published As

Publication number Publication date
CN113032093B (en) 2024-01-09

Similar Documents

Publication Publication Date Title
CN109408205B (en) Task scheduling method and device based on hadoop cluster
CN109257399B (en) Cloud platform application program management method, management platform and storage medium
CN113032093B (en) Distributed computing method, device and platform
CN113849312A (en) Data processing task allocation method and device, electronic equipment and storage medium
CN114911598A (en) Task scheduling method, device, equipment and storage medium
CN115658311A (en) Resource scheduling method, device, equipment and medium
EP4060496A2 (en) Method, apparatus, device and storage medium for running inference service platform
CN114896166A (en) Scene library construction method and device, electronic equipment and storage medium
CN115617511A (en) Resource data processing method and device, electronic equipment and storage medium
CN113032092B (en) Distributed computing method, device and platform
CN116932147A (en) Streaming job processing method and device, electronic equipment and medium
CN114090234A (en) Request scheduling method and device, electronic equipment and storage medium
CN114862223A (en) Robot scheduling method, device, equipment and storage medium
CN114416357A (en) Method and device for creating container group, electronic equipment and medium
CN115328612A (en) Resource allocation method, device, equipment and storage medium
CN114070889A (en) Configuration method, traffic forwarding method, device, storage medium, and program product
CN104793924A (en) Calculation mission processing method and device
CN113867920A (en) Task processing method and device, electronic equipment and medium
CN112905270A (en) Workflow implementation method, device, platform, electronic equipment and storage medium
CN116521199B (en) Component upgrading method, device, equipment and storage medium
CN115061817A (en) Operation and maintenance method, device, system and computer program product
CN114356505A (en) Method, apparatus, device, medium and product for scheduling groups of containers
CN118113420A (en) Application deployment method and device, electronic equipment and storage medium
CN113946414A (en) Task processing method and device and electronic equipment
CN115599552A (en) Distributed task processing method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant