KR20210134527A - 데이터 처리 방법, 장치, 기기, 저장 매체 및 컴퓨터 프로그램 - Google Patents

데이터 처리 방법, 장치, 기기, 저장 매체 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20210134527A
KR20210134527A KR1020210142150A KR20210142150A KR20210134527A KR 20210134527 A KR20210134527 A KR 20210134527A KR 1020210142150 A KR1020210142150 A KR 1020210142150A KR 20210142150 A KR20210142150 A KR 20210142150A KR 20210134527 A KR20210134527 A KR 20210134527A
Authority
KR
South Korea
Prior art keywords
directory
dependent package
sub
encryption value
data processing
Prior art date
Application number
KR1020210142150A
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 KR20210134527A publication Critical patent/KR20210134527A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Power Engineering (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 데이터 처리 방법, 장치, 기기 및 저장 매체 및 컴퓨터 프로그램을 계시하며, 딥 러닝, 빅 데이터 등 인공지능 분야에 관한 것이다. 구체적으로 다음 기술적 해결수단에 의해 구현된다. 현재 테스트 작업의 제출 정보에서 모델 구축에 필요한 디펜던트 패키지(dependent package)가 속한 제1 서브 디렉토리(subdirectory)를 추출하고; 상기 제1 서브 디렉토리와 과거 테스트 작업의 제출 정보 중의 제2 서브 디렉토리가 동일한 경우, 로컬 저장 모듈에서 상기 디펜던트 패키지를 획득한다. 본 발명의 실시예는 디펜던트 패키지의 획득 효율을 높여 디펜던트 패키지에 의한 모델 구축 과정의 실행 효율을 향상시킬 수 있다.

Description

데이터 처리 방법, 장치, 기기, 저장 매체 및 컴퓨터 프로그램{DATA PROCESSING METHOD AND APPARATUS, DEVICE, AND STORAGE MEDIUM AND COMPUTER PROGRAM}
본 발명은 컴퓨터 기술분야에 관한 것으로, 특히 딥 러닝, 빅 데이터 등 인공지능 기술분야에 관한 것이다.
컴퓨터 기술이 발전함에 따라, 컴퓨터 기술의 지능화 정도도 날이 갈수록 높아지고 있다. 일반적으로 지능화를 구현하는 컴퓨터 기술에 있어서 컴퓨터 모델은 필수 수단 중의 하나가 되었다. 컴퓨터 모의 모델은, 정보를 대량으로 고속 처리하는 컴퓨터의 능력을 이용하여 컴퓨터 내에 일정한 환경을 마련하고 프로그램으로 객관적 시스템 중의 일부 법칙 또는 규칙을 구현하여 고속 운행함으로써 객관적 시스템의 상황을 관찰 및 예측하는 강력한 개념 모드를 의미한다.
컴퓨터 모델은 딥 러닝 모델, 머신 러닝 모델 등을 포함할 수 있다. 이러한 모델들은 사용하기 전에 구축해야 한다. 컴퓨터 모델 기술도 역시 급속으로 발전하는 과정에 있으므로 다른 컴퓨터 모델 구축 과정도 일반적으로 일부 동일한 디펜던트 패키지(dependent package)를 사용할 수 있는데, 디펜던트 패키지는 컴퓨터 모델 구축에 필요한 일부 데이터를 포함하고 있다. 컴퓨터 모델의 구축 기술에 대한 개선은 모델 자체의 최적화와 관련이 있으며 모델의 구축 속도도 개선 및 최적화하는 방향이라고 볼 수 있다.
본 발명은 데이터 처리 방법, 장치, 기기, 저장 매체 및 컴퓨터 프로그램을 제공한다.
본 발명의 일 측면에 따르면, 데이터 처리 방법을 제공한다. 상기 방법은,
현재 테스트 작업에 기초하여 모델 구축에 필요한 디펜던트 패키지(dependent package)가 속한 제1 서브 디렉토리(subdirectory)를 추출하는 단계;
제1 서브 디렉토리와 과거 테스트 작업에 대응하는 제2 서브 디렉토리를 비교하는 단계;
제1 서브 디렉토리와 제2 서브 디렉토리가 동일한 제1 결과비교에 기초하여 로컬 저장 모듈에서 디펜던트 패키지를 획득하는 단계를 포함한다.
본 발명의 다른 일 측면에 따르면, 데이터 처리 장치를 제공한다. 상기 장치는,
현재 테스트 작업에 기초하여 모델 구축에 필요한 디펜던트 패키지가 속한 제1 서브 디렉토리를 추출하는 제1 서브 디렉토리 추출 모듈;
제1 서브 디렉토리와 과거 테스트 작업에 대응하는 제2 서브 디렉토리를 비교하는 비교 모듈;
제1 서브 디렉토리와 제2 서브 디렉토리가 동일한 제1 비교결과에 기초하여 로컬 저장 모듈에서 디펜던트 패키지를 획득하는 제1획득 모듈을 포함한다.
본 발명의 또 다른 일 측면에 따르면, 전자 기기를 제공한다. 상기 전자 기기는,
적어도 하나 이상의 프로세서; 및
적어도 하나 이상의 프로세서에 통신 연결되는 메모리; 를 포함하며,
메모리에는 적어도 하나 이상의 프로세서에 의해 실행 가능한 명령이 저장되고, 명령은 적어도 하나 이상의 프로세서에 의해 실행되어 적어도 하나 이상의 프로세서가 본 발명의 어느 일 실시예에서 제공하는 방법을 수행하도록 한다.
본 발명의 또 다른 일 측면에 따르면, 컴퓨터 명령이 저장된 비일시적 컴퓨터 판독 가능 저장 매체를 제공한다. 컴퓨터 명령은 컴퓨터가 본 발명의 임의의 일 실시예에서 제공하는 방법을 수행하도록 한다.
본 발명의 또 다른 일 측면에 따르면, 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램을 제공하며, 해당 컴퓨터 프로그램 중의 명령이 프로세서에 의해 실행될 경우, 본 출원의 임의의 하나의 실시예 중의 방법을 실현한다.
본 발명의 기술에 따르면, 더욱 빠른 속도로 모델 구축에 필요한 디펜던트 패키지를 획득할 수 있으므로 본 발명의 실시예에 따라 디펜던트 패키지를 획득하여 모델을 구축하는 과정의 효율을 향상시킬 수 있다.
본 부분에 기재된 내용은 본 발명의 실시예의 핵심 또는 중요한 특징을 표시하거나 본 발명의 범위를 한정하기 위한 것이 아님을 이해해야 한다. 본 발명의 기타 특징은 아래 명세서의 내용에 의해 쉽게 이해될 것이다.
첨부된 도면은 본 발명의 기술적 수단을 더욱 잘 이해하도록 사용되며, 본 출원을 한정하기 위해 사용되지 않는다.
도 1은 본 출원의 일 실시예에 따른 데이터 처리 방법의 개략도이다.
도 2는 본 출원의 다른 일 실시예에 따른 데이터 처리 방법의 개략도이다.
도 3은 본 출원의 일 예시에 따른 데이터 처리 방법의 개략도이다.
도 4는 본 출원의 다른 일 예시에 따른 데이터 처리 방법의 개략도이다.
도 5는 본 출원의 일 실시예에 따른 데이터 처리 장치의 개략도이다.
도 6은 본 출원의 다른 일 실시예에 따른 데이터 처리 장치의 개략도이다.
도 7은 본 발명의 또 다른 일 실시예에 따른 데이터 처리 장치의 개략도이다.
도 8은 본 발명의 또 다른 일 실시예에 따른 데이터 처리 장치의 개략도이다.
도 9는 본 발명의 또 다른 일 실시예에 따른 데이터 처리 장치의 개략도이다.
도 10 은 본 발명의 또 다른 일 실시예에 따른 데이터 처리 장치의 개략도이다.
도 11은 본 발명의 실시예를 구현하는 예시적 전자 기기를 개략적으로 나타낸 블록도이다.
이하, 첨부 도면을 결합하여 본 출원의 예시적 실시예를 설명하며, 이해를 돕기 위해 본 출원 실시예의 다양한 세부내용이 포함되며, 이들은 예시적인 것으로 봐야 한다. 따라서, 본 기술분야의 일반 기술자는 여기에 기재된 실시예에 의해 본 출원의 범위 및 기술사상을 벗어나지 않고 다양한 수정과 변경이 가능함을 알 수 있다. 또한, 명세서가 명백하고 간결하게 하기 위하여 이하 설명 중 공지 기능 및 구조의 설명은 생략된다.
본 발명의 실시예는 먼저 데이터 처리 방법을 제공한다. 도 1에 도시된 바와 같이, 상기 방법은 다음 단계를 포함할 수 있다.
단계 S11: 현재 테스트 작업의 제출 정보에서 모델 구축에 필요한 디펜던트 패키지(dependent package)가 속한 제1 서브 디렉토리(subdirectory)를 추출하다.
단계 S12: 제1 서브 디렉토리와 과거 테스트 작업의 제출 정보 중의 제2 서브 디렉토리가 동일한 경우, 로컬 저장 모듈에서 상기 디펜던트 패키지를 획득하다.
본 발명의 실시예에서, 테스트 작업은 지속적 통합 작업(continuous integration task)일 수 있으며, 작업을 제출한 단말의 로컬에서 수행하는 작업일 수 있고, 일정한 작업 처리 플랫폼에서 처리하는 작업일 수도 있다. 지속적 통합은 일종의 소프트웨어 개발 실천일 수 있는 바, 즉 팀 개발 멤버들이 그들의 작업을 자주 통합하며, 일반적으로 각각의 맴버는 매일마다 적어도 한번 통합하는데, 달리 말하면 매일마다 여러 차례의 통합이 발행할 수 있다는 것이다. 매번의 통합은 모두 자동화 구축(예를 들어, 컴파일, 발표, 자동화 테스트 등을 포함할 수 있다)를 통해 검증하므로 통합 오류를 가능한 빨리 발견한다.
현재 테스트 작업의 제출 정보는 구체적으로 현재 테스트 작업에 대해 제출한 코드일 수 있다.
구체적으로, 테스트 작업은 코드 중의 디펜던트 패키지에 대응하는 디렉토리가 과거 테스트 작업에 사용된 디펜던트 패키지에 대응하는 디렉토리인지 여부를 결정하도록 구체적인 코드를 테스트하는데 사용될 수 있다.
실시예에서, 테스트 작업은 한 세트의 코드에 대응할 수 있으며, 테스트 담당자가 테스트 작업을 시작하는 것에 의해 제출한다. 테스트 작업에 대응되는 코드는 모델을 구축하는데 사용될 수 있다.
본 실시예에서, 테스트 작업은 한 세트의 코드에 대응할 수 있으며, 테스트원이 테스트 작업을 시작하여 제출을 진행한다. 테스트 작업에 대응하는 코드는 모델 구축에 사용될 수 있다.
본 실시예에서, 사용자는 테스트할 코드를 제출한 후, 실행 버턴을 클릭하는 방식을 통해 테스트 작업 구축 명령을 보내어 테스트 작업을 시작할 수 있다. 테스트 작업의 시작 동작 또는 시작 이벤트에 기초하여 사용자가 제출한 테스트할 코드 중에서 모델 구축에 필요한 디펜던트 패키지의 서브 디렉토리를 추출하고, 그 중의 하나 또는 다수를 제1 서브 디렉토리로 사용한다.
예를 들어, 현재 테스트 작업에 기초하여 모델 구축에 필요한 디펜던트 패키지가 속한 제1 서브 디렉토리를 추출하는 단계는, 구체적으로 테스트 작업의 시작 동작에 의해 코드를 획득하고, 코드에서 제1 서브 디렉토리 정보를 추출하는 것을 포함할 수 있다. 여기서, 제1 서브 디렉토리 정보는 제1 서브 디렉토리를 표시한다.
본 실시예에서, 제1 서브 디렉토리를 추출하는 동작은, 구체적으로 제1 서브 디렉토리를 표시하는 유니크한 정보를 추출하는 것일 수 있다. 여기서, 상기 유니크한 정보는 제1 서브 디렉토리 그 자체와 동일하지 않을 수 있다.
디펜던트 패키지는 구체적으로 모델 구축에 통상적으로 반복 사용가능한 일부 툴, 코드, 데이터 등을 포함할 수 있다. 예를 들어, 딥 러닝 프레임, 모델 전환 툴, 모델 가시화 툴이 있다. 본 실시예 중의 모델은 머신 러닝 모델 또는 딥 러닝 모델일 수 있다. 따라서, 디펜던트 패키지는 구체적으로 딥 러닝 모델의 구축에 필요한 일부 툴, 코드, 데이터 등을 포함할 수 있으며, 머신 러닝 모델의 구축에 필요한 일부 툴, 코드, 데이터 등을 포함할 수도 있다.
모델은 구체적으로 딥 러닝 모델, 머신 러닝 모델 등이 일 수 있다. 그 중, 딥 러닝 모델은 구체적으로 VGG(Visual Geometry Group, 비주얼 기하학적 그룹), GoogleNet, ResNet(Residual Net, 잔차 망 모델), R-CNN(Region Convolution Neural Net, 영역 컨볼루션 신경망 모델), Faster-RCNN(고속 컨볼루션 신경망 모델), YOLO((You Only Look Once, YOLO 모델) 등과 같은 컨볼루션 신경망 모델일 수 있다.
제1 서브 디렉토리는 어느 하나의 토탈 디렉토리에 속한 복수의 서브 디렉토리 중의 하나 또는 다수일 수 있다. 구체적으로 토탈 디렉토리, 토탈 디렉토리의 제1레벨의 서브 디렉토리, 토탈 디렉토리의 제2레벨의 서브 디렉토리일 수 있다. 상기 제1 레벨의 서브 디렉토리는 테스트 작업의 코드에 필요한 디펜던트 패키지에 의한 저장 어드레스에 대응할 수 있고, 상기 제1 레벨의 서브 디렉토리가 속한 토탈 디렉토리는 다수 개 심지어 대량의 디펜던트 패키지가 저장되는 토탈 어드레스일 수 있다.
과거 테스트 작업은 구체적으로 로컬에서 제출한 테스트 작업, 또는 동일한 IP어드레스에 기반하여 제출한 테스트 작업, 또는 어느 하나의 로컬 저장 모듈에 대해 동일한 방문 권한을 갖는 단말에서 제출한 테스트 작업일 수 있다.
일 실시방식에서, 제1 서브 디렉토리와 과거 테스트 작업에 대응하는 제2 서브 디렉토리를 서로 비교하는 단계는, 구체적으로 과거 테스트 작업에 대응하는 코드를 획득하는 단계; 과거 테스트 작업에 대응하는 코드 중의 제2 서브 디렉토리를 획득하는 단계를 포함할 수 있다.
일 실시방식에서, 제1 서브 디렉토리와 과거 테스트 작업에 대응하는 제2 서브 디렉토리를 서로 비교하는 단계는, 구체적으로 사용자가 과거 테스트 작업을 매번 시작할 때, 저장된 과거 테스트 작업에 대응하는 제2 서브 디렉토리를 획득하는 단계를 더 포함할 수 있다.
일 실시방식에서, 제1 서브 디렉토리와 과거 테스트 작업에 대응하는 제2 서브 디렉토리를 서로 비교하는 단계는, 구체적으로 제1 서브 디렉토리에 대응되는 유니크한 정보와 제2 서브 디렉토리에 대응되는 유니크한 정보를 비교하는 단계를 더 포함할 수 있다.
제2 서브 디렉토리는 과거 테스트 작업에 대응하는 서브 디렉토리 중 임의의 하나일 수 있다. 예를 들어, 현재 테스트 작업에 대응하는 서브 디렉토리에 서브 디렉토리 A, B, C를 포함하고, 과거 테스트 작업에 대응하는 서브 디렉토리에 서브 디렉토리 C, F, G, H를 포함하면, 서브 디렉토리 A, B, C 및 서브 디렉토리 C, F, G, H를 비교하여 중복된 서브 디렉토리 C가 존재함을 알 수 있다.
다른 일 실시방식에서, 코드의 보안성을 보장하기 위하여, 작업에 대응하는 모든 디렉토리를 변환하여 변환 값을 생성할 수 있는데, 여기서 변환 값은 코드에 대응하는 모든 서브 디렉토리와 유니크한 대응 관계를 가진다. 코드 중 복수의 서브 디렉토리 중 하나의 서브 디렉토리가 바뀌면, 변환을 통해 얻는 변환 값도 바뀌게 된다.
제1 비교 결과는 로컬 저장 모듈로부터 디펜던트 패키지를 획득해야 하는 상황을 지시할 수 있다. 예를 들어, 제1 비교 결과는 로컬 저장 모듈에 디펜던트 패키지가 이미 저장되어 있음을 지시할 수 있다. 여기서, 로컬 저장 모듈은 로컬 메모리 또는 로컬에 배치된 데이터 베이스일 수 있다.
로컬 저장 모듈은 디펜던트 패키지를 로컬에 저장하는 모듈일 수 있다. 구체적으로, 로컬 저장 모듈은 테스트 작업을 실행하는 단말의 로컬일 수 있으며, 모델을 구축하는 단말의 로컬일 수도 있는 바, 디펜던트 패키지 저장소와 함께 각각 정보를 송수신하는 엔드 포인트이다.
디펜던트 패키지를 획득한 후, 상기 방법은 디펜던트 패키지에 의해 모델을 구축하는 단계를 더 포함할 수 있다. 구축된 모델은 딥 러닝 모델 또는 머신 러닝 모델 등의 컴퓨터 모델일 수 있다.
본 발명의 실시예에서, 테스트 작업에 기초하여 금번 테스트 작업에 대응하는 제1 서브 디렉토리와 과거 테스트 작업의 제2 서브 디렉토리를 비교하고, 비교결과에 따라 로컬 저장 모듈에서 디펜던트 패키지를 획득할 수 있다. 따라서 디펜던트 패키지의 획득 시간을 단축시키고, 모델의 구축 속도를 향상시킬 수 있다.
일 실시방식에서, 제1 서브 디렉토리와 사용자가 제출한 과거 테스트 작업에 대응하는 제2 서브 디렉토리를 비교하는 단계는,
제1 서브 디렉토리의 메시지 다이제스트 알고리즘(MD5, Message-Digest Algorithm)의 제1 암호화 값을 생성하는 단계;
제1 암호화 값과 제2 서브 디렉토리의 메시지 다이제스트 알고리즘의 제2 암호화 값을 비교하는 단계를 포함한다.
본 실시예에서, 모델 구축에 필요한 디펜던트 패키지가 속한 제1 서브 디렉토리를 추출하는 단계 이후에,
제2 서브 디렉토리에 따라 메시지 다이제스트 알고리즘의 제2 암호화 값을 생성하는 단계;
제1 암호화 값과 제2 암호화 값을 비교하는 단계를 포함한다.
본 실시예에서, 제1 암호화 값과 제2 서브 디렉토리의 메시지 다이제스트 알고리즘의 제2 암호화 값을 비교하는 단계는,
사전 생성된 제2 암호화 값을 획득하는 단계;
제1 암호화 값과 제2 암호화 값을 비교하는 단계를 포함한다.
제1 암호화 값과 제2 암호화 값이 동일한 경우, 제1 서브 디렉토리와 제2 서브 디렉토리가 동일하다고 결정할 수 있다.
예시적으로, 메시지 다이제스트 알고리즘은 흔히 사용하는 암호화 해시 함수이며, 128 비트(16바이트 또는 32비트 숫자값)의 해시 값(hash value)을 생성할 수 있으며, 정보 전송의 완전 일치성을 보장할 수 있다.
또한, 기타 암호화 알고리즘을 이용하여 제1 암호화 값 및 제2 암호화 값을 계산할 수 있다.
본 실시예에서, 제1 암호화 값, 제2 암호화 값 중의 적어도 하나는 하나의 서브 디렉토리의 암호화 값일 수 있고, 코드 중 모든 서브 디렉토리의 암호화 값일 수도 있다.
본 실시예에서, 메시지 다이제스트 알고리즘을 이용하여 제1 서브 디렉토리의 제1 암호화 값과 제2 서브 디렉토리의 제2 암호화 값을 계산하여 구체적 코드 내용을 유출시키지 않을 뿐만 아니라 비교 결과가 제1 서브 디렉토리와 제2 서브 디렉토리의 실제 다른 상황을 반영할 수 있도록 한다.
일 실시방식에서, 도 2에 도시된 바와 같이, 데이터 처리 방법은 다음 단계를 포함한다.
단계 S21: 현재 테스트 작업의 제출 정보에서 모델 구축에 필요한 디펜던트 패키지가 속한 제1 서브 디렉토리를 추출하다.
단계 S22: 제1 서브 디렉토리와 제2 서브 디렉토리가 동일한지 여부를 판단한다.
단계 S23: 제1 서브 디렉토리와 과거 테스트 작업의 제출 정보 중의 제2 서브 디렉토리가 동일한 경우, 로컬 저장 모듈에서 상기 디펜던트 패키지를 획득하다.
단계 S24: 제1 서브 디렉토리와 과거 테스트 작업의 제출 정보 중의 제2 서브 디렉토리가 동일한 경우, 독립적으로 설치된 디펜던트 패키지 저장소에서 상기 디펜던트 패키지를 획득하다.
단계 S25: 디펜던트 패키지를 상기 로컬 저장 모듈에 저장하다.
디펜던트 패키지 저장소는 일종의 개방된 데이터 베이스일 수 있다. 구축측은 디펜던트 패키지 저장소의 어드레스 및 대응되는 디펜던트 패키지의 획득 규칙을 자체 구축할 수 있다.
예를 들어, 디펜던트 패키지 저장소의 구축측은 대응되는 서브 디렉토리에 의해 서브 디렉토리에 속한 디펜던트 패키지를 얻도록 설정할 수 있다.
또 예를 들면, 디펜던트 패키지 저장소의 구축측은 토탈 디렉토리에 속한 일부 서브 디렉토리를 개방형 서브 디렉토리로 설정하고, 다른 일부 서브 디렉토리는 특수 권한이 있어야 방문이 가능한 서브 디렉토리이다.
제1 서브 디렉토리와 제2 서브 디렉토리가 상이한 경우, 과거 테스트 작업에 대응하는 코드는 금번 테스트 작업에 사용될 디펜던트 패키지를 사용하지 않았다고 판단할 수 있으므로 디펜던트 패키지 저장소에서 금번 테스트 작업의 코드에 필요한 디펜던트 패키지를 획득할 수 있다.
디펜던트 패키지를 로컬 저장 모듈에 저장하는 단계는, 구체적으로, 디펜던트 패키지를 로컬 캐시, 로컬 메모리, 로컬에 대응되는 데이터 베이스 중 적어도 하나 이상에 저장하는 것을 포함할 수 있다.
본 실시예에서, 로컬에 금번 테스트 작업에 필요한 하나 또는 북수의 디펜던트 패키지가 존재하지 않은 경우, 디펜던트 패키지 저장소에서 디펜던트 패키지를 획득하고, 디펜던트 패키지 저장소에서 획득한 디펜던트 패키지를 로컬 저장 모듈에 저장하여 금번 테스트 작업에 대응되는 코드에 필요한 디펜던트 패키지를 순리롭게 획득할 수 있다. 나아가 다음 번에 동일한 디펜던트 패키지가 필요할 때, 로컬 저장 모듈에서 디펜던트 패키지를 획득할 수 있어 후속 테스트 작업의 코드 모델링 평균시간을 줄일 수 있다.
일 실시방식에서, 제1 서브 디렉토리와 과거 테스트 작업의 제출 정보 중의 제2 서브 디렉토리가 동일한 경우, 독립으로 설치된 디펜던트 패키지 저장소에서 디펜던트 패키지를 획득하는 단계는,
디펜던트 패키지 저장소의 토탈 디렉토리의 메시지 다이제스트 알고리즘의 토탈 암호화 값을 획득하는 단계;
토탈 암호화 값과 제1 암호화 값이 동일한 경우, 디펜던트 패키지 저장소 중의 토탈 디렉토리에서 상기 디펜던트 패키지를 획득하는 단계를 포함한다.
토탈 암호화 값과 제1 암호화 값이 동일한 경우, 디펜던트 패키지 저장소에 디펜던트 패키지가 저장되어 있음을 의미한다.
토탈 암호화 값은 디펜던트 패키지 저장소에 모든 디펜던트 패키지에 대응하는 서브 디렉토리에 따라 계산하여 얻을 수 있다.
토탈 암호화 값은 디펜던트 패키지 저장소 중의 디펜던트 패키지가 바뀔 경우 자동으로 업데이트될 수 있다. 여기서, 바뀌는 경우는 디펜던트 패키지의 변경, 디펜던트 패키지의 증가, 디펜던트 패키지의 감소 등을 포함할 수 있다.
토탈 암호화 값은 매번 제1 암호화 값과 비교해야 하는 경우 계산하여 얻을 수도 있다.
본 실시예에서, 디펜던트 패키지 데이터 베이스의 토탈 디렉토리의 메시지 다이제스트 알고리즘에 의해 얻은 토탈 암호화 값을 제1 암호화 값과 비교하여 디펜던트 패키지 저장소에 금번 테스트 작업에 대응하는 코드에 필요하는 디펜던트 패키지가 저장되어 있는지를 결정함으로써 비교결과의 정확성을 보장하는 동시에 디렉토리 정보가 예상 밖으로 유출되는 것을 막을 수 있다.
일 실시방식에서, 데이터 처리 방법은,
토탈 암호화 값과 제1 암호화 값이 상이한 경우, 컴파일링 정보를 획득하는 단계;
컴파일링 정보에 따라 디펜던트 패키지를 획득하는 단계를 더 포함한다.
토탈 암호화 값과 제1 암호화 값이 상이하다는 것은, 디펜던트 패키지 저장소에 금번 테스트 작업에 필요한 디펜던트 패키지가 존재하지 않음을 의미할 수 있고, 필요한 디펜던트 패키지의 구체적 상황에 대하여 디펜던트 패키지를 기록하거나 컴파일할 수 있다.
필요한 디펜던트 패키지가 전반적으로 기록하여 얻은 것이면, 수신된 입력정보에 의해 새로 기록된 디펜던트 패키지를 생성한다. 필요한 디펜던트 패키지가 기존 데이터 패키지를 컴파일하여 얻은 것이면, 수신된 컴파일링 정보에 의해 새로운 디펜던트 패키지를 생성한다.
일반 상황에서, 디펜던트 패키지는 컴파일 또는 기록이 완료된 후, 로컬 저장 모듈에 저장되는 바, 예를 들어, 로컬 메모리에 저장되고, 추후 로컬 메모리를 통해 로컬에 대응하는 저장소에 저장할 수 있음을 밝혀 둔다.
본 실시예에서, 디펜던트 패키지 저장소에 금번 테스트 작업에 대응하는 코드에 필요한 디펜던트 패키지가 존재하지 않은 경우, 작업자가 디펜던트 패키지에 대해 컴파일링하도록 허용하고, 수신된 컴파일링 정보에 의해 디펜던트 패키지를 생성함으로써 후속 모델 구축 작업이 원활하게 진행하도록 한다.
일 실시방식에서, 데이터 처리 방법은,
컴파일링 정보에 의해 획득한 디펜던트 패키지를 디펜던트 패키지 저장소에 저장하는 단계를 더 포함한다.
본 실시예에서, 디펜던트 패키지 저장소에 존재하지 않은 디펜던트 패키지를, 수신된 컴파일링 정보에 의해 컴파일하여 생성한 후, 디펜던트 패키지 저장소에 저장한다. 후속 다른 단말에서 상기 디펜던트 패키지를 사용해야 하는 경우, 다시 기록할 필요없이 디펜던트 패키지 저장소에서 집적 획득할 수 있으므로 모델 구축의 전반적인 효율을 향상시킬 수 있다.
본 발명의 일 예시에서, 데이터 처리 방법은 도 3에 도시된 다음 단계를 포함한다.
단계 S31: 사용자가 사용한 캐시 데이터의 캐시 이름을 판단한다.
이 단계에서, 캐시 데이터는 앞서 설명한 실시예 중의 디펜던트 패키지에 해당된다. 사용자가 Github로 요청을 제출한 후 상응된 CI(Continuous Integration, 지속적 통합) 작업을 자동으로 촉발할 수 있고, 작업 시 사용자의 요청에 대응되는 코드에 캐싱이 필요한 파일 디렉토리에 의해, md5 암호화 알고리즘을 사용하여 캐시 디렉토리에 속한 모든 파일에 대하여 암호화하고, 암호화를 통해 암호화 값을 생성할 수 있으며, 이는 캐시 데이터를 캐싱하는 캐시이름으로 정의하는데 사용된다.
여기서, GitHub는 오픈소스 및 독점(proprietary) 소프트웨어 프로젝트 지향적인 호스팅 플랫폼일 수 있으며, Git를 이용하여 버전 라이브러리(version library) 형식으로 호스팅할 수 있다. 나아가, Git는 오픈소스의 분산 버전 제어 시스템(Distributed Version Control Systems)이므로 작은 규모에서 아주 큰 규모까지의 프로젝트 버전 관리를 효율적이고 신속하게 처리할 수 있다.
본 예시에서, 모든 제삼자 라이브러리(third-party library)가 컴파일한 디펜던트 패키지를 하나의 디렉토리에 저장하는데, 예를 들어, 모든 디펜던트 패키지를 cmake/external/xxx1.cmake, xxx2.cmake디렉토리에 저장할 수 있다. 제삼자 라이브러리가 컴파일한 파일에 대한 임의의 수정은 cmake/external/인 디렉토리의 md5값을 변경할 수 있다. 제삼자 라이브러리가 컴파일한 디펜던트 패키지는 앞서 설명한 각 실시예의 디펜던트 패키지 저장소 중의 디펜던트 패키지에 해당될 수 있다
단계 S32: 로컬 기기에 캐시 데이터가 존재하는지 여부를 판단한다.
로컬에 있는 해당 기기에서 제1단계에서 획득한 캐시 데이터의 캐시 이름에 따라 존재 여부를 판단하고, 로컬에 존재하지 않으면 디펜던트 패키지 저장소에 방문하여 획득하게 된다.
단계 S33: 디펜던트 패키지 저장소에 캐시 파일이 존재하는지 여부를 판단한다.
디펜던트 패키지 저장소에 캐시 데이터가 존재하면, 웨어하우스에서 캐시 파일을 다운로드하여 로컬 기기에 캐싱한다. 그러므로 다음번에 작업을 수행할 때는 디펜던트 패키지 저장소에 가서 획득할 필요가 없어 작업 수행 시간을 절약할 수 있다.
단계 S34: 디펜던트 패키지 저장소에 캐시 데이터가 존재하지 않은 경우, 컴파일하여 디펜던트 패키지 저장소에 업로드한다.
컴파일이 성공된 후 로컬 기기에 저장하고 디펜던트 패키지 저장소에 업로드하며, 기타 작업에 필요한 캐시 파일은 웨어하우스에서 다운로드할 수 있다.
본 발명의 일 예시에서, 데이터 처리 방법은 도 4에 도시된 다음 단계를 포함한다.
단계 S41: Github로 제출한 코드를 획득한다.
단계 S42: CI 작업을 시작한다.
단계 S43: cmake 디렉토리에 속한 파일을 md5 알고리즘을 통해 암호화 값을 생성한다.
암호화 값은, cmake 디렉토리가 디펜던트 패키지를 저장할 수 있으며, 디펜던트 패키지 저장소의 디렉토리일 수 있다. 암호화 값은 cmake디렉토리에 속한 파일의 이름에 의해 생성될 수 있다.
단계 S44: 금번 CI 작업에 대응하는 디펜던트 패키지의 이름을 획득한다.
단계 S45: 로컬에 금번 CI 작업에 대응하는 디펜던트 패키지가 존재하는지 여부를 판단한다.
단계 S46: 로컬에 금번 CI 작업에 대응하는 디펜던트 패키지가 저장되어 있는 경우, 로컬 저장 모듈로부터 디펜던트 패키지를 획득하여 후속 작업을 수행한다.
단계 S47: 로컬에 금번 CI 작업에 대응하는 디펜던트 패키지가 저장되어 있지 않은 경우, 디펜던트 패키지 저장소에 금번 CI 작업에 대응하는 디펜던트 패키지가 저장되어 있는지 여부를 판단한다.
단계 S48: 디펜던트 패키지 저장소에 금번 CI 작업에 대응하는 디펜던트 패키지가 저장되어 있는 경우, 금번 CI 작업에 대응하는 디펜던트 패키지를 로컬에 다운로드하여 후속 작업을 수행한다.
단계 S49: 디펜던트 패키지 저장소에 금번 CI 작업에 대응하는 디펜던트 패키지가 저장되어 있지 않은 경우, 금번 CI 작업에 대응하는 디펜던트 패키지를 컴파일하고, 컴파일이 완료되면 금번 CI 작업에 대응하는 디펜던트 패키지를 디펜던트 패키지 저장소에 업로드한다.
본 발명의 실시예는 데이터 처리 장치를 더 제공한다. 도 5에 도시된 바와 같이, 상기 장치는,
현재 테스트 작업의 제출 정보에서 모델 구축에 필요한 디펜던트 패키지가 속한 제1 서브 디렉토리를 추출하는 제1 서브 디렉토리 추출 모듈(51);
제1 서브 디렉토리와 제2 서브 디렉토리가 동일한 제1 비교결과에 기초하여 로컬 저장 모듈에서 상기 디펜던트 패키지를 획득하는 비교 모듈(52)을 포함한다.
일 실시방식에서, 도 6에 도시된 바와 같이, 데이터 처리 장치는,
제1 서브 디렉토리의 메시지 다이제스트 알고리즘의 제1 암호화 값을 생성하는 제1 암호화 값 생성 모듈(61);
제1 암호화 값과 제2 서브 디렉토리의 메시지 다이제스트 알고리즘의 제2 암호화 값을 비교하는 제1 암호화 값 처리 모듈(62)을 포함한다.
일 실시방식에서, 도 7에 도시된 바와 같이, 데이터 처리 장치는,
제1 서브 디렉토리와 제2 서브 디렉토리가 동일하지 않은 제2 비교결과에 기초하여 디펜던트 패키지 저장소에서 디펜던트 패키지를 획득하는 획득 모듈(71);
디펜던트 패키지를 상기 로컬 저장 모듈에 저장하는 제1 저장 모듈(72)을 포함한다.
일 실시방식에서, 도 8에 도시된 바와 같이, 획득 모듈(71)은,
토탈 디렉토리의 메시지 다이제스트 알고리즘의 토탈 암호화 값을 획득하는 토탈 암호화 값 유닛(81);
토탈 암호화 값과 제1 암호화 값이 동일한 경우, 디펜던트 패키지 저장소 중의 토탈 디렉토리에서 디펜던트 패키지를 획득하는 토탈 암호화 값 처리 유닛(82)을 포함한다.
일 실시방식에서, 도 9에 도시된 바와 같이, 데이터 처리 장치는,
토탈 암호화 값과 제1 암호화 값이 상이한 경우 컴파일링 정보를 획득하는 컴파일링 정보 획득 모듈(91);
컴파일링 정보에 따라 디펜던트 패키지를 획득하는 컴파일링 정보 처리 모듈(92)을 포함한다.
일 실시방식에서, 도 10에 도시된 바와 같이, 데이터 처리 장치는,
컴파일링 정보에 따라 획득한 디펜던트 패키지를 디펜던트 패키지 저장소에 저장하는 제2 저장 모듈(101)을 포함한다.
본 발명의 실시예에 따른 각 데이터 처리 장치의 각 유닛, 모듈 또는 서브 모듈의 기능은 상기 데이터 처리 방법의 해당 설명 부분을 참조할 수 있으므로 중복 설명하지 않는다.
본 발명의 실시예는 딥 러닝, 빅 데이터 등 인공 지능 분야에 적용될 수 있다.
본 발명의 실시예에 따르면, 본 발명은 전자 기기, 판독 가능 저장 매체 및 컴퓨터 프로그램 제품을 더 제공한다.
도 11은 본 발명의 실시예를 구현하는 예시적인 전자 기기(110)의 개략적 블록도이다. 전자 기기는 랩 컴퓨터, 데스크탑 컴퓨터, 워크스테이션, PDA, 서버, 블레이드 서버(blade server), 대형 컴퓨터 및 기타 적절한 컴퓨터와 같은 여러 종류의 디지털 컴퓨터를 지칭한다. 전자 기기는 PDA(Personal Digital Assistant), 이동전화(Cellular phone), 스마트폰(smartphone), 웨어러블 디바이스(wearable device) 및 기타 유사한 컴퓨팅 장치와 같은 다양한 이동식 장치를 지칭할 수도 있다. 본 명세서에 언급된 부재, 이들의 연결 및 관계, 그리고 이들의 기능은 예시에 불과하고, 본문에서 기재 및/또는 청구한 본 발명의 구현을 한정하는데 있는 것이 아니다.
도 11에 도시된 바와 같이, 기기(110)는 컴퓨팅 유닛(111)을 포함하고, 상기 컴퓨팅 유닛(111)은 ROM(112)에 저장된 컴퓨터 프로그램 또는 저장 유닛(118)으로부터 RAM(113)에 로딩된 컴퓨터 프로그램에 의해 각종 적절한 동작과 처리를 수행할 수 있다. RAM(113)에는 기기(110)가 작동하는데 필요한 각종 프로그램과 데이터가 더 저장되어 있을 수 있다. 컴퓨팅 유닛(111), ROM(112) 및 RAM(113)는 버스(114)를 통해 서로 연결된다. 또한 입력출력(I/O) 인터페이스(115)는 버스(114)에 연결되어 있다.
기기(110) 중 복수의 부재는 I/O 인터페이스(115)에 연결되고, 키보드, 마우스와 같은 입력 유닛(116); 여러 종류의 디스플레이 장치, 스피커와 같은 출력 유닛(117); 자기 디스크, 광 디스크와 같은 저장 유닛(118); 및 랜 카드, 모뎀, 무선통신 송수신기와 같은 통신 유닛(119)을 포함한다. 통신 유닛(119)은 기기(110)가 인터넷과 같은 컴퓨터 네트워크 및/또는 각종 통신 네트워크를 통해 다른 기기와 정보 또는 데이터를 교환하도록 한다.
컴퓨팅 유닛(111)은 처리 및 컴퓨팅 능력을 가지는 여러 가지 범용의 및/또는 전용의 처리 컴포넌트일 수 있다. 컴퓨팅 유닛(111)의 일부 예시는 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 여러 가지 전용 인공 지능 (AI) 컴퓨팅 칩, 머신 러닝 모델 알고리즘을 실행하는 여러 가지 컴퓨팅 유닛, 디지털 신호 프로세서(DSP) 및 임의의 적합한 프로세서, 제어기, 마이크로 제어기 등을 포함하나 이에 한정되지 않는다. 컴퓨팅 유닛(111)은 상술한 각 방법과 처리, 예를 들면 상기 데이터 처리 방법을 수행한다. 예를 들어 일부 실시예에서 상기 데이터 처리 방법은 컴퓨터 소프트웨어 프로그램으로 구현될 수 있고, 기계 판독 가능 매체, 예를 들면 저장 유닛(118)에 유형적으로(tangibly) 포함될 수 있다. 일부 실시예에서, 컴퓨터 프로그램의 일부 또는 전부가 ROM(112) 및/또는 통신 유닛(119)을 거쳐 기기(110)에 로딩 및/또는 설치될 수 있다. 컴퓨터 프로그램이 RAM(113)에 로딩되어 컴퓨팅 유닛(111)에 의해 실행될 경우, 상술한 상기 데이터 처리 방법의 하나 또는 복수의 단계가 실행될 수 있다. 대안적으로, 다른 실시예에서, 컴퓨팅 유닛(111)은 기타 임의의 적절한 방식으로(예를 들면 펌웨어에 의해) 상기 데이터 처리 방법을 수행하도록 구성될 수 있다.
본 명세서에 기재된 시스템 및 기술의 각종 실시방식은 디지털 전자 회로 시스템, 집적회로 시스템, 필드 프로그래머블 게이트 어레이(Field-programmable Gate Array: FPGA), 주문형 반도체(Application-Specific Integrated Circuit: ASIC), 주문형 표준 제품(Application-Specific Standard Product: ASSP), 시스템 온 칩 시스템(System-on-a-chip system: SOC), 복합 프로그래머블 로직 디바이스(Complex Programmable Logic Device: CPLD), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합에서 구현될 수 있다. 상기 다양한 실시방식은 하나 또는 복수의 컴퓨터 프로그램에서 실시되고, 상기 하나 또는 복수의 컴퓨터 프로그램은 적어도 하나 이상의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행 및/또는 해석된다. 상기 프로그래머블 가능 프로세서는 전용 또는 범용 프로그래머블 프로세서일 수 있으며, 저장 시스템, 적어도 하나 이상의 입력장치 및 적어도 하나 이상의 출력장치로부터 데이터 및 명령을 수신하고, 데이터 및 명령을 상기 저장 시스템, 상기 적어도 하나 이상의 입력장치 및 상기 적어도 하나 이상의 출력장치로 전송할 수 있다.
본 발명의 방법을 구현하는 프로그램 코드는 하나 또는 복수의 프로그래밍 언어의 임의의 조합으로 프로그래밍할 수 있다. 이러한 프로그램 코드는 범용 컴퓨터, 전용 컴퓨터 또는 다른 프로그래머블 데이터 처리 장치들의 프로세서 또는 제어기에 제공되어 프로그램 코드가 프로세서 또는 제어기에 의해 실행될 때 플로우 차트 및/또는 블록도에 특정된 기능/동작을 구현하도록 할 수 있다. 프로그램 코드는 기계상에서 전체 실행될 수 있고 부분적으로 실행될 수도 있고 독립적인 소프트웨어 패키지로서 일부가 기계에서 실행되고 일부가 원격 기계에서 실행되거나 또는 전체가 원격 기계나 서버에서 실행될 수도 있다.
본 발명의 상하 내용에서, 기계 판독 가능 매체는 유형의 매체일 수 있으며, 명령 실행 시스템, 장치 또는 기기에 의해 사용되거나, 또는 명령 실행 시스템, 장치 또는 기기와 결합하여 사용되는 프로그램을 포함하거나 저장할 수 있다. 기계 판독 가능 매체는 기계 판독 가능한 신호 매체 또는 기계 판독 가능한 저장 매체일 수 있다. 기계 판독 가능 매체는 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치 또는 기기, 또는 전술한 내용들의 임의의 적합한 조합을 포함할 수 있으나, 이에 한정되지 않는다. 기계 판독 가능 저장 매체의 보다 구체적인 예시는 하나 또는 다수의 선에 기반하는 전기적 연결, 휴대용 컴퓨터 디스크, 하드 디스크, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 소거 및 프로그램 가능한 읽기 전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 휴대용 콤팩트 디스크 읽기 전용 메모리(CD-ROM), 광학 저장 장치, 자기 저장 장치 또는 전술한 내용들의 임의의 적합한 조합을 포함할 수 있으나, 이에 한정되지 않는다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 기술된 시스템 및 기술은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예컨대, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터) 및 사용자가 컴퓨터에 입력하는 키보드 및 포인팅 디바이스(예컨대, 마우스 또는 트랙볼)를 갖는 컴퓨터상에서 구현될 수 있다. 다른 종류의 디바이스도 사용자와의 상호 작용을 제공하기 위해 사용될 수 있는데, 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 감각 피드백(예컨대, 시각적 피드백, 청각 피드백 또는 촉각적 피드백)일 수 있으며, 사용자로부터의 입력은 임의의 형태(음향, 음성 또는 촉각 입력을 포함)로 수신될 수 있다.
본 명세서에서 설명된 시스템 및 기술은 백 엔드(back end) 컴포넌트(예컨대, 데이터 서버)를 포함하거나 미들웨어 컴포넌트(예컨대, 애플리케이션 서버)를 포함하거나, 또는 프론트 엔드 컴포넌트(예컨대, 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 사용자 컴퓨터이며 사용자는 상기 그래픽 사용자 인터페이스 또는 웹 브라우저를 통해 본 명세서에서 기술된 시스템 및 기술의 실시양태와 연동할 수 있다.)를 포함하거나, 또는 백 엔드, 미들웨어 또는 프런트 엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트는 임의의 형태 또는 매체의 디지털 데이터 통신(예컨대, 통신 네트워크)에 의해 상호 접속될 수 있다. 통신 네트워크의 예로는 근거리 통신망(LAN), 광역 통신망(WAN), 및 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트단 및 서버를 포함할 수 있다. 클라이언트단과 서버는 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 연동된다. 상응한 컴퓨터 상에서 실행되고 각각 클라이언트단-서버 관계를 갖는 컴퓨터 프로그램을 통해 클라이언트단과 서버의 관계를 생성한다.
위에 기술된 다양한 형식의 프로세스, 재 배열, 추가 또는 삭제의 단계가 적용될 수 있음을 이해해야 한다. 예를 들어, 본 출원에 기재된 각 단계는 병렬로 진행할 수도, 순차적으로 진행할 수도, 다른 순서로 진행될 수도 있는 바, 본 출원에 개시된 기술적 해결수단이 목표한 결과를 구현할 수만 있다면 특별히 한정하지 않는다.
상기 구체적 실시방식은 본 출원의 보호범위를 한정하지 않는다. 본 기술분야의 일반 기술자는 설계 요구 및 기타 요소에 따라 다양한 수정, 조합, 서브 조합 및 대체가 가능하다는 것을 알 수 있다. 본 출원의 사상 및 원칙 내에서 진행한 그 어떠한 수정, 균등한 치환 및 개선 등은 모두 본 출원의 보호 범위에 속한다.

Claims (15)

  1. 데이터 처리 방법으로서,
    현재 테스트 작업의 제출 정보에서 모델 구축에 필요한 디펜던트 패키지(dependent package)가 속한 제1 서브 디렉토리(subdirectory)를 추출하는 단계; 및
    상기 제1 서브 디렉토리와 과거 테스트 작업의 제출 정보 중의 제2 서브 디렉토리가 동일한 경우, 로컬 저장 모듈에서 상기 디펜던트 패키지를 획득하는 단계
    를 포함하는, 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 모델 구축에 필요한 디펜던트 패키지가 속한 제1 서브 디렉토리를 추출하는 단계 이후에,
    상기 제1 서브 디렉토리의 메시지 다이제스트 알고리즘(Message Digest Algorithm)의 제1 암호화 값을 생성하는 단계;
    상기 제1 암호화 값과 상기 제2 서브 디렉토리의 메시지 다이제스트 알고리즘의 제2 암호화 값을 비교하는 단계
    를 포함하는, 데이터 처리 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 제1 서브 디렉토리와 과거 테스트 작업의 제출 정보 중의 제2 서브 디렉토리가 동일한 경우, 독립적으로 설치된 디펜던트 패키지 저장소에서 상기 디펜던트 패키지를 획득하는 단계;
    상기 디펜던트 패키지를 상기 로컬 저장 모듈에 저장하는 단계
    를 포함하는, 데이터 처리 방법.
  4. 제3항에 있어서,
    상기 제1 서브 디렉토리와 과거 테스트 작업의 제출 정보 중의 제2 서브 디렉토리가 동일한 경우, 독립적으로 설치된 디펜던트 패키지 저장소에서 상기 디펜던트 패키지를 획득하는 단계는,
    상기 디펜던트 패키지 저장소의 토탈 디렉토리의 메시지 다이제스트 알고리즘의 토탈 암호화 값을 획득하는 단계;
    상기 토탈 암호화 값과 상기 제1 암호화 값이 동일한 경우, 상기 디펜던트 패키지 저장소 중의 토탈 디렉토리에서 상기 디펜던트 패키지를 획득하는 단계
    를 포함하는, 데이터 처리 방법.
  5. 제4항에 있어서,
    상기 토탈 암호화 값과 상기 제1 암호화 값이 상이한 경우, 컴파일링 정보(compiling information)를 획득하는 단계;
    상기 컴파일링 정보에 따라 상기 디펜던트 패키지를 획득하는 단계
    를 더 포함하는, 데이터 처리 방법.
  6. 제5항에 있어서,
    상기 컴파일링 정보에 따라 획득한 상기 디펜던트 패키지를 상기 디펜던트 패키지 저장소에 저장하는 단계를 더 포함하는, 데이터 처리 방법.
  7. 데이터 처리 장치로서,
    현재 테스트 작업의 제출 정보에서 모델 구축에 필요한 디펜던트 패키지가 속한 제1 서브 디렉토리를 추출하는 제1 서브 디렉토리 추출 모듈;
    상기 제1 서브 디렉토리와 제2 서브 디렉토리가 동일한 제1 비교결과에 기초하여 로컬 저장 모듈에서 상기 디펜던트 패키지를 획득하는 제1획득 모듈
    을 포함하는, 데이터 처리 장치.
  8. 제7항에 있어서,
    상기 제1 서브 디렉토리의 메시지 다이제스트 알고리즘의 제1 암호화 값을 생성하는 제1 암호화 값 생성 모듈;
    상기 제1 암호화 값과 상기 제2 서브 디렉토리의 메시지 다이제스트 알고리즘의 2 암호화 값을 비교하는 제1 암호화 값 처리 모듈
    을 포함하는, 데이터 처리 장치.
  9. 제7항 또는 제8항에 있어서,
    상기 제1 서브 디렉토리와 과거 테스트 작업의 제출 정보 중의 제2 서브 디렉토리가 동일한 경우, 독립적으로 설치된 디펜던트 패키지 저장소에서 상기 디펜던트 패키지를 획득하는 획득 모듈;
    상기 디펜던트 패키지를 상기 로컬 저장 모듈에 저장하는 제1 저장 모듈
    을 포함하는 더 포함하는, 데이터 처리 장치.
  10. 제9항에 있어서,
    상기 획득 모듈은,
    상기 토탈 디렉토리의 메시지 다이제스트 알고리즘의 토탈 암호화 값을 획득하는 토탈 암호화 값 유닛;
    상기 토탈 암호화 값과 상기 제1 암호화 값이 동일한 경우, 상기 디펜던트 패키지 저장소 중의 토탈 디렉토리에서 상기 디펜던트 패키지를 획득하는 토탈 암호화 값 처리 유닛
    을 포함하는, 데이터 처리 장치.
  11. 제10항에 있어서,
    상기 토탈 암호화 값과 상기 제1 암호화 값이 상이한 경우, 컴파일링 정보를 획득하는 컴파일링 정보 획득 모듈;
    상기 컴파일링 정보에 따라 상기 디펜던트 패키지를 획득하는 컴파일링 정보 처리 모듈
    을 더 포함하는 데이터 저장 장치.
  12. 제11항에 있어서,
    상기 컴파일링 정보에 따라 획득한 상기 디펜던트 패키지를 상기 디펜던트 패키지 저장소에 저장하는 제2 저장 모듈을 더 포함하는 데이터 저장 장치.
  13. 전자 기기로서,
    적어도 하나 이상의 프로세서; 및
    상기 적어도 하나 이상의 프로세서에 통신 연결되는 메모리
    를 포함하되, 상기 메모리에는 상기 적어도 하나 이상의 프로세서에 의해 실행 가능한 명령이 저장되고, 상기 명령은 상기 적어도 하나 이상의 프로세서에 의해 실행되어 상기 적어도 하나 이상의 프로세서가 제1항 내지 제2항 중 어느 한 항에 따른 상기 방법을 수행하도록 하는, 전자 기기.
  14. 컴퓨터 명령이 저장된 비일시적 컴퓨터 판독 가능 저장 매체로서,
    상기 컴퓨터 명령은 컴퓨터가 제1항 내지 제2항 중 어느 한 항에 따른 상기 방법을 수행하도록 하는 저장 매체.
  15. 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램 중의 명령이 프로세서에 의해 실행될 경우, 제1항 내지 제2항 중 어느 한 항의 방법을 구현하는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
KR1020210142150A 2020-12-21 2021-10-22 데이터 처리 방법, 장치, 기기, 저장 매체 및 컴퓨터 프로그램 KR20210134527A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011521747.3A CN112506796B (zh) 2020-12-21 2020-12-21 数据处理方法、装置、设备以及存储介质
CN202011521747.3 2020-12-21

Publications (1)

Publication Number Publication Date
KR20210134527A true KR20210134527A (ko) 2021-11-10

Family

ID=74922920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210142150A KR20210134527A (ko) 2020-12-21 2021-10-22 데이터 처리 방법, 장치, 기기, 저장 매체 및 컴퓨터 프로그램

Country Status (5)

Country Link
US (1) US20210382699A1 (ko)
EP (1) EP3901760A1 (ko)
JP (1) JP7212735B2 (ko)
KR (1) KR20210134527A (ko)
CN (1) CN112506796B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114330668A (zh) * 2021-12-31 2022-04-12 成都商汤科技有限公司 模型处理方法、装置、电子设备和计算机存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8543998B2 (en) * 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
JP5291523B2 (ja) 2009-04-21 2013-09-18 株式会社データ変換研究所 類似データ検索装置及びそのプログラム
WO2019026248A1 (ja) 2017-08-03 2019-02-07 株式会社日立製作所 プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム
CN107656736A (zh) * 2017-09-28 2018-02-02 上海鼎为电子科技(集团)有限公司 提高安卓系统编译速度的方法及装置
CN110308999B (zh) * 2018-03-20 2024-02-20 Tcl科技集团股份有限公司 一种应用间动态共享依赖包的方法、存储介质及移动终端
US10942719B2 (en) 2018-05-15 2021-03-09 Ingram Micro Inc. System and method for connector development and integration channel development

Also Published As

Publication number Publication date
CN112506796B (zh) 2022-06-10
JP7212735B2 (ja) 2023-01-25
JP2021184309A (ja) 2021-12-02
EP3901760A1 (en) 2021-10-27
US20210382699A1 (en) 2021-12-09
CN112506796A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
US20170168885A1 (en) System and Method for Testing Internet of Things Network
KR20150046088A (ko) 소프트웨어 빌드 에러를 예측하기 위한 방법 및 시스템
US11720825B2 (en) Framework for multi-tenant data science experiments at-scale
CN108845843B (zh) 一种函数处理方法、装置以及相关设备
RU2722692C1 (ru) Способ и система выявления вредоносных файлов в неизолированной среде
CN113282971B (zh) 测试日志的处理方法、装置、设备及存储介质
US20210406004A1 (en) System and method for implementing a code audit tool
Moawad et al. Beyond discrete modeling: A continuous and efficient model for iot
CN114443639A (zh) 处理数据表及自动训练机器学习模型的方法和系统
US11449333B2 (en) Providing external access to a processing platform
CN113127357A (zh) 单元测试方法、装置、设备、存储介质及程序产品
KR20210134527A (ko) 데이터 처리 방법, 장치, 기기, 저장 매체 및 컴퓨터 프로그램
CN111966382A (zh) 机器学习模型的在线部署方法、装置及相关设备
CN107579944B (zh) 基于人工智能和MapReduce安全攻击预测方法
JP6481387B2 (ja) 関連情報提供方法、関連情報提供装置及び関連情報提供プログラム
US11782938B2 (en) Data profiling and monitoring
CN113590172A (zh) 一种代码文件发布方法、装置、设备及存储介质
CN117009911A (zh) 一种目标事件的异常判定方法、装置、介质及电子设备
CN116974947A (zh) 一种组件检测方法、装置、电子设备及存储介质
US11907175B2 (en) Model object management and storage system
JP2011060062A (ja) システム仕様変更の支援システム、支援方法及び支援プログラム
CN115455006A (zh) 数据处理方法、数据处理装置、电子设备及存储介质
JP7259932B2 (ja) 仮説検証装置、仮説検証方法、及びプログラム
CN112559497A (zh) 一种数据处理方法、一种信息传输方法、装置及电子设备
US20150112914A1 (en) Case-based reasoning

Legal Events

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