KR20210040333A - 요청 처리 방법,장치,기기, 컴퓨터 저장매체 및 컴퓨터 프로그램 - Google Patents

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

Info

Publication number
KR20210040333A
KR20210040333A KR1020210038371A KR20210038371A KR20210040333A KR 20210040333 A KR20210040333 A KR 20210040333A KR 1020210038371 A KR1020210038371 A KR 1020210038371A KR 20210038371 A KR20210038371 A KR 20210038371A KR 20210040333 A KR20210040333 A KR 20210040333A
Authority
KR
South Korea
Prior art keywords
code
request
dynamic
dynamic code
compiled code
Prior art date
Application number
KR1020210038371A
Other languages
English (en)
Other versions
KR102572013B1 (ko
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 KR20210040333A publication Critical patent/KR20210040333A/ko
Application granted granted Critical
Publication of KR102572013B1 publication Critical patent/KR102572013B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • G06F9/4552Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • H04L67/327
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 출원은 요청 처리 방법,장치,기기, 컴퓨터 저장매체 및 컴퓨터 프로그램을 개시하며, 클라우드 컴퓨팅 기술분야에 관한 것이다. 요청 처리 방법은, 콘텐츠 전송 네트워크CDN 요청을 수신하는 것; 상기 네트워크CDN 요청과 대응되는, 미리 배치된 코드인 동적코드를 획득하는 것; 상기 동적코드에 대해 실시간 컴파일을 진행하여 컴파일 코드를 획득하는 것; 및 상기 컴파일 코드를 실행하는 것; 을 포함한다. 본 출원의 실시예에서 제공하는 요청 처리 방법은 CDN 시스템의 요청 처리의 유연성을 향상시키고, 동시성 한계가 존재하지 않는다.

Description

요청 처리 방법,장치,기기, 컴퓨터 저장매체 및 컴퓨터 프로그램{REQUEST PROCESSING METHOD, APPARATUS, DEVICE AND COMPUTER STORAGE MEDIUM}
본 출원은 컴퓨터 기술분야에 관한 것이며, 특히 에지 시스템 기술분야에 관한 것이다.
CDN의 풀 네임은 Content Delivery Network, 즉 콘텐츠 전송 네트워크이다. CDN은 기존 네트워크를 기반으로 구축된 지능형 가상 네트워크로서, 각 지역에 배치된 에지 서버에 의거하고, 센터 플랫폼의 로드 밸런싱, 콘텐츠 배포, 스케줄링 등 기능 모듈을 통해, 사용자가 근처에서 필요한 콘텐츠를 얻을 수 있도록 하여, 네트워크 정체를 줄이고, 사용자 액세스 응답 속도와 적중률을 향상시킨다. CDN 에지 시스템에서는 일반적으로 스크립팅 언어를 이용하여 Lua 언어와 같은 정적인 맞춤형 계산을 진행하는데, 관련 코드를 모든 에지 노드에 정적으로 배치해야 하고, 에지 시스템은 이러한 코드를 다시 로딩해야 한다. 현재의 에지 시스템에 완벽한 코드 위험 제어 능력이 결여하므로, 이러한 코드는 반드시 엄격한 그레이 측정 과정을 거쳐야 하는 바, 이렇게 되면 CDN 에지 시스템의 개발 효율을 크게 제한한다. 에지 계산의 능력이 갈수록 없어서는 안되는 오늘날, CDN 에지 시스템 개발의 방식 방법은 이미 작업 비용을 증가시키는 중요한 원인이 되었다.
본 발명은 요청 처리 방법, 장치, 기기 및 저장매체를 제공한다.
본 발명의 한 측면에 따르면, 요청 처리 방법을 제공하며, 해당 방법은,
콘텐츠 전송 네트워크CDN 요청을 수신하는 것;
네트워크CDN 요청과 대응되는, 미리 배치된 코드인 동적코드를 획득하는 것;
동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 획득하는 것; 및
컴파일 코드를 실행하는 것; 을 포함한다.
본 발명의 한 측면에 따르면, 요청 처리 장치를 제공하며, 해당 장치는,
콘텐츠 전송 네트워크CDN 요청을 수신하기 위한 요청 수신 모듈;
네트워크CDN 요청과 대응되는, 미리 배치된 코드인 동적코드를 획득하기 위한 획득 모듈;
동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 획득하기 위한 컴파일 모듈; 및
컴파일 코드를 실행하기 위한 실행 모듈을 포함한다.
본 발명의 다른 양태에 따르면, 전자기기를 제공하며, 해당 기기는,
적어도 하나의 프로세서; 및
적어도 하나의 프로세서와 통신 연결된 메모리를 포함하며, 여기서,
메모리에는 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되며, 명령은 상기 적어도 하나의 프로세서에 의해 실행되어, 적어도 하나의 프로세서로 하여금 본 출원의 임의의 한 항의 실시예에서 제공하는 방법을 수행하도록 한다.
본 발명의 다른 측면에 따르면, 컴퓨터 명령이 저장된 비일시적 컴퓨터 판독 가능 저장매체를 제공하며, 컴퓨터 명령은 컴퓨터로 하여금 본 출원의 임의의 한 항의 실시예에서 제공하는 방법을 수행하도록 한다.
본 출원은 CDN 시스템내에서 동적코드를 통해 요청을 실행함으로써, CDN 시스템을 원활하게 제어할 수 있으며, 동적코드는 CDN 에지 시스템 내부의 CDN 에지 노드에서 획득하고, 동시성 한계가 존재하지 않으며, 자연성능이 높고, 리소스 점용이 적다.
본 명세서에서 설명한 내용은 본 발명의 실시예의 관건적이거나 중요한 특징을 표기하기 위한 것이 아니고, 본 발명의 범위를 한정하기 위한 것도 아님을 이해해야 한다. 본 발명의 기타 특징은 아래의 명세서를 통해 더 용이하게 이해할 수 있을 것이다.
도면은 본 방안을 더 잘 이해하기 위한 것으로서, 본 출원에 대해 한정하는 것이 아니다. 여기서,
도 1은 본 출원의 실시예에 따른 요청 처리 방법의 모식도이고;
도 2는 본 출원의 실시예에 따른 요청 처리 방법이 구체적인 정경에서의 모식도이며;
도 3은 본 출원의 일 예시에 따른 요청 처리 방법 모식도이고;
도 4는 본 출원의 다른 실시예에 따른 요청 실행 장치의 모식도이며;
도 5는 본 출원의 실시예에 따른 요청 실행 장치의 모식도이고;
도 6은 본 출원의 다른 실시예에 따른 요청 실행 장치의 모식도이며;
도 7은 본 출원의 실시예에 따른 요청 처리 방법을 구현하기 위한 전자기기의 블록도이다.
이하 도면과 결부하여 본 출원의 예시적인 실시예를 설명하되, 여기서 본 출원의 실시예를 포함하는 여러 가지 세부절차는 이해를 돕기 위한 것으로, 이들은 응당 예시적인 것으로 간주해야 한다. 따라서 해당 분야 기술자들은 여기서 설명한 실시예에 대하여 여러 가지 변화와 수정을 진행할 수 있고, 이는 본 출원의 범위와 정신을 벗어나지 않는다는 것을 인식하여야 한다. 마찬가지로, 명확함과 간결함을 위하여, 아래의 설명에서는 공지 기능과 구조에 대한 설명을 생략하였다.
설명해야 할 것은, 충돌하지 않는 상황에서, 본 출원의 실시예 및 실시예에서의 특징은 서로 조합될 수 있다.
도 1은 본 출원의 실시예에 따른 요청 처리 방법의 과정 모식도를 도시하는 바, 도 1에 도시된 바와 같이, 아래와 같은 단계를 포함한다.
단계(101): 콘텐츠 전송 네트워크CDN 요청을 수신한다.
단계(102): 네트워크CDN 요청과 대응되는, 미리 배치된 코드인 동적코드를 획득한다.
단계(103): 동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 획득한다.
단계(104): 컴파일 코드를 실행한다.
본 실시예에서, 네트워크CDN 요청은 사용자가 CDN 에지 노드에 발송한 요청일 수 있고, CDN 코드를 배치하는데 이용된다. 네트워크CDN 요청의 구체적인 콘텐츠는 CDN 시스템의 클라이언트가 제작한 것일 수 있다.
네트워크CDN 요청과 대응되는 동적코드를 획득하는 것은 사용자에 의해 제정될 수 있는 바, 예를 들어, 파일명 고쳐 쓰기, 교차 도메인 헤드 추가, 흑백 리스트 referer(인용), 속도 제한 피드백 제어, 404 자체 정의 페이지, A/B Test(A/B 테스트) 제어 일 수 있다. 네트워크CDN 요청의 콘텐츠는 동적코드를 획득하는데 사용될 수 있다. 예를 들어, 사용자가 파일명에 대해 고쳐 쓰기를 요청하고, CDN 노드에 관한 네트워크CDN 요청을 발송한 다음, 네트워크CDN 요청에 근거하여 CDN 노드를 결정하며, 그 다음 CDN 노드로부터 대응되는 파일명을 고쳐 쓰기 위한 동적코드를 획득한다. 동시에, 본 출원의 실시예는 동적코드를 통해 사용자의 요청을 실행하여, 일반적이고 원활한 CDN 에지 시스템 제어 능력을 제공하고; 동적코드는 CDN 에지 시스템 내부의 CDN 에지 노드에서 획득되며, 동시성 한계가 존재하지 않고, 자연 성능이 높으며, 점용하는 리소스가 적다.
본 출원의 실시예가 동적코드를 사용하여 배치하므로, 동적코드는 프로그램 운행과정에서 수시로 변경될 수 있어, CDN 시스템의 코드 배치의 유연성을 향상시키고, 동적코드의 맞춤화 정도가 높으며, 개발 비용을 절감한다.
본 실시예에서, 동적코드는 코드에서 사용자가 자체로 정의할 수 있는 콘텐츠로서, 예를 들어 캐시 여부, 도난 방지 링크 사용 여부 등 일 수 있다.
본 실시예에서, 컴파일 코드는 CDN 노드에서 실행 가능한 언어 양식의 코드일 수 있다.
본 실시예에서, 동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 획득하는 것은, 제1 언어 양식의 동적코드에 대해 실시간 컴파일하고, 제1 언어의 동적코드를 제2 언어 양식의 컴파일 코드로 변환하는 것일 수 있다. 예를 들어, JavaScript양식의 동적코드에 대해 실시간 컴파일을 진행하여, C언어 양식의 컴파일 코드로 변환시키는 것이다.
본 실시예에서는 사용자가 발송한 네트워크CDN 요청에 근거하여, 동적코드를 획득한 다음, 동적코드를 CDN 시스템이 실행 가능한 코드로 컴파일함으로써, 사용자는 CDN 시스템에 배치된 코드를 ??춤 제정할 수 있고, 자체의 수요에 따라 일부 파라미터를 설치하여, CDN 시스템에서의 코드의 맞춤 제정 가능성을 구현할 수 있다. 본 실시예에서 지지하는 정경은 아주 풍부한 바, 유행되는 JavaScript 언어를 사용할 수 있고, 맞춤화 정도가 매우 높으며, 개발 비용을 절감할 수 있다.
한가지 실시형태에서, 요청 처리 방법은,
콘텐츠 전송 네트워크CDN 요청을 수신하는 것;
네트워크CDN 요청의 도메인 네임 정보에 근거하여, 도메인 네임 정보와 대응되는 CDN 에지 노드에서 동적코드를 획득하는 것;
동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 획득하는 것; 및
컴파일 코드를 실행하는 것; 을 포함한다.
본 실시예에서, 도메인 네임 정보는 하나의 구체적인 CDN 에지 서버(즉 CDN 에지 노드)와 대응될 수 있다. 네트워크CDN 요청은 클라이언트를 통해 발송할 수 있다. 도메인 네임 정보와 대응되는 CDN 에지 노드에는 동적코드가 미리 저장되고, 운영 인원에 의해 컴파일하여 저장할 수 있다.
구체적으로, 본 실시예에서, 예를 들어 대응되는 파일명 고쳐 쓰기 요청에 대하여, 운영 인원은 이와 대응되는 동적코드를 CDN 에지 서버에 컴파일하여 저장한다. 사용자는 파일명 고쳐 쓰기에 관한 네트워크CDN 요청을 CDN 에지 시스템에 발송하고, 해당 네트워크CDN 요청에 근거하여, 도메인 네임 정보를 확정하며, 도메인 네임 정보와 대응되는 CDN 에지 시스템 노드에서 동적코드를 획득한다.
본 실시예에서는, 네트워크CDN 요청에 근거하여 대응되는 CDN 에지 노드에서 동적코드를 획득함으로써, 동적코드의 맞춤 제정을 구현할 수 있다.
다른 한 실시형태에서, 요청 처리 방법은,
콘텐츠 전송 네트워크CDN 요청을 수신하는 것;
네트워크CDN 요청과 대응되는, 미리 배치된 코드인 동적코드를 획득하는 것;
동적코드에 대해 정적 검출을 진행함으로써, 동적코드가 불안전 특징을 포함하는지 여부를 확정하는 것;
정적 검출결과에 불안전 특징이 포함되지 않는 경우, 동적코드에 대해 동적 계산을 진행하여, 컴파일 코드를 생성하는 것; 및
컴파일 코드를 실행하는 것; 을 포함한다.
본 실시예에서, 동적코드에 대해 정적 검출을 진행하는 것은 구체적으로, 요청이 배치 규칙을 만족하는지 여부를 확정하여, 규칙을 위반한 네트워크CDN 요청을 거절하는 것일 수 있다. 예를 들어, 웹사이트 주소의 악의적인 고쳐 쓰기, 웹사이트 주소 도용 등 콘텐츠가 존재하는지 여부를 검출한다.
본 출원의 실시예에서는, 동적코드에 대해 정적 검출을 진행하여, 코드에 규칙 위반 콘텐츠가 존재하는지 여부를 판정하고, 나아가 규칙 위반 콘텐츠를 검출한 후, 직접 처리를 종료하여, 코드 실행 과정의 안전성을 담보할 수 있고, 코드 위험 제어 능력을 향상시킨다.
본 출원의 다른 한 실시형태에서, 요청 처리 방법은,
콘텐츠 전송 네트워크CDN 요청을 수신하는 것;
네트워크CDN 요청과 대응되는, 미리 배치된 코드인 동적코드를 획득하는 것;
동적코드에 대해 정적 검출을 진행함으로써, 동적코드가 불안전 특징을 포함하는지 여부를 확정하는 것;
정적 검출결과에 불안전 특징이 포함되지 않는 경우, 네트워크CDN 요청을 실행하기 위한 JS 가상 컴퓨터를 셋업하는 것;
동적코드와 동적코드가 결합되어 생성된 제3 동적코드를 JS 가상 컴퓨터에 가입시키는 것;
동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 생성하는 것; 및
컴파일 코드를 실행하는 것; 을 포함한다.
본 실시예에서, 네트워크CDN 요청을 실행하기 위한 JS 가상 컴퓨터를 셋업하는 것은 구체적으로, 네트워크CDN 요청을 실행하기 위한 프로그램 JavaScript가상 컴퓨터를 셋업하는 것일 수 있으며, 동적코드의 컴파일 환경을 제공한다.
본 실시예에서, 동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 생성하는 것은, 동적코드에 대해 실시간 컴파일을 진행하여, JavaScript 언어의 동적코드를 C 언어의 컴파일 코드로 변환시키는 것일 수 있다.
본 실시예에서는, 동적코드에 대해 실시간 컴파일을 진행할 경우, 한 구절씩 컴파일하고, 컴파일한 콘텐츠를 캐시에 저장하여, 코드를 실시간으로 업로드하며, 각 네트워크 CDN 는 생명주기가 독점하는 JavaScript가상 컴퓨터를 요청하고, 코드는 높은 논리적 격리를 실행하며, 커플링이 존재하지 않는다.
본 실시예에서는, JavaScript가상 컴퓨터에서 동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 생성할 수 있으며, 따라서 실시간으로 컴파일 코드를 실행하여, 사용자가 CDN 에지 노드를 요청하는 동시에 사용자가 맞춤 제정한 동적코드를 실행할 수 있으며, 코드 실행 효율을 향상시킬 수 있다.
실시간 컴파일 과정에서, ECMAScript 표준에 기반하여 구현한 JavaScript컴파일러가 실시간으로 컴파일하여, CDN 에지 시스템에 딥 임베딩하는데, 성능이 높고, 원가가 낮으며, 동시성 한계가 존재하지 않는다. 유행하는 JavaScript 언어를 사용하면, 지지하는 정경이 아주 풍부한 바, 교차 영역 액세스, 리디렉션, 액세스 제어, IP흑백 리스트, 흑백 리스트 Referer, UA 흑백 리스트, 속도 제한, 입증, 서브 요청, URI(Uniform Resource Identifier, 통합 자원 식별자) 수정 요청, ARGS 수정 요청, Header 수정 요청, Header(헤더) 응답 수정, A/B Test를 포함한다.
한가지 실시형태에서, 컴파일 코드를 실행하는 것은,
JS 가상 컴퓨터에서 컴파일 코드를 실행하는 것을 포함한다.
본 실시예에서는, JS 가상 컴퓨터에서 컴파일 코드를 실행함으로써, 사용자가 맞춤 제정한 동적코드가 실행될 수 있도록 한다. JavaScript가 유행하는 언어이므로, 지지하는 정경이 아주 풍부하다.
본 출원의 다른 한 실시형태에서, 도 2에 도시된 바와 같이, 요청 처리 방법이 아래와 같은 단계를 포함한다.
단계(101): 콘텐츠 전송 네트워크CDN 요청을 수신한다.
단계(102): 네트워크CDN 요청과 대응되는, 미리 배치된 코드인 동적코드를 획득한다.
단계(103): 동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 획득한다.
단계(104): 컴파일 코드를 실행한다.
단계(201): 컴파일 코드를 실행하기 위한 리소스의 점유율을 검출한다.
단계(202): 점유율이 설정 임계값을 초과하는 경우, 컴파일 코드를 실행하는 것을 종료한다.
본 실시예에서, 컴파일 코드를 실행할 때의 리소스 점유율이 설정 임계값을 초과할 경우, 컴파일 코드를 실행하는 것을 종료하여, 불안전, 악의적으로 리소스를 점령한 코드가 실행되는 것을 진일보로 방지하여, 에지 시스템의 코드 실행 과정의 안전성을 향상시킬 수 있다.
본 출원의 한 예시에서, 요청 처리 방법은 아래와 같은 단계를 포함한다.
단계(301): 콘텐츠 전송 네트워크CDN 요청을 수신한다. 네트워크CDN 요청은 웹 브라우저와 같은 클라이언트를 통해 발송할 수 있으며, 구체적으로는 http 메시지 요청을 발송할 수 있다.
단계(302): 네트워크CDN 요청과 대응되는, 미리 배치된 코드인 동적코드를 획득한다. 본 예시에서, 정적 계산은 CDN이 제공하는 기초적인 서비스 능력, 예를 들어 캐시 제어 등일 수 있다.
단계(303): 동적코드에 대해 정적 검출을 진행하여, 동적 계산 실행 여부를 판정한다. 코드에 안전위험이 존재하는지 여부를 검출하고, 만약 존재하면, 동적 계산을 계속하여 실행하지 않는다.
단계(304): 동적 계산을 실행한다고 판정할 경우, 동적코드에 대해 동적 계산을 진행한다.
단계(305): 네트워크CDN 요청을 실행하기 위한 JS 가상 컴퓨터를 셋업한다. 본 예시에서, 만약 복수의 요청이 존재하면, 각 요청에 대해 하나의 JS 가상 컴퓨터를 셋업한다.
단계(306): 동적코드를 JS 가상 컴퓨터에 가입한다.
단계(307): 동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 생성한다.
단계(308): 컴파일 코드를 실행하기 위한 리소스의 점유율을 검출한다.
단계(309): 점유율이 설정 임계값을 초과하는 경우, 컴파일 코드를 실행하는 것을 종료한다. 컴파일 코드를 실행하는 것을 종료한 후, 요청을 종료하고, 이상 상태 코드를 리턴한다. 계산이 완료된 후, 계속하여 업스트림으로 전달하는 것과 같은 요청을 실행한다.
단계(310): 점유율이 설정 임계값을 초과하지 않을 경우, 실행이 완료될 때까지, 계속하여 컴파일 코드를 실행한다,
본 출원의 실시에는 요청 처리 장치를 더 제공하며, 도 4에 도시된 바와 같이, 해당 장치는,
콘텐츠 전송 네트워크CDN 요청을 수신하기 위한 요청 수신 모듈(401);
네트워크CDN 요청과 대응되는, 미리 배치된 코드인 동적코드를 획득하기 위한 획득 모듈(402);
동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 획득하기 위한 컴파일 모듈(403); 및
컴파일 코드를 실행하기 위한 실행 모듈(404)을 포함한다.
한가지 실시형태에서, 처리 장치는 여전히 도 4에 도시된 요청 수신 모듈(401), 획득 모듈(402), 컴파일 모듈(403) 및 실행 모듈(404)을 포함하며, 이 기초상에, 획득 모듈은 또한,
네트워크CDN 요청의 도메인 네임 정보에 근거하여, 도메인 네임 정보와 대응되는 CDN 에지 노드에서 동적코드를 획득하는데 사용된다.
한가지 실시형태에서, 처리 장치는 여전히 도 4에 도시된 요청 수신 모듈(401), 획득 모듈(402), 컴파일 모듈(403) 및 실행 모듈(404)을 포함하며, 이 기초상에, 도 5에 도시된 바와 같이, 컴파일 모듈(403)은,
동적코드에 대해 정적 검출을 진행함으로써, 동적코드가 불안전 특징을 포함하는지 여부를 확정하기 위한 검출 유닛(501); 및
정적 검출결과에 불안전 특징이 포함되지 않는 경우, 동적코드에 대해 동적 계산을 진행하여, 컴파일 코드를 생성하기 위한 정적 검출 처리 유닛(502)을 더 포함한다.
처리 장치는 여전히 도 4에 도시된 요청 수신 모듈(401), 획득 모듈(402), 컴파일 모듈(403) 및 실행 모듈(404)을 포함하며, 이 기초상에, 도 6에 도시된 바와 같이, 정적 검출 처리 유닛(502)은,
네트워크CDN 요청을 실행하기 위한 JS 가상 컴퓨터를 셋업하기 위한 셋업 서브 유닛(601);
동적코드를 JS 가상 컴퓨터에 가입시키기 위한 가입 서브 유닛(602); 및
동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 생성하기 위한 실시간 처리 서브 유닛(603)을 더 포함한다.
처리 장치는 여전히 도 4에 도시된 요청 수신 모듈(401), 획득 모듈(402), 컴파일 모듈(403) 및 실행 모듈(404)을 포함하며, 이 기초상에, 실행 모듈(404)은 또한,
JS 가상 컴퓨터에서 컴파일 코드를 실행하는데 사용된다.
처리 장치는 여전히 도 4에 도시된 요청 수신 모듈(401), 획득 모듈(402), 컴파일 모듈(403) 및 실행 모듈(404)을 포함하며, 이 기초상에, 도 7에 도시된 바와 같이, 장치는,
컴파일 코드를 실행하기 위한 리소스의 점유율을 검출하는 점유율 검출 모듈(701); 및
점유율이 설정 임계값을 초과하는 경우, 컴파일 코드를 실행하는 것을 종료하기 위한 실행 종료 모듈(702)을 더 포함한다.
본 출원의 실시예에 따르면, 본 출원은 전자기기 및 판독 가능 저장매체를 더 제공한다.
도 8에 도시된 바와 같이, 이는 본 출원의 실시예에 따른 요청 처리 방법의 전자기기의 블록도이다. 전자기기는 랩톱 컴퓨터, 데스크톱 컴퓨터, 워크스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인프레임 컴퓨터 및 기타 적합한 컴퓨터와 같은 여러 가지 형식의 디지털 컴퓨터를 가리킨다. 전자기기는 개인 디지털 프로세싱, 셀룰러 폰, 스마트 폰, 웨어러블 기기 및 기타 유사한 컴퓨팅 장치와 같은 여러 가지 형식의 이동장치를 더 나타낼 수 있다. 본 명세서에 도시된 부품, 이들의 연결과 관계 및 이들의 기능은 단지 예시적인 것일 뿐이며, 본 명세서에서 설명 및/또는 요구한 본 출원의 구현을 한정하기 위한 것이 아니다.
도 8에 도시된 바와 같이, 해당 전자기기는 하나 또는 복수의 프로세서(801), 메모리(802) 및 각 부품을 연결하기 위한, 고속 인터페이스와 저속 인터페이스를 포함하는 인터페이스를 포함한다. 각 부품은 상이한 버스를 이용하여 서로 연결되고, 공용 메인보드에 장착되거나 또는 수요에 따라 기타 방식으로 장착될 수 있다. 프로세서는 전자기기 내에서 수행되는 명령을 처리할 수 있는데, 이는 메모리에 저장되거나 또는 메모리에 저장되어 외부 입력/출력장치(예를 들어 인터페이스에 커플링된 디스플레이 기기)에 GUI를 표시하는 그래프 정보의 명령을 포함한다. 기타 실시형태에서, 만약 필요하면, 복수의 프로세서 및/또는 복수의 버스를 복수의 메모리와 함께 사용할 수 있다. 마찬가지로, 복수의 전자기기를 연결할 수 있고, 각 기기는 일부 필요한 조작(예를 들면 서버 어레이, 블레이드 서버 세트 또는 멀티 프로세서 시스템으로 함)을 제공할 수 있다. 도 8에서는 하나의 프로세서(801)를 예로 한다.
메모리(802)는 본 출원에서 제공하는 비일시적 컴퓨터 판독 가능 저장매체이다. 여기서, 상기 메모리에는 적어도 하나의 프로세서에 의해 수행될 수 있는 명령이 저장되어, 상기 적어도 하나의 프로세서로 하여금 본 출원에서 제공하는 요청 처리 방법을 수행하도록 할 수 있다. 본 출원의 비일시적 컴퓨터 판독 가능 저장매체는 컴퓨터 명령을 저장하고, 해당 컴퓨터 명령은 컴퓨터로 하여금 본 출원에서 제공하는 요청 처리 방법을 수행하도록 한다.
메모리(802)는 비일시적 컴퓨터 판독 가능 저장매체로서, 비일시적 소프트웨어 프로그램, 비일시적 컴퓨터 실행 가능 프로그램 및 모듈, 예를 들어 본 출원의 실시예에서의 요청 처리 방법에 대응되는 프로그램 명령/모듈(예를 들면, 도 4에 도시된 요청 수신 모듈(401), 획득 모듈(402), 컴파일 모듈(403) 및 실행 모듈(404))을 저장하는데 사용될 수 있다. 프로세서(801)는 메모리(802)에 저장된 비일시적 소프트웨어 프로그램, 명령 및 모듈을 작동시킴으로써, 서버의 여러 가지 기능 응용 및 데이터 처리를 수행하며, 즉 상기 방법 실시예에서의 요청 처리 방법을 실현한다.
메모리(802)는 프로그램 저장구역과 데이터 저장구역을 포함할 수 있으며, 여기서 프로그램 저장구역은 운영체제, 적어도 하나의 기능에 필요한 응용 프로그램을 저장할 수 있고, 데이터 저장구역은 동영상 요청에 따른 전자기기의 사용에 의해 생성된 데이터 등을 저장할 수 있다. 이 외에, 메모리(802)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 비일시적 메모리, 예를 들면 적어도 하나의 디스크 메모리, 플래시 메모리 또는 기타 비일시적 솔리드 스테이트 메모리를 더 포함할 수 있다. 일부 실시예에서, 메모리(802)는 선택적으로 프로세서(801)에 대해 원격으로 설치되는 메모리를 포함하고, 이러한 원격 메모리는 네트워크를 통해 동영상 요청에 따른 전자기기에 연결될 수 있다. 상기 네트워크의 구현예는 인터넷, 인트라넷, 근거리 통신망, 이동 통신망 및 이들의 조합을 포함하나 이에 한정되지 않는다.
요청 처리 방법에 따른 전자기기는 입력장치(803)와 출력장치(804)를 더 포함할 수 있다. 프로세서(801), 메모리(802), 입력장치(803)와 출력장치(804)는 버스 또는 기타 방식을 통해 연결될 수 있고, 도 8에서는 버스를 통해 연결되는 것을 예로 한다.
입력장치(803)는 입력된 숫자 또는 문자 부호정보를 수신할 수 있고, 또한 동영상 요청 실행에 따른 전자기기의 사용자 설정 및 기능 제어와 관련되는 키 신호 입력을 발생할 수 있으며, 예를 들면 터치 스크린, 키보드, 마우스, 트랙패드, 터치패드, 지시 바, 하나 또는 다수의 마우스버튼, 트랙 볼, 조이스틱 등 입력장치일 수 있다. 출력장치(804)는 디스플레이 기기, 보조 조명장치(예를 들면, LED)와 촉각 피드백 장치(예를 들면, 진동모터) 등을 포함할 수 있다. 해당 디스플레이 기기는 액정 모니터(LCD), 발광 다이오드(LED) 디스플레이와 플라즈마 디스플레이를 포함할 수 있으나 이에 한정되지 않는다. 일부 실시예에서, 디스플레이 기기는 터치 스크린일 수 있다.
여기서 설명하는 시스템과 기술의 여러 가지 실시형태는 디지털 전자회로 시스템, 집적회로 시스템, 전용 ASIC(전용 집적회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합에서 실현할 수 있다. 이러한 여러 가지 실시형태는 하나 또는 복수의 컴퓨터 프로그램에서 실시되는 것을 포함할 수 있고, 상기 하나 또는 복수의 컴퓨터 프로그램은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템에서 실행 및/또는 해석되며, 해당 프로그래머블 프로세서는 전용 또는 범용 프로그래머블 프로세서로서, 저장 시스템, 적어도 하나의 입력장치 및 적어도 하나의 출력장치에서 데이터와 명령을 수신할 수 있고, 데이터와 명령을 해당 저장 시스템, 해당 적어도 하나의 입력장치 및 해당 적어도 하나의 출력장치에 전송할 수 있다.
이러한 컴퓨팅 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 한다)은 프로그래머블 프로세서의 기계 명령을 포함하고, 고급 프로세스 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어를 이용하여 이러한 컴퓨터 프로그램을 실시할 수 있다. 본 명세서에서 사용한 바와 같이, 용어 “기계 판독 가능 매체”와 “컴퓨터 판독 가능 매체”는 기계 명령 및/또는 데이터를 프로그래머블 프로세서에 제공하는 임의의 컴퓨터 프로그램 제품, 기기 및/또는 장치(예를 들면, 자기 디스크, 시디롬, 메모리 프로그램 가능 로직 장치(PLD))를 가리키고, 기계 판독 가능 신호로서의 기계 명령을 수신하는 기계 판독 가능 매체를 포함한다. 용어 “기계 판독 가능 신호”는 기계 명령 및/또는 데이터를 프로그램 가능 프로세서에 제공하는 임의의 신호를 가리킨다.
사용자와의 상호작용을 제공하기 위하여, 여기서 설명하는 시스템과 기술을 컴퓨터에서 실시할 수 있으며, 해당 컴퓨터는, 사용자에게 정보를 디스플레이하는 디스플레이 장치(예를 들면, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터); 및 키보드와 포인팅 장치(예를 들면, 마우스 또는 트랙 볼)를 구비하고, 사용자는 해당 키보드와 해당 포인팅 장치를 통해 컴퓨터에 입력을 제공할 수 있다. 기타 유형의 장치는 사용자와의 상호작용에 사용될 수도 있는 바, 예를 들면 사용자에게 제공된 피드백은 모든 형식의 감각 피드백(예를 들면, 시각 피드백, 청각 피드백 또는 촉각 피드백) 일 수 있고, 모든 형식(소리 입력, 음성 입력 또는 촉각 입력을 포함)에 의해 사용자로부터의 입력을 수신할 수 있다.
여기서 설명한 시스템과 기술을 백그라운드 부품을 포함하는 컴퓨팅 시스템(예를 들면, 데이터 서버), 또는 미들웨어 부품을 포함하는 컴퓨팅 시스템(예를 들면, 애플리케이션 서버), 또는 프런트엔드 부품을 포함하는 컴퓨팅 시스템(예를 들면, 그래프 사용자 인터페이스 또는 네트워크 브라우저를 구비한 사용자 컴퓨터, 사용자는 해당 그래픽 사용자 인터페이스 또는 해당 네트워크 브라우저를 통해 여기서 설명한 시스템과 기술의 실시형태와 교류할 수 있다), 또는 이러한 백그라운드 부품, 미들웨어 부품 또는 프런트엔드 부품을 포함하는 임의의 조합의 컴퓨팅 시스템에서 실시될 수 있다. 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들면, 통신 네트워크)을 통해 시스템의 부품을 서로 연결할 수 있다. 통신 네트워크의 예시는 근거리 통신망 (LAN), 광역 통신망 (WAN) 및 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 원격으로 설치되는 동시에 통신 네트워크를 통해 서로 상호작용한다. 상응하는 컴퓨터에서 운행되고 서로 클라이언트-서버 관계를 가지는 컴퓨터 프로그램을 통하여 클라이언트와 서버의 관계를 발생한다.
본 출원은 CDN 시스템 내에서 동적코드를 통해 요청을 실행하여, CDN 시스템에 대해 원활하게 제어할 수 있고, 동적코드는 CDN 에지 시스템 내부의 CDN 에지 노드에서 획득되며, 동시성 한계가 존재하지 않고, 자연 성능이 높으며, 점용하는 리소스가 적다.
이해해야 할 것은, 이상에서 설명한 여러 가지 형태의 과정을 이용하여, 단계를 다시 정렬시키고 증가 또는 삭제할 수 있다. 예를 들면 본 출원에서 기재한 각 단계는 동시에 수행할 수도 있고 순차적으로 수행할 수도 있으며 상이한 순서로 수행할 수도 있는 바, 본 출원에서 개시한 기술방안에서 기대하는 결과를 실현할 수만 있다면, 본 문은 이에 대해 한정하지 않는다.
상기 구체적인 실시형태는 본 출원의 보호범위에 대한 한정이 아니다. 해당 분야 기술자들은 설계 요구와 기타 요소에 근거하여 여러 가지 수정, 조합, 하위 조합과 대체를 진행할 수 있다는 것을 명백하여야 한다. 본 출원의 정신과 원칙 내에서 진행한 그 어떤 수정, 균등한 대체와 개량은 모두 본 출원의 보호범위 내에 포함된다.

Claims (15)

  1. 요청 처리 방법에 있어서,
    콘텐츠 전송 네트워크CDN 요청을 수신하는 것;
    상기 네트워크CDN 요청과 대응되는, 미리 배치된 코드인 동적코드를 획득하는 것;
    상기 동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 획득하는 것; 및
    상기 컴파일 코드를 실행하는 것; 을 포함하는 것을 특징으로 하는 요청 처리 방법.
  2. 제1항에 있어서,
    상기 네트워크CDN 요청과 대응되는 동적코드를 획득하는 것은,
    상기 네트워크CDN 요청의 도메인 네임 정보에 근거하여, 상기 도메인 네임 정보와 대응되는 CDN 에지 노드에서 상기 동적코드를 획득하는 것을 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 획득하는 것은,
    상기 동적코드에 대해 정적 검출을 진행함으로써 상기 동적코드가 불안전 특징을 포함하는지 여부를 결정하는 것; 및
    정적 검출결과에 불안전 특징이 포함되지 않는 경우, 상기 동적코드에 대해 동적 계산을 진행하여 상기 컴파일 코드를 생성하는 것; 을 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 동적코드에 대해 동적 계산을 진행하여, 상기 컴파일 코드를 생성하는 것은,
    상기 네트워크CDN 요청을 실행하기 위한 JS 가상 컴퓨터를 셋업하는 것;
    상기 동적코드를 상기 JS 가상 컴퓨터에 가입하는 것; 및
    상기 동적코드에 대해 실시간 컴파일을 진행하여, 상기 컴파일 코드를 생성하는 것; 을 더 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 컴파일 코드를 실행하는 것은,
    상기 JS 가상 컴퓨터에서 상기 컴파일 코드를 실행하는 것을 포함하는 것을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 컴파일 코드를 실행하기 위한 리소스의 점유율을 검출하는 것; 및
    상기 점유율이 설정 임계값을 초과하는 경우, 상기 컴파일 코드를 실행을 종료하는 것; 을 더 포함하는 것을 특징으로 하는 방법.
  7. 요청 처리 장치에 있어서,
    콘텐츠 전송 네트워크CDN 요청을 수신하기 위한 요청 수신 모듈;
    상기 네트워크CDN 요청과 대응되는, 미리 배치된 코드인 동적코드를 획득하기 위한 획득 모듈;
    상기 동적코드에 대해 실시간 컴파일을 진행하여, 컴파일 코드를 획득하기 위한 컴파일 모듈; 및
    상기 컴파일 코드를 실행하기 위한 실행 모듈을 포함하는 것을 특징으로 하는 요청 처리 장치.
  8. 제7항에 있어서,
    상기 획득 모듈은 또한,
    상기 네트워크CDN 요청의 도메인 네임 정보에 근거하여, 상기 도메인 네임 정보와 대응되는 CDN 에지 노드에서 상기 동적코드를 획득하는데 사용되는 것을 특징으로 하는 장치.
  9. 제7항에 있어서,
    상기 컴파일 모듈은,
    상기 동적코드에 대해 정적 검출을 진행함으로써, 상기 동적코드가 불안전 특징을 포함하는지 여부를 확정하기 위한 검출 유닛; 및
    정적 검출결과에 불안전 특징이 포함되지 않는 경우, 상기 동적코드에 대해 동적 계산을 진행하여, 상기 컴파일 코드를 생성하기 위한 정적 검출 처리 유닛을 포함하는 것을 특징으로 하는 장치.
  10. 제9항에 있어서,
    상기 정적 검출 처리 유닛은,
    상기 네트워크CDN 요청을 실행하기 위한 JS 가상 컴퓨터를 셋업하기 위한 셋업 서브 유닛;
    상기 동적코드를 상기 JS 가상 컴퓨터에 가입시키기 위한 가입 서브 유닛; 및
    상기 동적코드에 대해 실시간 컴파일을 진행하여, 상기 컴파일 코드를 생성하기 위한 실시간 처리 서브 유닛을 더 포함하는 것을 특징으로 하는 장치.
  11. 제10항에 있어서,
    상기 실행 모듈은 또한,
    상기 JS 가상 컴퓨터에서 상기 컴파일 코드를 실행하는데 사용되는 것을 특징으로 하는 장치.
  12. 제7항 내지 제11항 중 어느 한 항에 있어서,
    상기 컴파일 코드를 실행하기 위한 리소스의 점유율을 검출하기 위한 점유율 검출 모듈; 및
    상기 점유율이 설정 임계값을 초과하는 경우, 상기 컴파일 코드를 실행을 종료하기 위한 실행 종료 모듈을 더 포함하는 것을 특징으로 하는 요청 처리 장치.
  13. 적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서와 통신 연결된 메모리를 포함하는 전자기기에 있어서,
    상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되어 있고, 상기 명령은 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서로 하여금 제1항 내지 제5항 중 임의의 한 항에 따른 방법을 수행할 수 있도록 하는 것을 특징으로 하는 전자기기.
  14. 컴퓨터 명령이 저장된 비일시적 컴퓨터 판독 가능 저장매체에 있어서,
    상기 컴퓨터 명령은 상기 컴퓨터로 하여금 제1항 내지 제5항 중 임의의 한 항에 따른 방법을 수행하도록 하는 것을 특징으로 하는 비일시적 컴퓨터 판독 가능 저장매체.
  15. 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램 중의 명령이 프로세서에 의해 실행될 경우, 제1항 내지 제5항 중 어느 한 항의 방법을 구현하는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
KR1020210038371A 2020-06-29 2021-03-24 요청 처리 방법,장치,기기, 컴퓨터 저장매체 및 컴퓨터 프로그램 KR102572013B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010603582.8A CN111770170B (zh) 2020-06-29 2020-06-29 请求处理方法、装置、设备和计算机存储介质
CN202010603582.8 2020-06-29

Publications (2)

Publication Number Publication Date
KR20210040333A true KR20210040333A (ko) 2021-04-13
KR102572013B1 KR102572013B1 (ko) 2023-08-29

Family

ID=72722909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210038371A KR102572013B1 (ko) 2020-06-29 2021-03-24 요청 처리 방법,장치,기기, 컴퓨터 저장매체 및 컴퓨터 프로그램

Country Status (5)

Country Link
US (1) US11689630B2 (ko)
EP (1) EP3872630B1 (ko)
JP (1) JP2021166060A (ko)
KR (1) KR102572013B1 (ko)
CN (1) CN111770170B (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101665008B1 (ko) * 2016-01-28 2016-10-24 한국과학기술정보연구원 데이터 분석 장치 및 방법
KR20170071360A (ko) * 2015-12-15 2017-06-23 삼성전자주식회사 사용자 단말장치, 서버, 및 그 어플리케이션 실행 방법
US20190272179A1 (en) * 2018-03-02 2019-09-05 Fastly, Inc. Isolating applications at the edge
WO2019214714A1 (zh) * 2018-05-11 2019-11-14 中兴通讯股份有限公司 一种视频播放控制方法、系统、节点和计算机存储介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7944100A (en) * 1999-10-25 2001-05-08 Sanctum Ltd. Method and system for verifying a client request
EP1463991A4 (en) * 2002-01-11 2008-08-06 Akamai Tech Inc JAVA APPLICATION FRAMEWORK FOR USE IN A CONTENT NETWORK (CDN)
US7660896B1 (en) * 2003-04-15 2010-02-09 Akamai Technologies, Inc. Method of load balancing edge-enabled applications in a content delivery network (CDN)
US8423662B1 (en) * 2003-04-28 2013-04-16 Akamai Technologies, Inc. Forward request queuing in a distributed edge processing environment
JP2005070884A (ja) 2003-08-28 2005-03-17 Ntt Docomo Inc 課金ポリシー生成装置、メタデータ配信サーバ、有料情報配信サーバ、有料情報配信システム、課金ポリシー生成方法、及び、有料情報課金方法
US8145521B2 (en) 2008-07-15 2012-03-27 Google Inc. Geographic and keyword context in embedded applications
CN102597993B (zh) * 2009-09-25 2014-03-12 国际商业机器公司 利用统一资源标识符管理应用状态信息
US20120089700A1 (en) * 2010-10-10 2012-04-12 Contendo, Inc. Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method
US8898780B2 (en) 2011-11-07 2014-11-25 Qualcomm Incorporated Encoding labels in values to capture information flows
US9128732B2 (en) * 2012-02-03 2015-09-08 Apple Inc. Selective randomization for non-deterministically compiled code
US9110751B2 (en) * 2012-02-13 2015-08-18 Microsoft Technology Licensing, Llc Generating and caching software code
US9237190B2 (en) * 2012-04-18 2016-01-12 Samsung Electronics Co., Ltd. Node and method for generating shortened name robust against change in hierarchical name in content-centric network (CCN)
US9992260B1 (en) * 2012-08-31 2018-06-05 Fastly Inc. Configuration change processing for content request handling in content delivery node
US10701148B2 (en) * 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US9841960B2 (en) * 2015-03-30 2017-12-12 Ca, Inc. Dynamic provision of debuggable program code
CN104935660B (zh) 2015-06-17 2018-11-06 北京智友信诚科技有限公司 一种云程序开发运行系统、方法及装置
US10666574B2 (en) 2015-09-28 2020-05-26 Amazon Technologies, Inc. Distributed stream-based database triggers
US9830449B1 (en) * 2015-12-16 2017-11-28 Amazon Technologies, Inc. Execution locations for request-driven code
US10754701B1 (en) * 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US10742596B2 (en) * 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10979439B1 (en) * 2018-03-02 2021-04-13 Amazon Technologies, Inc. Identity management for coordinated devices in a networked environment
US10872142B1 (en) * 2018-03-02 2020-12-22 Amazon Technologies, Inc. Localized identity management in limited communication networks
US10331462B1 (en) * 2018-11-06 2019-06-25 Cloudflare, Inc. Cloud computing platform that executes third-party code in a distributed cloud computing network
CN109885990B (zh) * 2019-03-11 2021-01-29 腾讯科技(深圳)有限公司 脚本管理方法
US11151009B2 (en) * 2019-07-25 2021-10-19 Deepfactor, Inc. Systems, methods, and computer-readable media for processing telemetry events related to operation of an application
CN110851135A (zh) * 2019-09-12 2020-02-28 中国平安财产保险股份有限公司 应用程序自动构建上传方法、装置及计算机设备、存储介质
CN110727504B (zh) * 2019-10-21 2022-04-22 百度在线网络技术(北京)有限公司 代码执行方法、装置和渲染设备
CN110944048B (zh) 2019-11-29 2022-06-24 腾讯科技(深圳)有限公司 业务逻辑配置方法及装置
CN111008019B (zh) * 2019-12-06 2021-07-02 北京百度网讯科技有限公司 小程序的Web化运行方法、装置、设备及介质
JP2023518258A (ja) * 2020-03-20 2023-04-28 セクション.アイオー インコーポレイテッド 適応エッジエンジンを利用して分散エッジコンピューティングシステムを管理するためのシステム、方法、コンピューティングプラットフォーム、および記憶媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170071360A (ko) * 2015-12-15 2017-06-23 삼성전자주식회사 사용자 단말장치, 서버, 및 그 어플리케이션 실행 방법
KR101665008B1 (ko) * 2016-01-28 2016-10-24 한국과학기술정보연구원 데이터 분석 장치 및 방법
US20190272179A1 (en) * 2018-03-02 2019-09-05 Fastly, Inc. Isolating applications at the edge
WO2019214714A1 (zh) * 2018-05-11 2019-11-14 中兴通讯股份有限公司 一种视频播放控制方法、系统、节点和计算机存储介质

Also Published As

Publication number Publication date
EP3872630A3 (en) 2021-11-17
EP3872630A2 (en) 2021-09-01
US20210274017A1 (en) 2021-09-02
KR102572013B1 (ko) 2023-08-29
US11689630B2 (en) 2023-06-27
CN111770170B (zh) 2023-04-07
CN111770170A (zh) 2020-10-13
EP3872630B1 (en) 2023-11-01
JP2021166060A (ja) 2021-10-14

Similar Documents

Publication Publication Date Title
CN109032706B (zh) 智能合约执行方法、装置、设备和存储介质
US11144711B2 (en) Webpage rendering method, device, electronic apparatus and storage medium
KR102220127B1 (ko) 커스터마이징된 소프트웨어 개발 키트(sdk) 생성을 위한 방법 및 장치
US10574724B2 (en) Automatic discovery of management nodes and generation of CLI using HA module
CN111400000B (zh) 网络请求处理方法、装置、设备和存储介质
EP2932390B1 (en) Inversion-of-control component service models for virtual environments
US10592399B2 (en) Testing web applications using clusters
KR102569210B1 (ko) 애플릿용 데이터 처리 방법, 장치, 기기 및 매체
CN109697121B (zh) 用于向应用分配处理资源的方法、设备和计算机可读介质
US11934287B2 (en) Method, electronic device and computer program product for processing data
KR102546577B1 (ko) 미니 프로그램 데이터 처리 방법 및 장치
KR20220151585A (ko) 업무 데이터 처리 방법, 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램
KR20220015323A (ko) 호스팅 애플리케이션의 컴파일 최적화 방법, 장치, 전자 기기 및 판독 가능 저장 매체
CN113050940A (zh) 小程序的预览方法、相关装置及计算机程序产品
CN113821352A (zh) 一种远程服务的调用方法和装置
CN112651741A (zh) 基于区块链的数据处理方法和装置
JP6088531B2 (ja) ローカルサーバーを通じたローカルクライアントアプリケーションのためのイベントサービス
CN112328301A (zh) 维护运行环境一致性的方法、装置、存储介质及电子设备
US9830307B1 (en) Ahead of time compilation of content pages
KR20210040322A (ko) 스케줄링 방법, 장치, 기기, 기록 매체 및 컴퓨터 프로그램
CN112491940B (zh) 代理服务器的请求转发方法及装置、存储介质及电子设备
KR20210040333A (ko) 요청 처리 방법,장치,기기, 컴퓨터 저장매체 및 컴퓨터 프로그램
CN110968497A (zh) 基于树形拦截器的请求校验方法、装置、介质及电子设备
CN115951884A (zh) 一种信息处理方法、装置及微前端架构系统
CN112860447A (zh) 一种不同应用间的交互方法和系统

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant