KR20210141703A - 태스크 마이그레이션 방법, 장치, 전자 기기 및 기록 매체 - Google Patents

태스크 마이그레이션 방법, 장치, 전자 기기 및 기록 매체 Download PDF

Info

Publication number
KR20210141703A
KR20210141703A KR1020217034745A KR20217034745A KR20210141703A KR 20210141703 A KR20210141703 A KR 20210141703A KR 1020217034745 A KR1020217034745 A KR 1020217034745A KR 20217034745 A KR20217034745 A KR 20217034745A KR 20210141703 A KR20210141703 A KR 20210141703A
Authority
KR
South Korea
Prior art keywords
task
spark
hadoop
cluster
preset
Prior art date
Application number
KR1020217034745A
Other languages
English (en)
Inventor
하이지아오 하오
쒸광 룹
지안씬 자오
린홍 리우
하오 리
Original Assignee
바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드
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 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 filed Critical 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드
Publication of KR20210141703A publication Critical patent/KR20210141703A/ko

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • 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/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4875Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with migration policy, e.g. auction, contract negotiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

본 출원은 데이터 처리의 분야에 관한 태스크 마이그레이션 방법, 장치, 전자 기기 및 기록 매체를 개시한다. 그 중의 방법은 사용자가 제출한 태스크를 획득하는 단계; 상기 태스크가 Hadoop 태스크이고, 태스크 전환이 필요하다고 결정되었을 경우, 상기 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환하는 단계; 및 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출하는 단계;를 포함할 수 있다. 본 출원의 상기 해결책을 적용하면, 사용자의 작업량을 줄이고, 처리 효율 등을 향상시킬 수 있다.

Description

태스크 마이그레이션 방법, 장치, 전자 기기 및 기록 매체
본 출원은 컴퓨터 애플리케이션 기술에 관한 것으로, 특히, 데이터 처리의 분야 태스크 마이그레이션 방법, 장치, 전자 기기 및 기록 매체에 관한 것이다.
<관련 출원의 상호 참조>
본 출원은 출원일이 2020년 3월 5일이고, 출원 번호가 2020101471727이며, 발명 명칭이 "태스크 마이그레이션 방법, 장치, 전자 기기 및 기록 매체(TASK MIGRATION METHOD AND APPARATUS, AND ELECTRONIC DEVICE AND STORAGE MEDIUM)”인 중국 특허 출원의 우선권을 주장한다.
Spark 모델의 계산력과 성능은 모두 Hadoop 모델보다 더 좋다. Hadoop은 클러스터의 위력을 충분히 이용하여 고속 연산 및 저장을 수행하는 분산형 시스템이며, Spark는 대용량의 데이터 처리를 위한 고속 범용 엔진이다.
종래의 방식에서, 많은 오프라인 태스크는 모두 Hadoop 모델을 사용하여 작성 및 실행되고, Spark 모델의 이점을 고려하여, Hadoop 태스크의 마이그레이션, 즉 Hadoop 태스크를 Spark 태스크로 전환하는 것을 구현하고자 한다.
현재의 처리 방식에서, 일반적으로, 업무 연구 개발자가 수동으로 태스크를 전환해야 하지만, 이러한 방식은 업무 연구 개발자에게 큰 작업량이 필요하여, 효율이 낮다.
이를 고려하여, 본 출원은 태스크 마이그레이션 방법, 장치, 전자 기기 및 기록 매체를 제공한다.
태스크 마이그레이션 방법은
사용자가 제출한 태스크를 획득하는 단계;
상기 태스크가 Hadoop 태스크이고, 태스크 전환이 필요하다고 결정되었을 경우, 상기 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환하는 단계; 및
전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출하는 단계;를 포함한다.
본 출원의 바람직한 실시예에 의하면, 상기 태스크 전환이 필요하다고 결정되는 단계는,
서버에 요청하여 상기 사용자가 미리 작성한 구성을 획득하는 단계; 및
상기 구성에 따라 태스크 전환이 필요한지 여부를 결정하는 단계;를 포함한다.
본 출원의 바람직한 실시예에 의하면, 당해 방법은
상기 태스크가 Hadoop 태스크로부터 Spark 태스크로의 전환을 지시하는 Hadoop2Spark 태스크일 경우, 상기 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환하는 단계; 및
전환 결과를 미리 설정된 툴킷에 주입하고, 상기 Spark 클러스터에 제출하는 단계;를 더 포함한다.
본 출원의 바람직한 실시예에 의하면, 당해 방법은
상기 태스크가 Hadoop 태스크이고, 태스크 전환이 불필요하다고 결정되었을 경우, 상기 태스크를 Hadoop 클러스터에 제출하는 단계; 및
상기 태스크가 Spark 태스크일 경우, 상기 태스크를 상기 Spark 클러스터에 제출하는 단계;를 더 포함한다.
본 출원의 바람직한 실시예에 의하면, 상기 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출하는 단계는,
전환 결과를 미리 설정된 툴킷에 주입하고, Spark 태스크를 Spark 클러스터에 제출하는 단계를 포함하고,
상기 Spark 태스크는 미리 설정된 처리를 경과한 후에, Hadoop 로직과 등가인 매핑(map) 및 리듀스(reduce) 처리를 구현한다.
태스크 마이그레이션 장치는, 태스크 획득 유닛 및 태스크 처리 유닛을 포함하고,
상기 태스크 획득 유닛은 사용자가 제출한 태스크를 획득하는데 사용하고,
상기 태스크 처리 유닛은 상기 태스크가 Hadoop 태스크이고, 태스크 전환이 필요하다고 결정되었을 경우, 상기 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환하고, 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출하는데 사용한다.
본 출원의 바람직한 실시예로 의하면, 상기 태스크 처리 유닛은 서버에 요청하여 상기 사용자가 미리 작성한 구성을 획득하고, 상기 구성에 따라 태스크 전환이 필요한지 여부를 결정하는데 사용한다.
본 출원의 바람직한 실시예로 의하면, 상기 태스크 처리 유닛은 또한, 상기 태스크가 Hadoop 태스크로부터 Spark 태스크로의 전환을 지시하는 Hadoop2Spark 태스크일 경우, 상기 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환하고, 전환 결과를 미리 설정된 툴킷에 주입하고, 상기 Spark 클러스터에 제출하는데 사용한다.
본 출원의 바람직한 실시예로 의하면, 상기 태스크 처리 유닛은 또한, 상기 태스크가 Hadoop 태스크이고, 태스크 전환이 불필요하다고 결정되었을 경우, 상기 태스크를 Hadoop 클러스터에 제출하고, 상기 태스크가 Spark 태스크일 경우, 상기 태스크를 상기 Spark 클러스터에 제출하는데 사용한다.
본 출원의 바람직한 실시예에 의하면, 상기 태스크 처리 유닛은 또한, 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 태스크를 Spark 클러스터에 제출하고, 상기 Spark 태스크는 미리 설정된 처리를 경과한 후에, Hadoop 로직과 등가인 매핑(map) 및 리듀스(reduce) 처리를 구현하는데 사용한다.
전자 기기에서,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서에 통신 연결되는 메모리;를 포함하고,
상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되고 있고, 상기 명령이 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서에 의해 상기에 기재된 방법이 수행되도록 한다.
컴퓨터 명령이 저장되어 있는 비일시적 컴퓨터 판독 가능 기록 매체에서, 상기 컴퓨터 명령은 상기 컴퓨터가 상기에 기재된 방법을 수행하도록 한다.
상기의 출원의 일 실시예는 하기와 같은 이점 또는 유익한 효과를 구비한다. 사용자가 제출한 Hadoop 태스크를 Spark 태스크로 직접 전환하여, 사용자가 제로 비용의 태스크 마이그레이션을 구현할 수 있고, 또한, 사용자의 작업량을 줄이고, 처리 효율 등을 향상시킬 수 있고, 또한, 사용자가 자신의 수요에 따라 태스크 전환을 수행할지 여부를 유연하게 구성할 수 있고, 사용자의 다른 시나리오의 수요 등을 만족시킬 수 있고, 또한, 계산력이 더 강하고, 성능이 더 좋은 Spark 모델을 사용하여 map 및 reduce 처리를 완성될 수 있고, 사용자의 오프라인 계산 수요 등을 더 잘 만족시킬 수 있고, 또한, 태스크 전환이 불필요한 Hadoop 태스크 및 Spark 태스크 등과 같은 기존의 다른 태스크의 처리에 영향을 주지 않고, 양호한 호환성 등을 구비한다. 상기 선택 가능한 방식이 가지는 다른 효과에 대해서는 아래 구체적인 실시예를 결부하여 추가로 설명하고자 한다.
첨부 도면은 본 해결수단을 더 잘 이해하기 위한 것으로, 본 출원에 대해 한정하는 것으로 구성되지 않는다.
도 1은 본 출원의 상기 태스크 마이그레이션 방법의 제1 실시예의 흐름도이다.
도 2는 본 출원의 상기 태스크 마이그레이션 방법의 제2 실시예의 흐름도이다.
도 3은 본 출원의 상기 제출된 Spark 태스크의 처리 프로세스의 개략도이다.
도 4는 본 출원의 상기 태스크 마이그레이션 장치(400)의 실시예의 구성의 구조 개략도이다.
도 5는 본 출원의 실시예의 상기 방법에 관한 전자 기기의 블록도이다.
이하, 첨부된 도면을 결부하여 본 출원의 예시적 실시예를 설명하되, 여기에는 이해를 돕기 위한 본 출원의 실시예의 다양한 세부 사항이 포함되며, 이는 단지 예시적인 것으로 간주되어야 한다. 따라서, 본 기술분야의 통상의 기술자는 본 출원의 범위와 사상을 벗어나지 않으면서, 여기서 설명되는 실시예에 대한 다양한 변경과 수정이 이루어질 수 있음을 이해해야 한다. 마찬가지로, 명확성 및 간결성을 위해, 아래의 설명에서 공지된 기능과 구조에 대한 설명을 생략한다.
또한, 본 명세서의 용어 “및/또는”은 관련 대상에서의 연관 관계를 설명하며 3가지 관계가 존재함을 나타낸다. 예를 들어 A 및/또는 B는, A가 단독으로 존재; A와 B가 동시에 존재; B가 단독으로 존재하는 3가지 경우를 나타낼 수 있다. 캐릭터 "/"는 일반적으로 전후 관련 대상이 "또는”의 관계를 가짐을 나타낸다.
도 1은 본 출원의 상기 태스크 마이그레이션 방법의 제1 실시예의 흐름도이다. 도 1에 도시된 바와 같이, 하기의 구체적인 구현 방식을 포함한다.
101에서, 사용자가 제출한 태스크를 획득한다.
102에서, 상기 태스크가 Hadoop 태스크이고, 태스크 전환이 필요하다고 결정되었을 경우, 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환한다.
103에서, 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출한다.
본 실시예에서, 사용자(예를 들면, 업무 연구 개발자)가 제출한 태스크를 획득한 후에, 먼저, 태스크의 타입을 결정할 수 있고, Hadoop 태스크일 경우, 또한, 태스크 전환이 필요한지 여부를 결정할 수 있다. 기존의 처리 방식에 따라, 사용자가 오프라인 태스크 클라이언트(offline task client)를 사용하여 Hadoop 태스크를 제출한 후에, Hadoop 클러스터에 직접에 제출할 수 있지만, 본 실시예에서, 클라이언트는 사용자가 제출한 Hadoop 태스크를 포획하고(intercept), 또한, 태스크 전환이 필요한지 여부를 결정할 수 있다.
바람직한 구현 방식으로, 클라이언트는 서버에 요청하여 사용자가 미리 작성한 구성을 획득하고, 상기 구성에 따라 태스크 전환이 필요한지 여부를 결정할 수 있다. 예를 들면, 서버에 요청하여 Spark 방식으로 실행할지 여부의 플래그 비트를 획득할 수 있고, 당해 태스크가 관리 플랫폼에서 Spark 방식으로 실행하도록 사용자에 의해 선택되었음을 당해 플래그 비트가 표시하였을 경우, 태스크 전환이 필요하다고 결정되고, 그렇지 않을 경우, 태스크 전환이 불필요하다고 결정된다.
따라서, 태스크 전환이 필요하다고 결정되었을 경우, Hadoop 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환할 수 있다. 즉 클라이언트는 포획된 Hadoop 태스크를 해석하고, Hadoop 명령을 Spark 명령으로 전환할 수 있다. 구체적인 전환 방식은 예를 들어 미리 설정된 전환 규칙에 따라 전환하는 것 등과 같이, 미리 설정할 수 있다.
그 후, 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출할 수 있다. 바람직한 구현 방식으로, 상기 툴킷은 mrtools.jar 툴킷일 수 있다. mrtools.jar 툴킷을 Spark app로 하고, Spark 태스크를 Spark 클러스터에 제출할 수 있다.
Spark 클러스터에 제출하는 Spark 태스크는 미리 설정된 처리를 경과한 후에, Hadoop 로직과 등가인 매핑(map) 및 리듀스(reduce) 처리를 구현한다.
구체적으로, Spark 클러스터에 도착하는 툴킷은 Spark 컨텍스트(context)를 초기화하는 것을 담당할 수 있고, 선후로 map 단계의 Hadoop 스트리밍(HadoopStreaming) 연산자, 셔플(shuffle) 단계의 재파티션 및 파티션내에서 소트(repartitionAndSortWithinPartitions) 연산자 및 reduce 단계의 HadoopStreaming 연산자 등을 경과하여, Hadoop 로직과 등가인 map 및 reduce 처리를 구현한다. Spark 모델은 특유한 메모리 모델과 Kryo 직렬화 등의 방식을 사용하여, 중앙 처리장치(CPU, Central Processing Unit)의 계산을 더 빠르고, 더 절약하는 것을 구현할 수 있다.
상기의 설명으로부터 알 수 있는 것은, 본 실시예의 상기 방법에서, 사용자가 제출한 Hadoop 태스크를 Spark 태스크로 직접 전환하여, 사용자가 제로 비용의 태스크 마이그레이션을 구현할 수 있고, 또한, 사용자의 작업량을 줄이고, 처리 효율 등을 향상시킬 수 있고, 또한, 사용자가 자신의 수요에 따라 태스크 전환을 수행할지 여부를 유연하게 구성할 수 있고, 사용자의 다른 시나리오의 수요 등을 만족시킬 수 있고, 또한, 계산력이 더 강하고, 성능이 더 좋은 Spark 모델을 사용하여 map 및 reduce 처리를 완성될 수 있고, 사용자의 오프라인 계산 수요 등을 더 잘 만족할 수 있다.
사용자가 제출한 태스크는 Hadoop 태스크 이외에, Hadoop 태스크로부터 Spark 태스크로 전환하는 Hadoop2Spark 태스크 및 Spark 태스크 등일 수도 있다.
이상의 설명은 모두, 사용자가 제출한 태스크가 Hadoop 태스크이고, 태스크 전환이 필요하다고 결정되었을 경우의 처리 방식이다. 사용자가 제출한 태스크가 Hadoop 태스크이고, 태스크 전환이 불필요하다고 결정되었을 경우, 태스크를 Hadoop 클러스터에 직접 제출할 수 있다. 사용자가 제출한 태스크가 Spark 태스크일 경우, 태스크를 Spark 클러스터에 직접 제출할 수 있다.
사용자가 제출한 태스크가 Hadoop2Spark 태스크일 경우, 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환하고, 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출할 수 있다. Hadoop2Spark 태스크는 Hadoop 태스크로부터 Spark 태스크로 전환을 지시하는 태스크이기에, 서버에 요청하여 사용자가 미리 작성한 구성을 획득하고, 상기 구성에 따라 태스크 전환이 필요한지 여부를 결정하는 처리를 실행할 필요가 없다. 전술한 것 같이, 바람직한 구현 방식으로, 상기 툴킷은 mrtools.jar 툴킷일 수 있다. mrtools.jar 툴킷을 Spark app로 하고, Spark 태스크를 Spark 클러스터에 제출할 수 있다. Spark 클러스터에 제출하는 Spark 태스크는 미리 설정된 처리를 경과한 후에, Hadoop 로직과 등가인 map 및 reduce 처리를 구현할 수 있다.
상기의 설명으로부터 알 수 있는 것은, 본 실시예의 상기 방법은 태스크 전환이 불필요한 Hadoop 태스크 및 Spark 태스크 등과 같은 기존의 다른 태스크의 처리에 영향을 주지 않고, 양호한 호환성 등을 구비한다.
상기의 설명을 종합하면, 도 2는 본 출원의 상기 태스크 마이그레이션 방법의 제2 실시예의 흐름도이다. 도 2에 도시된 바와 같이, 하기의 구체적인 구현 방식을 포함한다.
201에서, 사용자가 제출한 태스크를 획득한다.
사용자가 미리 서버의 관리 플랫폼에 등록 및 태스크 구성 등을 수행할 수 있고, 예를 들면, 관리 플랫폼에 Hadoop 태스크를 Spark 방식으로 실행하도록 선택할 수 있다.
또한, 사용자는 실제의 요청에 따르고, Hadoop 태스크, Hadoop2Spark 및 Spark 태스크를 포함하는 것 등과 같이, 다른 타입의 태스크를 제출할 수 있다.
202에서, 사용자가 제출한 태스크의 타입을 결정하고, Spark 태스크일 경우, 203을 실행하고, Hadoop 태스크일 경우, 204를 실행하고, Hadoop2Spark일 경우, 207을 실행한다.
203에서, 태스크를 Spark 클러스터에 제출하고, 그 후에 프로세스를 종료한다.
사용자가 제출한 Spark 태스크에 대해, 기존의 방식으로 Spark 클러스터에 제출할 수 있다.
204에서, 서버에 요청하여 사용자가 미리 작성한 구성을 획득한다.
205에서, 상기 구성에 따라 태스크 전환이 필요한지 여부를 결정하고, 그렇지 않을 경우, 206을 실행하고, 그럴 경우, 207을 실행한다.
예를 들면, 서버에 요청하여 Spark 방식으로 실행할지 여부의 플래그 비트를 획득할 수 있고, 당해 태스크가 관리 플랫폼에서 Spark 방식으로 실행하도록 사용자에 의해 선택되었음을 당해 플래그 비트가 표시하였을 경우, 태스크 전환이 필요하다고 결정되고, 그렇지 않을 경우, 태스크 전환이 불필요하다고 결정된다.
206에서, 태스크를 Hadoop 클러스터에 제출하고, 그 후에 프로세스를 종료한다.
사용자가 제출한 Hadoop 태스크에 대해, 태스크 전환이 불필요하다고 결정되었을 경우, 기존의 방식으로 Hadoop 클러스터에 제출할 수 있다.
207에서, 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환한다.
208에서, 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출하고, 그 후에 프로세스를 종료한다.
전환 결과를 미리 설정된 툴킷에 주입하고, Spark 태스크를 Spark 클러스터에 제출할 수 있다. 상기 툴킷은 mrtools.jar 툴킷이여도 좋고, mrtools.jar 툴킷을 Spark app으로 사용하고, Spark태스크를 Spark클러스터에 제출할 수 있다.
Spark 클러스터에 제출하는 Spark 태스크는 미리 설정된 처리를 경과한 후에, Hadoop 로직과 등가인 map 및 reduce 처리를 구현한다.
도 3은 본 출원의 상기 제출된 Spark 태스크의 처리 프로세스의 개략도이다. 도 3에 도시된 바와 같이, Spark 클러스터에 도착하는 툴킷은 Spark 컨텍스트를 초기화하는 것을 담당할 수 있고, 선후로 map 단계의 HadoopStreaming 연산자, shuffle 단계의 repartitionAndSortWithinPartitions 연산자 및 reduce 단계의 HadoopStreaming 연산자 등을 경과하여, Hadoop 로직과 등가인 map 및 reduce 처리를 구현하고, 즉 태스크의 출력과 Hadoop 클러스터 중의 태스크의 출력은 같으며, 최종적으로 획득된 결과를 출력한다.
설명해야 하는 바로는, 전술의 각 방법의 실시예에 대해, 간단히 설명하기 위해서, 이들을 모두 일련의 동작 조합으로 표현하지만, 당업자는 본 출원에서 설명된 동작의 순서에 제한되지 않는 것을 이해할 수 있으며, 본 출원에 따라, 일부 단계는 다른 순서 또는 동시에 수행할 수 있다. 그 다음에, 당업자는 명세서에 설명된 실시예가 모두 바람직한 실시예에 속하고, 관련된 동작과 모듈이 본 출원에 필수가 아닌 것을 이해할 수 있다.
상기의 실시예에서, 각 실시예에 대한 설명은 모두 각 중점이 있고, 어떤 실시예에서 상세하게 설명되어 있지 않은 부분은 다른 실시예의 관련 설명을 참조할 수 있다.
즉, 본 출원의 방법의 실시예의 상기 해결책을 사용하면, 사용자가 제출한 Hadoop 태스크를 Spark 태스크로 직접 전환하여, 사용자가 제로 비용의 태스크 마이그레이션을 구현할 수 있고, 또한, 사용자의 작업량을 줄이고, 처리 효율 등을 향상시킬 수 있고, 또한, 사용자가 자신의 수요에 따라 태스크 전환을 수행할지 여부를 유연하게 구성할 수 있고, 사용자의 다른 시나리오의 수요 등을 만족시킬 수 있고, 또한, 계산력이 더 강하고, 성능이 더 좋은 Spark 모델을 사용하여 map 및 reduce 처리를 완성할 수 있고, 사용자의 오프라인 계산 수요 등을 더 잘 만족할 수 있고, 또한, 태스크 전환이 불필요한 Hadoop 태스크 및 Spark 태스크 등과 같은 기존의 다른 태스크의 처리에 영향을 주지 않고, 양호한 호환성 등을 구비한다.
이상은 방법의 실시예에 관한 설명이며, 이하는, 장치의 실시예를 통해, 본 출원의 상기 해결책에 대하여 더 설명한다.
도 4는 본 출원의 상기 태스크 마이그레이션 장치(400)의 실시예의 구성의 구조 개략도이다. 도 4에 도시된 바와 같이, 태스크 획득 유닛(401) 및 태스크 처리 유닛(402)을 포함한다.
태스크 획득 유닛(401)은 사용자가 제출한 태스크를 획득하는데 사용한다.
태스크 처리 유닛(402)은 획득된 태스크가 Hadoop 태스크이고, 태스크 전환이 필요하다고 결정되었을 경우, 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환하고, 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출하는데 사용한다.
바람직한 구현 방식으로, 태스크 처리 유닛(402)은 서버에 요청하여 사용자가 미리 작성한 구성을 획득하고, 상기 구성에 따라 태스크 전환이 필요한지 여부를 결정할 수 있다. 예를 들면, 서버에 요청하여 Spark 방식으로 실행할지 여부의 플래그 비트를 획득할 수 있고, 당해 태스크가 관리 플랫폼에서 Spark 방식으로 실행하도록 사용자에 의해 선택되었음을 당해 플래그 비트가 표시하였을 경우, 태스크 전환이 필요하다고 결정되고, 그렇지 않을 경우, 태스크 전환이 불필요하다고 결정된다.
따라서, 태스크 전환이 필요하다고 결정되었을 경우, 태스크 처리 유닛(402)은 Hadoop 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환할 수 있다.
그 후, 태스크 처리 유닛(402)은 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출할 수 있다. 바람직한 구현 방식으로, 상기 툴킷은 mrtools.jar 툴킷일 수 있다. mrtools.jar 툴킷을 Spark app으로 사용하고, Spark 태스크를 Spark 클러스터에 제출할 수 있다. Spark 클러스터에 제출하는 Spark 태스크는 미리 설정된 처리를 경과한 후에, Hadoop 로직과 등가인 map 및 reduce 처리를 구현한다.
구체적으로, Spark 클러스터에 도착하는 툴킷은 Spark 컨텍스트를 초기화하는 것을 담당할 수 있고, 선후로 map 단계의 HadoopStreaming 연산자, shuffle 단계의 repartitionAndSortWithinPartitions 연산자 및 reduce 단계의 HadoopStreaming 연산자 등을 경과하여, Hadoop 로직과 등가인 map 및 reduce 처리를 구현한다.
사용자가 제출한 태스크는 Hadoop 태스크 이외에, Hadoop 태스크로부터 Spark 태스크로 전환하는 Hadoop2Spark 태스크 및 Spark 태스크 등일 수도 있다.
사용자가 제출한 태스크가 Hadoop2Spark 태스크일 경우, 태스크 처리 유닛(402)은 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환하고, 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출할 수 있다.
사용자가 제출한 태스크가 Hadoop 태스크이고, 태스크 전환이 불필요하다고 결정되었을 경우, 태스크 처리 유닛(402)은 태스크를 Hadoop 클러스터에 제출할 수 있다. 사용자가 제출한 태스크가 Spark 태스크일 경우, 태스크 처리 유닛(402)은 태스크를 Spark 클러스터에 제출할 수 있다.
도 4에 도시된 장치의 실시예의 구체적인 작업 프로세스는 전술한 방법의 실시예의 관련 설명을 참조하고, 여기서는 설명을 생략한다.
즉, 본 출원 장치의 실시예의 상기 해결책을 사용하여, 사용자가 제출한 Hadoop 태스크를 Spark 태스크로 직접 전환하여, 사용자가 제로 비용의 태스크 마이그레이션을 구현할 수 있고, 또한, 사용자의 작업량을 줄이고, 처리 효율 등을 향상시킬 수 있고, 또한, 사용자가 자신의 수요에 따라 태스크 전환을 수행할지 여부를 유연하게 구성할 수 있고, 사용자의 다른 시나리오의 수요 등을 만족시킬 수 있고, 또한, 계산력이 더 강하고, 성능이 더 좋은 Spark 모델을 사용하여 map 및 reduce 처리를 완성할 수 있고, 사용자의 오프라인 계산 수요 등을 더 잘 만족할 수 있고, 또한, 태스크 전환이 불필요한 Hadoop 태스크 및 Spark 태스크 등과 같은 기존의 다른 태스크의 처리에 영향을 주지 않고, 양호한 호환성 등을 구비한다.
본 출원의 실시예에 의하면, 본 출원은 전자 기기 및 판독 가능 기록 매체를 더 제공한다.
도 5에 도시된 바와 같이, 본 출원의 실시예에 따른 상기 방법의 전자 기기의 블록도이다. 전자 기기는 랩톱 컴퓨터, 데스크톱 컴퓨터, 운영 플랫폼, 개인 정보 단말기, 서버, 블레이드 서버, 대형 컴퓨터, 및 다른 적합한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 의미한다. 전자 기기는 개인 디지털 처리, 셀룰러폰, 스마트폰, 웨어러블 기기 및 다른 유사한 컴퓨팅 장치와 같은 다양한 형태의 이동 장치를 의미할 수도 있다. 본문에서 나타낸 부재, 이들의 연결과 관계, 및 이들의 기능은 단지 예시적인 것으로, 본문에서 설명 및/또는 요구된 본 발명의 구현을 한정하지 않는다.
도 5에 도시된 바와 같이, 상기 전자 기기는, 하나 또는 복수의 프로세서(Y01), 메모리(Y02), 및 고속 인터페이스 및 저속 인터페이스를 포함하는 각 부재를 연결하기 위한 인터페이스를 포함한다. 각 부재는 상이한 버스를 이용하여 서로 연결되고, 공통 메인보드에 장착될 수 있거나 필요에 따라 다른 방식으로 장착될 수 있다. 프로세서는, 메모리에 저장되거나 메모리에서 외부 입력/출력 장치(예를 들어, 인터페이스에 커플링된 표시 기기)에 GUI의 그래픽 정보를 표시하는 명령을 포함하는 전자 기기 내에서 실행되는 명령을 처리할 수 있다. 다른 실시형태에서, 필요에 따라 다수의 프로세서 및/또는 다수의 버스를 다수의 메모리와 함께 사용할 수 있다. 마찬가지로, 다수의 전자 기기를 연결할 수 있고, 각 기기는 일부 필요한 동작(예를 들어, 서버 어레이, 한 그룹의 블레이드 서버, 또는 다중프로세서 시스템)을 제공한다. 도 5에서는 하나의 프로세서(Y01)를 예로 한다.
메모리(Y02)는 본 출원에서 제공된 비일시적 컴퓨터 판독 가능 기록 매체이다. 여기서, 상기 메모리에는 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되어, 상기 적어도 하나의 프로세서가 본 출원에서 제공된 상기 방법을 수행하도록 한다. 본 출원의 비일시적 컴퓨터 판독 가능 기록 매체는 컴퓨터 명령을 저장하며, 상기 컴퓨터 명령은 컴퓨터가 본 출원에서 제공된 상기 방법을 수행하도록 한다.
메모리(Y02)는 비일시적 컴퓨터 판독 가능 기록 매체로서, 본 출원의 실시예에서의 상기 방법에 대응되는 프로그램 명령/모듈과 같은 비일시적 소프트웨어 프로그램, 비일시적 컴퓨터 실행 가능 프로그램 및 모듈을 저장하는데 사용될 수 있다. 프로세서(Y01)는 메모리(Y02)에 저장되어 있는 비일시적 소프트웨어 프로그램, 명령 및 모듈을 실행함으로써, 서버의 다양한 기능 애플리케이션 및 데이터 처리를 수행하며, 즉 상기 방법의 실시예에서의 상기 방법을 구현한다.
메모리(Y02)는 프로그램 저장 영역 및 데이터 저장 영역을 포함할 수 있는 바, 여기서 프로그램 저장 영역은 운영 체제, 적어도 하나의 기능에 필요한 애플리케이션 프로그램을 저장할 수 있고; 데이터 저장 영역은 상기 방법에 따른 전자 기기의 사용에 따라 구축된 데이터 등을 저장할 수 있다. 이밖에, 메모리(Y02)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 적어도 하나의 자기 디스크 저장 소자, 플래시 소자, 또는 다른 비일시적 솔리드 스테이트 저장 소자와 같은 비일시적 메모리를 더 포함할 수 있다. 일부 실시예에서, 메모리(Y02)는 프로세서(Y01)에 대해 원격으로 설치되는 메모리를 선택적으로 포함할 수 있고, 이러한 원격 메모리는 네트워크를 통해 상기 방법을 구현하는 전자 기기에 연결될 수 있다. 상기 네트워크의 구현예는 인터넷, 기업 인트라넷, 근거리 통신망, 이동 통신망, 및 이들의 조합을 포함하지만 이에 한정되지 않는다.
전자 기기는, 입력 장치(Y03) 및 출력 장치(Y04)를 더 포함할 수 있다. 프로세서(Y01), 메모리(Y02), 입력 장치(Y03) 및 출력 장치(Y04)는 버스 또는 다른 방식을 통해 연결될 수 있고, 도 4에서는 버스를 통한 연결을 예로 한다.
입력 장치(Y03)는 입력된 숫자 또는 캐릭터 정보를 수신할 수 있고, 상기 방법을 구현하는 전자 기기의 사용자 설정 및 기능 제어와 관련된 키 신호 입력을 생성할 수 있으며, 예를 들어 터치 스크린, 키패드, 마우스, 트랙 패드, 터치 패드, 포인팅 스틱, 하나 또는 다수의 마우스 버튼, 트랙볼, 조이스틱 등 입력 장치일 수 있다. 출력 장치(Y04)는 디스플레이 기기, 보조 조명 장치 및 촉각 피드백 장치(예를 들어, 진동 모터) 등을 포함할 수 있다. 상기 디스플레이 기기는 액정 디스플레이 장치, 발광 다이오드 디스플레이 장치 및 플라즈마 디스플레이 장치를 포함할 수 있으나 이에 한정되지 않는다. 일부 실시형태에서, 디스플레이 기기는 터치 스크린일 수 있다.
여기서 설명된 시스템 및 기술의 다양한 실시형태는 디지털 전자 회로 시스템, 집적 회로 시스템, 전용 집적 회로, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합에서 구현될 수 있다. 이러한 다양한 실시형태는 하나 또는 다수의 컴퓨터 프로그램에서의 구현을 포함할 수 있고, 상기 하나 또는 다수의 컴퓨터 프로그램은 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템에서 실행 및/또는 해석될 수 있으며, 상기 프로그램 가능 프로세서는 전용 또는 범용 프로그램 가능 프로세서일 수 있고, 저장 시스템, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치로부터 데이터 및 명령을 수신할 수 있으며, 데이터 및 명령을 상기 저장 시스템, 상기 적어도 하나의 입력 장치, 및 상기 적어도 하나의 출력 장치에 전송할 수 있다.
이러한 컴퓨팅 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 또는 코드라고도 함)은 프로그램 가능 프로세서의 기계 명령을 포함하고, 하이레벨 프로세스 및/또는 객체에 대한 프로그래밍 언어, 및/또는 어셈블리/기계 언어를 이용하여 이러한 컴퓨팅 프로그램을 실행할 수 있다. 본문에서 사용된 바와 같이, 용어 "기계 판독 가능한 매체” 및 "컴퓨터 판독 가능한 매체”는 기계 명령 및/또는 데이터를 프로그램 가능 프로세서에 제공하기 위한 임의의 컴퓨터 프로그램 제품, 기기, 및/또는 장치(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그램 가능 로직 장치)를 의미하고, 기계 판독 가능한 신호인 기계 명령을 수신하는 기계 판독 가능한 매체를 포함한다. 용어 "기계 판독 가능한 신호”는 기계 명령 및/또는 데이터를 프로그램 가능 프로세서에 제공하기 위한 임의의 신호를 의미한다.
사용자와의 인터랙션을 제공하기 위하여, 컴퓨터에서 여기서 설명된 시스템 및 기술을 실시할 수 있고, 상기 컴퓨터는 사용자에게 정보를 표시하기 위한 표시 장치(예를 들어, 음극선관 또는 액정 표시 장치 모니터); 및 키보드 및 지향 장치(예를 들어, 마우스 또는 트랙 볼)를 구비하며, 사용자는 상기 키보드 및 상기 지향 장치를 통해 컴퓨터에 입력을 제공한다. 다른 타입의 장치는 또한 사용자와의 인터랙션을 제공할 수 있는데, 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 감지 피드백(예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백)일 수 있고; 임의의 형태(소리 입력, 음성 입력, 또는 촉각 입력)로 사용자로부터의 입력을 수신할 수 있다.
여기서 설명된 시스템 및 기술은 백엔드 부재를 포함하는 컴퓨팅 시스템(예를 들어, 데이터 서버로 사용됨), 또는 미들웨어 부재를 포함하는 컴퓨팅 시스템(예를 들어, 애플리케이션 서버), 또는 프론트 엔드 부재를 포함하는 컴퓨팅 시스템(예를 들어, 그래픽 사용자 인터페이스 또는 네트워크 브라우저를 구비하는 사용자 컴퓨터인 바, 사용자는 상기 그래픽 사용자 인터페이스 또는 상기 네트워크 브라우저를 통해 여기서 설명된 시스템 및 기술의 실시형태와 인터랙션할 수 있음), 또는 이러한 백엔드 부재, 미들웨어 부재, 또는 프론트 엔드 부재의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들어, 통신 네트워크)을 통해 시스템의 부재를 서로 연결시킬 수 있다. 통신 네트워크의 예는, 근거리 통신망(LAN), 광역망(WAN), 블록체인 네트워크, 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 멀리 떨어져 있고 일반적으로 통신 네트워크를 통해 서로 인터랙션한다. 대응되는 컴퓨터에서 실행되고 또한 서로 클라이언트-서버 관계를 가지는 컴퓨터 프로그램을 통해 클라이언트 및 서버의 관계를 생성한다.
위에서 설명된 다양한 형태의 프로세스를 사용하여 단계를 재배열, 추가 또는 삭제할 수 있음을 이해해야 한다. 예를 들어, 본 출원에 기재된 각 단계는 동시에, 순차적으로, 또는 상이한 순서로 수행될 수 있으며, 본 출원에 개시된 기술적 해결수단이 이루고자 하는 결과를 구현할 수 있는 한, 본문은 여기서 한정되지 않는다.
상기 구체적인 실시형태는 본 출원의 보호 범위를 한정하지 않는다. 본 기술분야의 통상의 기술자는, 설계 요구 및 다른 요소에 따라 다양한 수정, 조합, 서브 조합 및 대체를 진행할 수 있음을 이해해야 한다. 본 출원의 정신 및 원칙 내에서 이루어진 임의의 수정, 등가 교체 및 개선 등은 모두 본 출원의 보호 범위 내에 포함되어야 한다.

Claims (12)

  1. 태스크 마이그레이션 방법(task migration method)에 있어서,
    사용자가 제출한 태스크를 획득하는 단계;
    상기 태스크가 Hadoop 태스크이고, 태스크 전환이 필요하다고 결정되었을 경우, 상기 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환하는 단계; 및
    전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출하는 단계;를 포함하는,
    태스크 마이그레이션 방법.
  2. 제1항에 있어서,
    상기 태스크 전환이 필요하다고 결정되는 단계는,
    서버에 요청하여 상기 사용자가 미리 작성한 구성을 획득하는 단계; 및
    상기 구성에 따라 태스크 전환이 필요한지 여부를 결정하는 단계;를 포함하는,
    태스크 마이그레이션 방법.
  3. 제1항에 있어서,
    상기 방법은
    상기 태스크가 Hadoop 태스크로부터 Spark 태스크로의 전환을 지시하는 Hadoop2Spark 태스크일 경우, 상기 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환하는 단계; 및
    전환 결과를 미리 설정된 툴킷에 주입하고, 상기 Spark 클러스터에 제출하는 단계;를 더 포함하는,
    태스크 마이그레이션 방법.
  4. 제1항에 있어서,
    상기 방법은
    상기 태스크가 Hadoop 태스크이고, 태스크 전환이 불필요하다고 결정되었을 경우, 상기 태스크를 Hadoop 클러스터에 제출하는 단계; 및
    상기 태스크가 Spark 태스크일 경우, 상기 태스크를 상기 Spark 클러스터에 제출하는 단계;를 더 포함하는,
    태스크 마이그레이션 방법.
  5. 제1항에 있어서,
    상기 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출하는 단계는,
    전환 결과를 미리 설정된 툴킷에 주입하고, Spark 태스크를 Spark 클러스터에 제출하는 단계를 포함하고,
    상기 Spark 태스크는 미리 설정된 처리를 경과한 후에, Hadoop 로직과 등가인 매핑(map) 및 리듀스(reduce) 처리를 구현하는,
    태스크 마이그레이션 방법.
  6. 태스크 마이그레이션 장치(task migration apparatus)에 있어서,
    태스크 획득 유닛 및 태스크 처리 유닛을 포함하고,
    상기 태스크 획득 유닛은 사용자가 제출한 태스크를 획득하는데 사용하고,
    상기 태스크 처리 유닛은 상기 태스크가 Hadoop 태스크이고, 태스크 전환이 필요하다고 결정되었을 경우, 상기 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환하고, 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 클러스터에 제출하는데 사용하는,
    태스크 마이그레이션 장치.
  7. 제6항에 있어서,
    상기 태스크 처리 유닛은 서버에 요청하여 상기 사용자가 미리 작성한 구성을 획득하고, 상기 구성에 따라 태스크 전환이 필요한지 여부를 결정하는데 사용하는,
    태스크 마이그레이션 장치.
  8. 제6항에 있어서,
    상기 태스크 처리 유닛은 또한, 상기 태스크가 Hadoop 태스크로부터 Spark 태스크로의 전환을 지시하는 Hadoop2Spark 태스크일 경우, 상기 태스크 중의 Hadoop 파라미터를 Spark에서 식별 가능한 파라미터로 전환하고, 전환 결과를 미리 설정된 툴킷에 주입하고, 상기 Spark 클러스터에 제출하는데 사용하는,
    태스크 마이그레이션 장치.
  9. 제6항에 있어서,
    상기 태스크 처리 유닛은 또한, 상기 태스크가 Hadoop 태스크이고, 태스크 전환이 불필요하다고 결정되었을 경우, 상기 태스크를 Hadoop 클러스터에 제출하고,
    상기 태스크가 Spark 태스크일 경우, 상기 태스크를 상기 Spark 클러스터에 제출하는데 사용하는,
    태스크 마이그레이션 장치.
  10. 제6항에 있어서,
    상기 태스크 처리 유닛은 또한, 전환 결과를 미리 설정된 툴킷에 주입하고, Spark 태스크를 Spark 클러스터에 제출하고, 상기 Spark 태스크는 미리 설정된 처리를 경과한 후에, Hadoop 로직과 등가인 매핑(map) 및 리듀스(reduce) 처리를 구현하는데 사용하는,
    태스크 마이그레이션 장치.
  11. 전자 기기에 있어서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 통신 연결되는 메모리;를 포함하고,
    상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되고 있고, 상기 명령이 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서에 의해 제1항 내지 제5항 중 어느 한 항의 방법이 수행되도록 하는,
    전자 기기.
  12. 컴퓨터 명령이 저장되어 있는 비일시적 컴퓨터 판독 가능 기록 매체에 있어서,
    상기 컴퓨터 명령은 상기 컴퓨터가 제1항 내지 제5항 중 어느 한 항의 방법을 수행하도록 하는,
    컴퓨터 명령이 저장되어 있는 비일시적 컴퓨터 판독 가능 기록 매체.
KR1020217034745A 2020-03-05 2020-09-02 태스크 마이그레이션 방법, 장치, 전자 기기 및 기록 매체 KR20210141703A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010147172.7A CN111506399B (zh) 2020-03-05 2020-03-05 任务迁移方法、装置、电子设备及存储介质
CN202010147172.7 2020-03-05
PCT/CN2020/113091 WO2021174791A1 (zh) 2020-03-05 2020-09-02 任务迁移方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
KR20210141703A true KR20210141703A (ko) 2021-11-23

Family

ID=71877640

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217034745A KR20210141703A (ko) 2020-03-05 2020-09-02 태스크 마이그레이션 방법, 장치, 전자 기기 및 기록 매체

Country Status (6)

Country Link
US (1) US11822957B2 (ko)
EP (1) EP3905040A4 (ko)
JP (1) JP2022532739A (ko)
KR (1) KR20210141703A (ko)
CN (1) CN111506399B (ko)
WO (1) WO2021174791A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506399B (zh) * 2020-03-05 2024-03-22 百度在线网络技术(北京)有限公司 任务迁移方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9910888B2 (en) 2014-10-01 2018-03-06 Red Hat, Inc. Map-reduce job virtualization
US11221890B2 (en) * 2016-06-22 2022-01-11 Verizon Media Inc. Systems and methods for dynamic partitioning in distributed environments
CN106294745A (zh) 2016-08-10 2017-01-04 东方网力科技股份有限公司 大数据清洗方法及装置
US10261767B2 (en) * 2016-09-15 2019-04-16 Talend, Inc. Data integration job conversion
CN106648674A (zh) * 2016-12-28 2017-05-10 北京奇艺世纪科技有限公司 一种大数据计算管理方法及系统
CN106991166A (zh) * 2017-03-31 2017-07-28 北京奇艺世纪科技有限公司 一种大数据处理方法及装置
CN107526546B (zh) * 2017-08-25 2020-09-11 深圳大学 一种Spark分布式计算数据处理方法及系统
US11244244B1 (en) * 2018-10-29 2022-02-08 Groupon, Inc. Machine learning systems architectures for ranking
US11449461B2 (en) * 2019-12-17 2022-09-20 Visa International Service Association Metadata-driven distributed dynamic reader and writer
CN111506399B (zh) 2020-03-05 2024-03-22 百度在线网络技术(北京)有限公司 任务迁移方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
EP3905040A1 (en) 2021-11-03
US20220398127A1 (en) 2022-12-15
US11822957B2 (en) 2023-11-21
EP3905040A4 (en) 2022-03-09
WO2021174791A1 (zh) 2021-09-10
JP2022532739A (ja) 2022-07-19
CN111506399A (zh) 2020-08-07
CN111506399B (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
US11445008B2 (en) Data processing methods, electronic devices, and storage media
CN110806923B (zh) 一种区块链任务的并行处理方法、装置、电子设备和介质
JP2021106018A (ja) データ処理方法、装置、機器及び記憶媒体
WO2022000802A1 (zh) 深度学习模型的适配方法、装置及电子设备
CN111159592B (zh) 搜索结果页生成方法、装置、电子设备及存储介质
KR102546578B1 (ko) 미니 프로그램 데이터 획득 방법, 장치, 기기 및 저장 매체
KR102563165B1 (ko) 메모리 액세스 요청 스케줄링 방법, 장치, 기기 및 저장 매체
JP2021121959A (ja) 深層学習推論エンジンのスケジューリング方法、装置、機器及び媒体
EP4170650A1 (en) Speech control method for mini-program, and devices and storage medium
CN110852449B (zh) 模型迁移方法和电子设备
CN112235417B (zh) 调试指令的发送方法、装置
CN111783952A (zh) 配置方法、装置、系统、电子设备以及存储介质
JP7170094B2 (ja) オペレーター併合方法、装置、電子デバイス、記憶媒体及びコンピュータプログラム
KR20210110779A (ko) 미니프로그램 능력을 제공하는 방법, 장치, 전자 기기 및 저장 매체
JP2021197157A (ja) キーポイントの特定方法及び装置、機器、記憶媒体
CN111930539A (zh) 基于标签引擎的任务管理方法、装置、设备及存储介质
KR20220009338A (ko) 모델링 매개 변수의 설정 방법, 장치, 전자 기기 및 기록 매체
KR20210141703A (ko) 태스크 마이그레이션 방법, 장치, 전자 기기 및 기록 매체
CN111061743A (zh) 数据加工方法、装置和电子设备
KR102583532B1 (ko) 스케줄링 방법, 장치, 기기, 기록 매체 및 컴퓨터 프로그램
JP2021168125A (ja) スマート応答方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
CN111966877B (zh) 前端服务方法、装置、设备及存储介质
CN111767442A (zh) 数据更新方法、装置、搜索服务器、终端及存储介质
CN111782633B (zh) 数据处理方法、装置及电子设备
CN112270412B (zh) 网络算子处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application