KR101889159B1 - 철강 공정 미들웨어의 이벤트 서비스 방법 및 프레임워크 시스템 - Google Patents

철강 공정 미들웨어의 이벤트 서비스 방법 및 프레임워크 시스템 Download PDF

Info

Publication number
KR101889159B1
KR101889159B1 KR1020160132929A KR20160132929A KR101889159B1 KR 101889159 B1 KR101889159 B1 KR 101889159B1 KR 1020160132929 A KR1020160132929 A KR 1020160132929A KR 20160132929 A KR20160132929 A KR 20160132929A KR 101889159 B1 KR101889159 B1 KR 101889159B1
Authority
KR
South Korea
Prior art keywords
event
subscription
task
service
information
Prior art date
Application number
KR1020160132929A
Other languages
English (en)
Other versions
KR20170047169A (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 주식회사 포스코
Priority to PCT/KR2016/011586 priority Critical patent/WO2017069468A1/ko
Priority to CN201680062015.8A priority patent/CN108140008B/zh
Publication of KR20170047169A publication Critical patent/KR20170047169A/ko
Application granted granted Critical
Publication of KR101889159B1 publication Critical patent/KR101889159B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/82Architectures of general purpose stored program computers data or demand driven
    • 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 방법은 태스크가 이벤트 서비스를 요구할 수 있도록 하는 응용 프로그래밍 인터페이스(API: Application Programming Interface) 라이브러리를 포함하는 태스크 응용 소프트웨어 및 이벤트 프레임워크가 수행하는 철강 공정 미들웨어의 이벤트 서비스 방법으로서, 상기 이벤트 서비스 요구에 서비스 핸들러가 응답하는 단계; 이벤트 ID 및 데이터의 크기를 정의한 이벤트 정의 정보에 기초하여 이벤트를 생성하는 단계; 및 상기 생성된 이벤트의 정보가 구독이 요구된 구독 이벤트의 정보와 일치하는 경우 이벤트 관리자의 매핑 데이터에 따라 상기 생성된 이벤트를 구독 이벤트로서 상기 구독 이벤트에 매핑(mapping)된 구독 태스크로 발송하는 단계를 포함한다.

Description

철강 공정 미들웨어의 이벤트 서비스 방법 및 프레임워크 시스템 {MTHOED AND FRAMEWORK SYSTEM FOR EVNET SERVICE OF STEEL PROCESS MIDDLEWARE}
본 발명은 철강 공정 미들웨어의 이벤트 서비스 방법 및 프레임워크 시스템에 관한 것이다.
철강 공정 제어 작업에서 미들웨어의 역할은 태스크의 요청을 받아 태스크 간의 통신이나 공정 제어에 관련된 정보의 저장 및 참조 등의 작업을 수행하고, 현재 수행중인 태스크를 관리하는 것이다.
이러한 태스크는 시스템 성능 및 안정성 향상을 위해 세분화된 공장 제어 기능을 독립적으로 전담하도록 한 응용 소프트웨어일 수 있다.
또한, 태스크는 협업을 위해 미들웨어에 이벤트 생성을 지시하고 이외의 태스크가 생성한 이벤트를 수신할 수 있다.
기존의 철강 공정 미들웨어의 이벤트 서비스 처리는 일대일 통신 방식으로 메시지 송수신을 통해 이루어졌으므로, 하나의 태스크가 복수개의 태스크들로 이벤트를 전달해야 하는 경우 처리시간이 길게 소요되는 단점을 가진다.
또한, 철강 공정 미들웨어는 수많은 태스크의 생성/삭제가 반복적으로 수행되고, 새로운 협업 체계가 추가되는 경우 추가된 새로운 협업 체계를 위한 이벤트 서비스를 위한 기능이 미들웨어에 추가되어야 하는 특징을 가지고 있다.
따라서, 철강 공정 미들웨어 개발자가 새로운 협업 체계에 따른 이벤트 서비스 방법 및 프로세스 개발 및 유지관리 환경을 제공하기 위한 프레임워크 시스템이 요구된다.
한국 공개특허공보 KR 10-2010-0076840
본 발명의 일 실시예에 따르면, 철강 공정 미들웨어의 이벤트 서비스의 처리 속도를 개선하고, 프로세스 개발과 유지관리 환경을 효율화 할 수 있는 프레임워크 시스템이 제공된다.
또한, 메시지 송수신을 통한 이벤트 서비스의 처리에 대해 호환성을 유지할 수 있다.
본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 방법은 태스크가 이벤트 서비스를 요구할 수 있도록 하는 응용 프로그래밍 인터페이스(API: Application Programming Interface) 라이브러리를 포함하는 태스크 응용 소프트웨어 및 이벤트 프레임워크가 수행하는 철강 공정 미들웨어의 이벤트 서비스 방법으로서, 상기 이벤트 서비스 요구에 서비스 핸들러가 응답하는 단계; 이벤트 ID 및 데이터의 크기를 정의한 이벤트 정의 정보에 기초하여 이벤트를 생성하는 단계; 및 상기 생성된 이벤트의 정보가 구독이 요구된 구독 이벤트의 정보와 일치하는 경우 이벤트 관리자의 매핑 데이터에 따라 상기 생성된 이벤트를 구독 이벤트로서 상기 구독 이벤트에 매핑(mapping)된 구독 태스크로 발송하는 단계를 포함한다.
또한, 본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템은 하나 이상의 프로세서로 구현되는 시스템으로서, 태스크가 이벤트 구독을 포함하는 이벤트 서비스를 요구할 수 있도록 하는 응용 프로그래밍 인터페이스(API: Application Programming Interface) 라이브러리를 포함하는 태스크 응용 소프트웨어; 및 이벤트 프레임워크를 포함하고, 상기 이벤트 프레임워크는, 상기 이벤트 서비스 요구에 응답하는 서비스 핸들러; 이벤트 ID 및 데이터의 크기를 정의하는 이벤트 정의 정보를 관리하고 구독이 요구된 구독 이벤트 및 해당 구독 태스크를 매핑(mapping)한 매핑 데이터를 관리하는 이벤트 관리자; 및 상기 이벤트 정의 정보에 기초하여 상기 서비스 핸들러가 생성한 이벤트의 정보가 상기 구독 이벤트의 정보와 일치하는 경우 상기 생성된 이벤트를 상기 구독 이벤트로서 상기 구독 태스크로 발송하는 이벤트 발송 인터페이스를 포함할 수 있다.
본 발명의 실시예에 따른 이벤트 서비스 방법 및 프레임워크 시스템은 철강 공정 미들웨어의 이벤트 서비스의 처리 속도를 개선하고, 효율적인 프로세스 개발과 유지관리 환경을 제공할 수 있다.
도 1의 (a)는 철강 공정 미들웨어의 일예의 이벤트 서비스 처리를 나타내는 개념도이다.
도 1의 (b)는 본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템을 이용한 이벤트 서비스 처리를 나타내는 개념도이다.
도 2는 본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템의 태스크 이벤트 응용 프로그래밍 인터페이스 라이브러리를 나타내는 표이다.
도 4는 본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템에 포함되는 이벤트 프레임워크를 구체적으로 나타내는 블록도이다.
도 5는 본 발명의 다른 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템을 나타내는 블록도이다.
도 6은 도 5의 프레임워크 시스템에서 처리되는 메모리 연동 서비스를 설명하기 위한 블록도이다.
도 7은 도 6의 메모리 연동 서비스를 설명하기 위한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 이벤트 서비스 프레임워크 시스템의 이벤트 생성 요청 처리의 단계를 나타내는 시퀀스 다이아그램이다.
도 9는 본 발명의 일 실시예에 따른 이벤트 서비스 프레임워크 시스템의 이벤트 수신 요청 처리의 단계를 나타내는 시퀀스 다이아그램이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 형태들을 설명한다.
그러나, 본 발명의 실시형태는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명하는 실시 형태로 한정되는 것은 아니다.
또한, 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.
본 실시예에서 사용되는 '~자'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~자'는 어떤 역할들을 수행한다. 그렇지만 '~자'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~자'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~자'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~자'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~자'들로 결합되거나 추가적인 구성요소들과 ' '~자'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~자'들은 디바이스 또는 시스템 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
도 1의 (a)는 철강 공정 미들웨어의 일예의 이벤트 서비스 처리를 나타내는 개념도이고, 도 1의 (b)는 본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템을 이용한 이벤트 서비스 처리를 나타내는 개념도이다.
도 1의 (a)를 참조하면, 철강 공정 미들웨어는 이벤트 서비스 처리를 일대일 통신으로 수행할 수 있다.
구체적으로 하나의 태스크A가 복수의 태스크B1 내지 태스크BN에 이벤트를 전달하는 경우, 미들웨어는 태스크A로부터 이벤트의 생성을 지시 받고 이벤트를 생성하여 태스크 B1에 이벤트를 전달한 후, 다시 태스크A로부터 이벤트의 생성을 지시 받고 이벤트를 생성하여 태스크B2에 이벤트를 전달하는 과정을 상기 이벤트를 태스크BN에 전달할 때까지 순차적으로 반복하게 된다.
반면, 도 1의 (b)를 참조하면, 본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템을 이용한 이벤트 처리는 태스크A에 의한 일회의 이벤트 생성 지시 후 모든 전송을 미들웨어가 일괄적으로 대행하는 것을 확인할 수 있다.
따라서, 본 발명의 일 실시예에 따른 이벤트 서비스 프레임워크 시스템을 채용한 철강 공정 미들웨어는 이벤트 서비스의 처리 속도가 개선될 수 있다.
도 2는 본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템을 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 철강 공정 미들웨어는 태스크 응용 소프트웨어(10), 및 이벤트 프레임워크(20)를 포함할 수 있다. 상기 태스크 응용 소프트웨어(10)는 복수의 태스크들(11 내지 1N), 및 응용 프로그램 인터페이스(API: Application Programming Interface) 라이브러리(100)를 포함할 수 있다. 상기 이벤트 프레임워크(20)는 복수의 서비스 핸들러(21 내지 2N), 이벤트 관리자(200), 및 이벤트 발송 인터페이스(300)를 포함할 수 있다.
또한, 설계에 따라 상기 이벤트 프레임워크(20)는 발송 이벤트큐 풀(400), 이벤트 서비스 모니터(500), 프레임워크 관리자(600), 및 저장장치(30) 중 하나 이상을 포함할 수 있다.
상기 복수의 태스크들(11 내지 1N)은 철강 공정을 동작시키기 위한 레벨 2 시스템의 철강 공정 운용 로직을 포함하는 응용 소프트웨어(software)들로서, 각각의 태스크는 이벤트 프레임워크(20)의 이벤트 서비스를 제공받기 위하여 해당 이벤트 서비스 실행 전용의 응용 프로그램 인터페이스를 호출할 수 있다. 여기서, 철강 공정 레벨 2 시스템은 태스크들(11 내지 1N)과 철강 공정 미들웨어를 활용하는 시스템으로, 철강 공정 레벨 1, 2, 3 시스템은 함께 철강 공정 자동화 시스템을 구성한다.
여기서, 상기 철강 공정 레벨 1 시스템은 철강 플랜트와 연결되는 생산 공정의 하부계층에서 단위 설비 제어, 시퀀스(sequence) 제어, 및 PID 제어를 수행한다. 이를 위해, 상기 철강 공정 레벨 1 시스템은 PLC(Programming Logic Controller), DCS(Distributed Control System), DDC(Digital Direct Controller), 및 계측기 등을 포함할 수 있다.
또한, 상기 철강 공정 레벨 3 시스템은 수주/발주 관리, 생산/공정관리, 및 품질 설계를 위한 비즈니스 시스템으로서, 전자적 자원 관리 시스템(ERP), 생산 실행 제조 시스템(MES)을 포함할 수 있다.
상기 응용 프로그램 인터페이스 라이브러리(100)는 미들웨어 서비스를 이용하여 로직(Logic)을 수행하는 동작 주체인 태스크의 요청에 따라 호출되는 프로그래밍 함수의 집합으로서, 각각의 태스크는 해당 응용 프로그램 인터페이스을 호출하여 이벤트 프레임워크(20)에 이벤트 서비스를 포함하는 다양한 서비스를 요구할 수 있다.
상기 응용 프로그래밍 인터페이스 라이브러리(100)는 상기 태스크가 이벤트 정의, 이벤트 구독, 이벤트 구독 해제, 이벤트 생성, 이벤트 수신, 이벤트 정의 삭제를 포함하는 이벤트 서비스를 이벤트 프레임워크(20)에 요구할 수 있는 응용 프로그래밍 인터페이스를 포함할 수 있다. 응용 인터페이스 라이브러리(100)가 포함할 수 있는 구체적인 응용 프로그래밍 인터페이스들의 실시 예는 도 3을 참조하여 후술하기로 한다.
복수의 서비스 핸들러(21 내지 2N)는 태스크 응용 소프트웨어(10)에 포함된 응용 프로그래밍 인터페이스들의 이벤트 서비스 요구에 응답하여 할당될 수 있다.
이벤트 관리자(200)는 이벤트 정의 정보를 관리하고 구독이 요구된 구독 이벤트 및 해당 구독 태스크를 매핑(mapping)한 매핑 데이터를 관리할 수 있다. 여기서, 관리란 관리의 대상을 생성, 삭제, 변경하는 것을 말한다. 여기서 이벤트 정의 정보는 이벤트 아이디(ID), 이벤트 서비스 처리를 위해 태스크로부터 이벤트 프레임워크(20, 도2)에 전달될 수 있는 가변형 데이터의 데이터 정보로 구성된다. 여기서 데이터 정보는 가변형 데이터의 크기를 나타낼 수 있다. 또한, 이벤트 관리자(200)는 서비스 핸들러(21 내지 2N)의 요청에 따라 상기 이벤트 정의 정보 및 매핑 데이터를 제공할 수 있다.
이벤트 발송 인터페이스(300)는 생성된 이벤트가 구독 이벤트인 경우 상기 매핑 데이터에 따라 상기 구독 이벤트를 해당 구독 태스크로 발송할 수 있다.
발송 이벤트큐 풀(400)은 상기 이벤트 발송 인터페이스에서 발송된 구독 이벤트가 상기 구독 태스크에 의해 수신될 때까지 대기하는 복수의 발송 이벤트큐를 포함할 수 있다.
이벤트 서비스 모니터(500)는 상기 구독 이벤트의 상태 정보를 상기 태스크 응용 소프트웨어에 전달하기 위해 상기 이벤트 관리자(200), 상기 이벤트 발송 인터페이스(300), 및 상기 발송 이벤트큐 풀(400)을 모니터링 할 수 있다.
프레임워크 관리자(600)는 상기 이벤트 프레임워크(20)의 실행시 가장 먼저 생성되고, 초기화 작업 후 이벤트 프레임워크(20)의 모든 구성요소들을 생성할 수 있고, 상기 이벤트 프레임워크(20)의 종료시 구성요소들에 할당된 자원을 회수할 수 있다.
저장장치(30)는 설정 데이터 목록(31)을 저장할 수 있고, 상기 설정 데이터 목록(31)은 이벤트 프레임워크(20)가 포함하는 구성요소들의 동작을 제어하는 설정값들을 보관하는 파일 데이터이다. 또한, 상기 설정 데이터 목록(31)은 이벤트 설정값, 구독 이벤트와 구독 태스크에 대한 매핑 데이터을 포함하는 이벤트 체계 정보를 포함할 수 있다.
상기 이벤트 관리자(200), 이벤트 발송 인터페이스(300), 및 발송 이벤트큐 풀(400)의 구체적인 실시예는 도 4를 참조하여 후술하기로 한다.
도 3은 본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템의 응용 프로그래밍 인터페이스 라이브러리를 나타내는 표이다.
도 3을 참조하면, 상기 응용 프로그래밍 인터페이스 라이브러리는 이벤트 정의, 이벤트 구독, 이벤트 구독 해제, 이벤트 생성, 이벤트 수신, 이벤트 정의 삭제, 태스크별 대기중 발송 이벤트수, 태스크별 대기중 발송 이벤트 리스트, 태스크별 구독 이벤트 리스트, 이벤트별 구독 태스크 리스트, 발송 이벤트큐 초기화, 이벤트 설정 추가, 이벤트 설정 삭제, 이벤트-구독태스크 설정 추가, 이벤트-구독태스크 설정 삭제, 및 이벤트 체계 설정을 포함하는 이벤트 서비스를 요구할 수 있는 응용 프로그래밍 인터페이스들을 포함할 수 있다.
이하 응용 프로그래밍 인터페이스들의 기능을 하나씩 살피면, 상기 이벤트 정의는 태스크간 협업을 결정하는데 사용되는 이벤트 정의 정보를 이벤트 프레임워크(20, 도 2)에 생성하도록 이벤트 관리자(200, 도 2)에 지시할 수 있다. 여기서 이벤트 정의 정보는 이벤트 ID, 이벤트 서비스 처리를 위해 태스크로부터 에이전트부(20, 도2)에 전달될 수 있는 가변형 데이터의 데이터 정보로 구성된다. 여기서 상기 데이터 정보는 상기 가변형 데이터의 크기를 나타낼 수 있다.
이벤트 구독은 구독 태스크가 수신을 요구하는 구독 이벤트의 정보를 상기 이벤트 프레임워크에 생성하도록 지시할 수 있다. 상기 이벤트 프레임워크는 생성된 이벤트의 정보와 구독 이벤트의 정보가 일치하는 경우 구독 태스크에 상기 구독 이벤트를 발송할 수 있다.
이벤트 구독 해제는 태스크의 로직 수행에 필요 없는 구독 이벤트에 대한 구독 해제를 상기 이벤트 프레임워크에 지시할 수 있다.
이벤트 생성은 이벤트 정의 정보에 기초하여 이벤트를 생성하고, 상기 이벤트 ID 및 관련된 가변형 데이터를 구독 태스크에 전달하도록 상기 이벤트 프레임워크에 지시할 수 있다. 상기 이벤트 생성은 상기 이벤트 정의에 의해 이벤트 프레임워크에 정의되어 있는 이벤트 정의 정보를 활용한다. 즉, 이벤트 생성에 의해 생성된 이벤트는 각각 이벤트 프레임워크에 생성되어 있는 이벤트 정의 정보 중 하나의 정보와 일치되어, 이벤트 ID를 가지고, 이에 대응하는 데이터의 크기를 가진다.
이벤트 수신은 구독 태스크가 구독 이벤트를 수신하기 위한 대기 상태임을 상기 이벤트 프레임워크에 알릴 수 있다.
이벤트 정의 삭제는 상기 이벤트 프레임워크가 관리하는 이벤트 정의 정보와 구독 이벤트 정보를 삭제하도록 상기 이벤트 프레임워크에 지시할 수 있다.
태스크별 대기중 발송 이벤트수는 구독 태스크를 위한 발송 이벤트큐 풀(400, 도2)에 저장되어 있는 이벤트들의 수를 상기 이벤트 프레임워크에 요청할 수 있다.
태스크별 대기중 발송 이벤트 리스트는 구독 태스크를 위한 상기 발송 이벤트 큐 풀에 저장되어 있는 이벤트들에 대한 정보를 상기 이벤트 프레임워크에 요청할 수 있다.
태스크별 구독 이벤트 리스트는 구독 태스크가 구독하기로 결정한 구독 이벤트들에 대한 정보를 상기 이벤트 프레임워크에 요청할 수 있다.
이벤트별 구독 태스크 리스트는 구독 이벤트에 대한 구독 태스크들에 대한 정보를 상기 이벤트 프레임워크에 요청할 수 있다.
발송 이벤트큐 초기화는 상기 발송 이벤트큐 풀이 포함하는 복수의 발송 이벤트큐의 내용을 모두 삭제하여 초기화하도록 이벤트 프레임워크에 지시할 수 있다.
이벤트 설정 추가 및 이벤트 설정 삭제는 저장장치(30 도2)에 저장되어 있는 설정 데이터 목록(31, 도2)에 이벤트 설정값을 추가 및 삭제하도록 상기 이벤트 프레임워크에 지시할 수 있다.
이벤트-구독 태스크 설정 추가 및 이벤트-구독 태스크 설정 삭제는 상기 저장장치에 저장되어 있는 상기 설정 데이터 목록에 포함된 구독 이벤트와 구독 태스크에 대한 매핑 데이터를 수정하도록 상기 이벤트 프레임워크에 지시할 수 있다.
이벤트 체계 설정은 상기 이벤트 프레임워크의 이벤트 관리자(200, 도2)에 이벤트 체계를 재구성하도록 지시할 수 있다.
이러한 응용 프로그래밍 인터페이스들을 포함하는 응용 프로그래밍 인터페이스 라이브러리는 철강 공정 미들웨어 개발자에게 효율적인 프로세스 개발과 유지관리 환경을 제공할 수 있다.
도 4는 본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템에 포함되는 이벤트 프레임워크를 구체적으로 나타내는 블록도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템이 포함하는 이벤트 정보 관리자(200), 이벤트 발송 인터페이스(300), 및 발송 이벤트큐 풀(400)의 구체적인 실시예를 확인할 수 있다.
이벤트 관리자(200)는 이벤트체계 접근조정자(210), 이벤트 설정데이터 관리자(220), 이벤트 정의 관리자(230), 구독 태스크-이벤트 맵퍼(240), 및 이벤트-구독 태스크 맵퍼(250)를 포함할 수 있다.
이벤트 발송 인터페이스(300)는 임시대기큐 관리자(310), 복수의 임시대기큐 접근조정자(311, 312, 313), 복수의 임시대기큐(321, 322, 323), 이벤트 발송자 관리자(330), 복수의 이벤트 발송자(331, 332, 333)를 포함할 수 있고, 임시대기큐 선택자(340)를 포함할 수 있다.
발송 이벤트큐 풀(400)은 복수의 발송 이벤트큐 관리자(410, 420, 430) 복수의 발송 이벤트큐 접근조정자(411, 421, 431), 및 복수의 발송 이벤트큐(412, 422, 432)를 포함할 수 있다.
도 4에서는 복수의 구성요소를 세 개씩 도시하였으나 이는 설명을 위한 도시일 뿐 본 발명의 범위를 한정하는 것은 아니며, 이벤트 프레임워크(20)의 이벤트 서비스의 처리 동작에 따라 그 수는 가변될 수 있다. 복수의 구성요소는 각각이 동일한 기능을 수행할 수 있으므로 하나의 구성요소를 가정하여 설명하도록 한다.
이벤트체계 접근조정자(210)는 이벤트 정의 정보 및 구독 이벤트 및 해당 구독 태스크를 매핑(mapping)한 매핑 데이터의 정합성을 보장하기 위해 서비스 핸들러들(21 내지 2N)이 이벤트 정의 정보 및 상기 매핑 데이터를 추가/삭제/조회하는 경우 이벤트 정의 정보 및 상기 매핑 데이터에 대한 접근 권한을 부여할 수 있다.
이벤트 설정데이터 관리자(220)는 저장장치(30)에 저장된 이벤트 설정값, 구독 및 이벤트와 구독 태스크에 대한 매핑 데이터을 획득하거나 수정할 수 있다.
이벤트 정의 관리자(230)는 이벤트 설정데이터 관리자(220)가 획득한 이벤트 설정값을 전달 받아 이벤트 정의 정보를 생성하거나, 태스크 응용 소프트웨어(10)의 응용 프로그램 인터페이스의 요구에 의해 이벤트 정의 정보를 생성, 삭제할 수 있다.
구독 태스크-이벤트 맵퍼(240)는 태스크 데이터에 우선순위를 가지는 매핑 데이터를 관리할 수 있다. 즉, 검색하고자 하는 구독 태스크에 매핑된 구독 이벤트를 조회할 수 있도록 매핑 데이터를 관리할 수 있다.
이벤트-구독 태스크 맵퍼(250)는 이벤트 데이터에 우선순위를 가지는 매핑 데이터를 관리할 수 있다. 즉, 검색하고자 하는 구독 이벤트에 매핑된 구독 태스크를 조회할 수 있도록 매핑 데이터를 관리할 수 있다.
임시대기큐 관리자(310)는 이벤트들이 임시로 저장되는 임시대기큐(321)를 생성/삭제할 수 있고, 임시대기큐(321)의 상태 정보를 관리할 수 있다.
임시대기큐 접근조정자(311)는 임시대기큐 관리자(310)와 이벤트 발송자(331)가 동시에 임시대기큐(321)에 접근하는 경우를 방지하여 임시대키큐 저장된 구독 이벤트의 정합성을 유지하기 위해 접근권한을 조정할 수 있다.
임시대기큐(321)는 이벤트 발송자(331)에 대응되도록 생성되어 구독 이벤트를 일시적으로 저장할 수 있다. 이벤트 발송자(331)는 상기 구독 이벤트를 해당 구독 태스크로 발송할 수 있다.
이벤트 발송자 관리자(330)는 이벤트 발송자(331)를 생성/삭제할 수 있고, 이벤트 발송자(331)의 상태 정보를 관리할 수 있다.
임시대기큐 선택자(340)는 임시대기큐 관리자(310)로부터 임시대기큐(321)의 상태 정보를 획득하고, 구독 이벤트의 발송을 실행하는 이벤트 발송자(331)를 결정한다. 이후, 서비스 핸들러(21 내지 2N)는 임시대기큐(321)에 구독 이벤트를 저장한 후, 이벤트 발송자 관리자(330)에게 발송처리를 요청할 수 있다.
발송 이벤트큐 관리자(410)는 발송 이벤트큐(412)의 상태 정보를 관리할 수 있다. 발송 이벤트큐 접근조정자(411)는 서비스 핸들러와 이벤트 발송자(301)가 동시에 접근하는 경우를 방지하여 발송 이벤트큐(412)에 저장된 구독 이벤트의 정합성을 유지하기 위해 접근권한을 조정할 수 있다.
발송 이벤트큐(412)는 이벤트 발송 인터페이스(300)에서 발송된 구독 이벤트가 구독 태스크에 의해 수신될 때까지 대기하도록 상기 구독 이벤트를 저장할 수 있다.
한편, 구독 이벤트는 가변형 이벤트 메시지(40)가 될 수 있고, 가변형 이벤트 메시지(40)는 이벤트 ID 및 가변형 데이터를 포함할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템을 나타내는 블록도이다.
도 5에 도시한 프레임워크 시스템은 도 2에 도시한 프레임워크 시스템과 비교하여 메시지 송수신을 위한 응용 프로그램 인터페이스, 연동 인터페이스(700), 메시지 관리자(800), 메모리 관리자(900)를 더 포함한다.
이외의 구성은 도 2를 참조하여 설명한 프레임워크 시스템을 통해 이해될 수 있으므로 중복하는 설명은 생략한다.
도 5에 도시한 바와 같이, 응용 프로그램 인터페이스 라이브러리(100)는 태스크가 이외의 객체(예를 들어, 이벤트 프레임워크(20))와 메시지 송수신을 가능하도록 메시지 송신, 메시지 수신의 기능을 수행하는 응용 프로그래밍 인터페이스를 포함할 수 있다.
또한, 복수의 서비스 핸들러(21 내지 2N)는 태스크 응용 소프트웨어(10)에 포함된 응용 프로그래밍 인터페이스들의 이벤트 서비스 요구에 응답하여 할당될 수 있다. 여기서 상기 이벤트 서비스 요구 이벤트 구독, 생성 등의 응용 프로그래밍 인터페이스를 통해 이루어 질 수 있거나, 메시지 송수신을 통해 이루어질 수도 있다.
구체적으로, 태스크(11 내지 1N)으로부터 메시지가 이벤트 프레임워크(20)에 수신되고, 이에 대하여 서비스 핸들러(21 내지 2N)가 응답한 후, 이벤트 프레임워크(20)에 의해 이벤트 생성 및 구독 이벤트의 발송이 이루어 질 수 있다.
또한, 상기 구독 이벤트의 발송은 이벤트 발송 인터페이스(300)를 통해 수행될 수 있고, 메시지의 형태로 변환되어 구독 태스크에 송신되는 것으로 수행될 수 있다.
즉, 또한, 태스크(11 내지 1N)으로부터 이벤트 생성이 요구되고, 이에 대하여 서비스 핸들러(21 내지 2N)가 응답한 후, 이벤트 프레임워크(20)는 생성한 이벤트를 메시지의 형태로 변환하여 구독 태스크로 송신할 수 있다.
이를 위해, 연동 인터페이스(700)는 메시지 송수신과 이벤트 생성 및 구독 이벤트 발송을 포함하는 이벤트 서비스 처리를 연동하기 위해 서비스 핸들러(21 내지 2N)와 이벤트 관리자(200), 메시지 관리자(800), 및 메모리 관리자(900)를 연결한다. 또한, 메시지 관리자(800)는 연동 인터페이스(700)의 지시에 따라 메시지 송수신을 제어할 수 있다.
메모리 관리자(900)는 이벤트 프레임워크(20)가 제공하는 메모리 연동 서비스를 위한 구성으로 이에 대하여 도 6을 참조하여 살펴보기로 한다.
도 6은 도 5의 프레임워크 시스템에서 처리되는 메모리 연동 서비스를 설명하기 위한 블록도이다.
도 6를 참조하면, 단위 설비 제어를 위한 PLC는 철강 공정 레벨 1 시스템에 포함되는 구성으로 상기 PLC의 메모리는 태스크 응용 소프트웨어를 통해 감시될 수 있다. 태스크 응용 소프트웨어는 이벤트 서비스 요구를 수행할 수 있고, 이때 상기 PLC의 메모리 정보는 응용 프로그램 인터페이스 라이브러리(100)를 통해 메시지에 포함되어 이벤트 프레임워크(20)에 송신될 수 있다. 또한, 상기 메시지는 태스크 ID를 포함할 수 있다.
상기 메모리 정보가 포함된 서비스 요구에 대하여 서비스 핸들러(21)가 응답할 수 있다.
메모리 정보는 메시지의 형태로 프레임워크(20)에 수신되었으므로 연동 인터페이스(700)는 메모리 연동 서비스를 수행하기 위해 메시지 관리자(800)에 상기 메모리 정보를 전달하고, 메시지 관리자(800)는 상기 메모리 정보를 메모리 관리자(900)에 전달할 수 있다.
메모리 관리자(900)는 상기 PLC의 메모리 정보를 보관하고, 새로운 메모리 정보가 메시지 관리자(800)로부터 전달된 경우, 새로운 메모리 정보(920)와 기저장된 메모리 정보(910)를 비교하여 이벤트 기준에 충족되는지 여부를 판단할 수 있다. 또한, 이벤트 기준에 충족되는 경우, 메모리 관리자(900)는 생성될 이벤트의 정보를 서비스 핸들러에 전달하고 이벤트 생성을 지시할 수 있다. 이후, 상기 이벤트의 정보를 전달받은 서비스 핸들러는 이벤트를 생성할 수 있다.
도 7은 도 6의 메모리 연동 서비스를 설명하기 위한 흐름도이다.
먼저, 태스크 응용 소프트웨어는 PLC의 메모리 영역의 변화 감지할 수 있고(S710), 응용 프로그램 인터페이스 라이브러리(100)를 통해 프레임 워크에 서비스를 요구할 수 있다. 상기 서비스 요구는 상기 메모리 영역 변화에 대한 정보인 메모리 정보를 포함하는 메시지의 형태로 이벤트 프레임워크(20)에 송신함으로써 이루어진다(S720). 이후, 상기 서비스 요구에 대하여 서비스 핸들러가 응답한다(S730).
다음으로, 상기 서비스 요구가 메모리 연동 서비스 요구인지 판단하고(S740), 메모리 연동 서비스 요구인 경우, 상기 메모리 정보를 지저장된 메모리 정보와 비교한다(S750). 상기 비교의 결과가 이벤트 기준을 충족하지 않는 경우 상기 메모리 정보를 업데이트하고(S754), 이벤트 기준을 충족하는 경우 이벤트 서비스인지 판단한다(S760).
이벤트 서비스인 경우, 구독 이벤트 발송을 위해 이벤트 생성 요청이 수행될 수 있고(S770), 이벤트 서비스가 아닌 경우, 메시지를 송신하기 위해 메시지 처리가 수행될 수 있다(S780).
도 8은 본 발명의 일 실시예에 따른 이벤트 서비스 프레임워크 시스템의 이벤트 생성 요청 처리의 단계를 나타내는 시퀀스 다이아그램이다. 도 8은 일 예일 뿐이고 본 발명을 제한하지 않는다.
도 8을 참조하면, 태스크가 서비스 핸들러에게 이벤트 생성의 이벤트 서비스를 요청하면(S510), 상기 서비스 핸들러는 이벤트 정의 관리자에게 이벤트 정의 정보 요청을 할 수 있고(S531), 이벤트 정의 정보 응답을 받을 수 있다(S532). 선택적으로, 이벤트 정의 정보의 데이터 정합성이 보장하기 위해, 상기 서비스 핸들러는 이벤트 정의 정보 요청 이전에 이벤트체계 접근조정자에게 이벤트 정의 정보 접근 요청을 할 수 있고(S521), 이벤트 정의 정보 접근 허가를 받을 수 있다(S522).
서비스 핸들러는 상기 이벤트 정의 정보를 활용하여 이벤트 정의 정보 중 하나와 일치하는 정보를 가지는 이벤트를 생성한다.
또한, 서비스 핸들러는 임시대기큐 선택자에게 대기큐 할당을 요청한다(S541). 이에 따라, 임시대기큐 선택자는 임시대기큐 관리자에게 대기큐 정보를 요청할 수 있고(S542), 대기큐 정보 응답을 받을 수 있다(S543). 임시대기큐 선택자는 상기 대기큐 정보 응답에 따라 임시대기큐의 상태 정보를 획득할 수 있고, 구독 이벤트 발송을 실행하는 이벤트 발송자를 결정할 수 있다. 이후, 임시대기큐 선택자는 서비스 핸들러에게 대기큐 할당 완료를 회신할 수 있다(S544).
대기큐 할당 완료를 회신받은 후, 서비스 핸들러는 생성 요구된 이벤트를 구독 이벤트로서 임시대기큐에 저장할 수 있다. 이후, 서비스 핸들러는 이벤트 발송자 관리자에게 구독 이벤트 처리를 요청하고(S561), 구독 이벤트 처리 응답을 받을 수 있다(S562). 한편, 서비스 핸들러와 이벤트 발송자가 임시대기큐에 동시에 접근할 수 있기 때문에, 임시대기큐에 대한 데이터 정합성을 보장하기 위해, 상기 서비스 핸들러는 생성 요구된 이벤트를 구독 이벤트로서 임시대기큐에 저장하기 이전에 임시대기큐 접근조정자에게 임시대기큐 접근 요청을 할 수 있고(S551), 임시대기큐 접근 허가를 받을 수 있다(S552).
구독 이벤트 처리 응답을 받을 이후에, 서비스 핸들러는 태스크에 이벤트 생성 완료를 회신할 수 있다(S570).
또한, 구독 이벤트 처리 응답 이후에, 이벤트 발송자 관리자는 이벤트 발송자에게 발송처리 요청을 할 수 있다(S580).
따라서, 본 발명의 일 실시 예에 따른 이벤트 서비스 프레임워크는 일회의 이벤트 생성을 요청에 따라 일괄적으로 발송 가능한 구독 이벤트를 저장하고 이벤트 생성 완료를 회신할 수 있다. 이에 따라, 이벤트 생성을 요청한 태스크의 이벤트 생성 완료에 대한 응답 대기시간이 단축될 수 있다.
도 9는 본 발명의 일 실시예에 따른 이벤트 서비스 프레임워크 시스템의 이벤트 수신 요청 처리의 단계를 나타내는 시퀀스 다이아그램이다. 도 9는 일 예일 뿐이고 본 발명을 제한하지 않는다.
도 9를 참조하면, 태스크가 서비스 핸들러에게 이벤트 수신의 이벤트 서비스를 요청하면(S610), 상기 서비스 핸들러는 발송 이벤트큐 접근조정자에게 구독 이벤트 확인 요청을 할 수 있고(S621), 구독 이벤트 응답을 받을 수 있다. 해당하는 구독 이벤트가 없는 경우, 즉, 이벤트 발송자가 발송처리 요청 대기중이라면, 발송 이벤트큐 접근조정자는 구독 이벤트 확인 요청에 대해서 구독 이벤트 부정 응답을 회신할 수 있다(S622).
도 8에서 설명한 바와 같이 이벤트 발송자가 이벤트 발송자 관리자로부터 발송처리 요청을 받은 경우(S580), 이벤트 발송자는 임시대기큐에 저장된 구독 이벤트를 가져올 수 있다. 이는 구독 이벤트의 정보 및 데이터를 복사하는 형태로 이루어 질 수 있다. 한편, 임시대기큐에 대한 데이터 정합성을 보장하기 위해, 상기 서비스 핸들러는 구독 이벤트를 가져오기 이전에 임시대기큐 접근조정자에게 임시대기큐 접근 요청을 할 수 있고(S631), 임시대기큐 접근 허가를 받을 수 있다(S632).
다음으로, 이벤트 발송자는 발송 이벤트큐 접근조정자에게 발송 이벤트큐 접근요청을 할 수 있고(S641), 발송 이벤트큐 접근허가를 받을 수 있다(S642).
이후, 이벤트 발송자는 구독 이벤트를 발송 이벤트큐에 저장하고, 발송 이벤트큐 접근조정자에 구독 이벤트 저장 상태를 전달할 수 있다(S650).
구독 이벤트가 발송 이벤트큐에 저장된 후, 발송 이벤트큐 접근조정자는 서비스 핸들러(S660)에 구독 이벤트를 알릴 수 있다.
또한, 상기 서비스 핸들러가 발송 이벤트큐 접근조정자에게 구독 이벤트 확인 요청을 한 경우(S621'), 발송 이벤트큐 접근조정자는 서비스 핸들러에 긍정 응답을 회신할 수 있다(S670).
다음으로, 서비스 핸들러는 이벤트 수신 요청에 대한 이벤트 수신 응답을 회신할 수 있다(S680). 즉, 이벤트 수신 요청을 한 태스크는 구독 태스크를 수신 받을 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고 후술하는 특허청구범위에 의해 한정되며, 본 발명의 구성은 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 그 구성을 다양하게 변경 및 개조할 수 있다는 것을 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다.
10: 태스크 응용 소프트웨어
20: 이벤트 프레임워크
100: 응용 프로그램 인터페이스 라이브러리
200: 이벤트 관리자
300: 이벤트 발송 인터페이스
400: 발송 이벤트큐 풀
500: 이벤트 서비스 모니터

Claims (14)

  1. 삭제
  2. 태스크가 이벤트 서비스를 요구할 수 있도록 하는 응용 프로그래밍 인터페이스(API: Application Programming Interface) 라이브러리를 포함하는 태스크 응용 소프트웨어 및 이벤트 프레임워크가 수행하는 철강 공정 미들웨어의 이벤트 서비스 방법으로서,
    상기 이벤트 서비스 요구에 서비스 핸들러가 응답하는 단계;
    이벤트 ID 및 데이터의 크기를 정의한 이벤트 정의 정보에 기초하여 이벤트를 생성하는 단계; 및
    상기 생성된 이벤트의 정보가 구독이 요구된 구독 이벤트의 정보와 일치하는 경우, 이벤트 관리자의 매핑 데이터를 참조하여 상기 구독 이벤트에 매핑(mapping)된 구독 태스크로 상기 생성된 이벤트를 구독 이벤트로서 발송하는 단계;
    를 포함하고,
    상기 이벤트를 생성하는 단계는,
    상기 서비스 요구에 메모리 정보가 포함된 경우, 메모리 관리자가 상기 메모리 정보와 기저장된 메모리 정보를 비교하여 이벤트 기준 충족 여부를 판단하는 단계; 및
    상기 이벤트 기준을 충족하는 경우, 상기 서비스 핸들러가 이벤트 ID 및 데이터의 크기를 정의한 이벤트 정의 정보에 기초하여 이벤트를 생성하는 단계
    를 포함하는 철강 공정 미들웨어의 이벤트 서비스 방법.
  3. 태스크가 이벤트 서비스를 요구할 수 있도록 하는 응용 프로그래밍 인터페이스(API: Application Programming Interface) 라이브러리를 포함하는 태스크 응용 소프트웨어 및 이벤트 프레임워크가 수행하는 철강 공정 미들웨어의 이벤트 서비스 방법으로서,
    상기 이벤트 서비스 요구에 서비스 핸들러가 응답하는 단계;
    이벤트 ID 및 데이터의 크기를 정의한 이벤트 정의 정보에 기초하여 이벤트를 생성하는 단계; 및
    상기 생성된 이벤트의 정보가 구독이 요구된 구독 이벤트의 정보와 일치하는 경우, 이벤트 관리자의 매핑 데이터를 참조하여 상기 구독 이벤트에 매핑(mapping)된 구독 태스크로 상기 생성된 이벤트를 구독 이벤트로서 발송하는 단계;
    를 포함하고,
    상기 구독 태스크로 발송하는 단계는,
    상기 구독 이벤트를 이벤트 발송 인터페이스를 통해 발송하거나, 메시지의 형태로 변환하여 발송하는 단계인 철강 공정 미들웨어의 이벤트 서비스 방법.
  4. 제3항에 있어서, 상기 이벤트 발송 인터페이스는
    상기 구독 이벤트를 해당 구독 태스크로 발송하는 이벤트 발송자; 및
    상기 이벤트 발송자에 대응되도록 생성되어 상기 구독 이벤트를 일시적으로 저장하는 임시 대기큐
    를 포함하는 철강 공정 미들웨어의 이벤트 서비스 방법.
  5. 태스크가 이벤트 서비스를 요구할 수 있도록 하는 응용 프로그래밍 인터페이스(API: Application Programming Interface) 라이브러리를 포함하는 태스크 응용 소프트웨어 및 이벤트 프레임워크가 수행하는 철강 공정 미들웨어의 이벤트 서비스 방법으로서,
    상기 이벤트 서비스 요구에 서비스 핸들러가 응답하는 단계;
    이벤트 ID 및 데이터의 크기를 정의한 이벤트 정의 정보에 기초하여 이벤트를 생성하는 단계; 및
    상기 생성된 이벤트의 정보가 구독이 요구된 구독 이벤트의 정보와 일치하는 경우, 이벤트 관리자의 매핑 데이터를 참조하여 상기 구독 이벤트에 매핑(mapping)된 구독 태스크로 상기 생성된 이벤트를 구독 이벤트로서 발송하는 단계;
    를 포함하고,
    상기 이벤트 관리자는
    상기 이벤트 정의 정보를 생성, 삭제하는 이벤트 정의 관리자; 및
    태스크 데이터가 우선순위를 가지는 매핑 데이터를 관리하는 구독 태스크-이벤트 맵퍼; 및
    이벤트 데이터가 우선순위를 가지는 매핑 데이터를 관리하는 이벤트-구독 태스크 맵퍼
    를 포함하는 철강 공정 미들웨어의 이벤트 서비스 방법.
  6. 삭제
  7. 하나 이상의 프로세서로 구현되는 시스템으로서, 태스크가 이벤트 서비스를 요구할 수 있도록 하는 응용 프로그래밍 인터페이스(API: Application Programming Interface) 라이브러리를 포함하는 태스크 응용 소프트웨어 및 이벤트 프레임워크를 포함하고, 상기 이벤트 프레임워크는,
    상기 이벤트 서비스 요구에 응답하는 서비스 핸들러;
    이벤트 ID 및 데이터의 크기를 정의하는 이벤트 정의 정보를 관리하고 구독이 요구된 구독 이벤트의 정보 및 해당 구독 태스크를 매핑(mapping)한 매핑 데이터를 관리하는 이벤트 관리자; 및
    상기 이벤트 정의 정보에 기초하여 상기 서비스 핸들러가 생성한 이벤트의 정보가 상기 구독 이벤트의 정보와 일치하는 경우 상기 생성된 이벤트를 상기 구독 이벤트로서 상기 구독 태스크로 발송하는 이벤트 발송 인터페이스
    를 포함하고,
    상기 서비스 요구에 메모리 정보가 포함된 경우, 메모리 관리자가 상기 메모리 정보와 기저장된 메모리 정보를 비교하여 이벤트 기준 충족 여부를 판단하고 이벤트 생성을 지시하는 메모리 관리자
    를 더 포함하는 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템.
  8. 하나 이상의 프로세서로 구현되는 시스템으로서, 태스크가 이벤트 서비스를 요구할 수 있도록 하는 응용 프로그래밍 인터페이스(API: Application Programming Interface) 라이브러리를 포함하는 태스크 응용 소프트웨어 및 이벤트 프레임워크를 포함하고, 상기 이벤트 프레임워크는,
    상기 이벤트 서비스 요구에 응답하는 서비스 핸들러;
    이벤트 ID 및 데이터의 크기를 정의하는 이벤트 정의 정보를 관리하고 구독이 요구된 구독 이벤트의 정보 및 해당 구독 태스크를 매핑(mapping)한 매핑 데이터를 관리하는 이벤트 관리자; 및
    상기 이벤트 정의 정보에 기초하여 상기 서비스 핸들러가 생성한 이벤트의 정보가 상기 구독 이벤트의 정보와 일치하는 경우 상기 생성된 이벤트를 상기 구독 이벤트로서 상기 구독 태스크로 발송하는 이벤트 발송 인터페이스
    를 포함하고,
    상기 구독 이벤트를 메시지의 형태로 변환하여 발송하는 메시지 관리자를 더 포함하는 공정 미들웨어의 이벤트 서비스 프레임워크 시스템.
  9. 하나 이상의 프로세서로 구현되는 시스템으로서, 태스크가 이벤트 서비스를 요구할 수 있도록 하는 응용 프로그래밍 인터페이스(API: Application Programming Interface) 라이브러리를 포함하는 태스크 응용 소프트웨어 및 이벤트 프레임워크를 포함하고, 상기 이벤트 프레임워크는,
    상기 이벤트 서비스 요구에 응답하는 서비스 핸들러;
    이벤트 ID 및 데이터의 크기를 정의하는 이벤트 정의 정보를 관리하고 구독이 요구된 구독 이벤트의 정보 및 해당 구독 태스크를 매핑(mapping)한 매핑 데이터를 관리하는 이벤트 관리자; 및
    상기 이벤트 정의 정보에 기초하여 상기 서비스 핸들러가 생성한 이벤트의 정보가 상기 구독 이벤트의 정보와 일치하는 경우 상기 생성된 이벤트를 상기 구독 이벤트로서 상기 구독 태스크로 발송하는 이벤트 발송 인터페이스
    를 포함하고,
    상기 응용 프로그래밍 인터페이스 라이브러리는
    상기 태스크가 상기 이벤트 정의 정보를 생성하는 이벤트 정의, 이벤트 구독, 이벤트 구독 해제, 상기 이벤트 정의 정보에 기초한 이벤트 생성, 이벤트 수신, 이벤트 정의 삭제를 포함하는 이벤트 서비스를 요구할 수 있는 응용 프로그래밍 인터페이스를 제공하는 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템.
  10. 하나 이상의 프로세서로 구현되는 시스템으로서, 태스크가 이벤트 서비스를 요구할 수 있도록 하는 응용 프로그래밍 인터페이스(API: Application Programming Interface) 라이브러리를 포함하는 태스크 응용 소프트웨어 및 이벤트 프레임워크를 포함하고, 상기 이벤트 프레임워크는,
    상기 이벤트 서비스 요구에 응답하는 서비스 핸들러;
    이벤트 ID 및 데이터의 크기를 정의하는 이벤트 정의 정보를 관리하고 구독이 요구된 구독 이벤트의 정보 및 해당 구독 태스크를 매핑(mapping)한 매핑 데이터를 관리하는 이벤트 관리자; 및
    상기 이벤트 정의 정보에 기초하여 상기 서비스 핸들러가 생성한 이벤트의 정보가 상기 구독 이벤트의 정보와 일치하는 경우 상기 생성된 이벤트를 상기 구독 이벤트로서 상기 구독 태스크로 발송하는 이벤트 발송 인터페이스
    를 포함하고,
    상기 이벤트 관리자는
    상기 이벤트 정의 정보를 생성, 삭제하는 이벤트 정의 관리자; 및
    태스크 데이터가 우선순위를 가지는 매핑 데이터를 관리하는 구독 태스크-이벤트 맵퍼; 및
    이벤트 데이터가 우선순위를 가지는 매핑 데이터를 관리하는 이벤트-구독 태스크 맵퍼
    를 포함하는 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템.
  11. 하나 이상의 프로세서로 구현되는 시스템으로서, 태스크가 이벤트 서비스를 요구할 수 있도록 하는 응용 프로그래밍 인터페이스(API: Application Programming Interface) 라이브러리를 포함하는 태스크 응용 소프트웨어 및 이벤트 프레임워크를 포함하고, 상기 이벤트 프레임워크는,
    상기 이벤트 서비스 요구에 응답하는 서비스 핸들러;
    이벤트 ID 및 데이터의 크기를 정의하는 이벤트 정의 정보를 관리하고 구독이 요구된 구독 이벤트의 정보 및 해당 구독 태스크를 매핑(mapping)한 매핑 데이터를 관리하는 이벤트 관리자; 및
    상기 이벤트 정의 정보에 기초하여 상기 서비스 핸들러가 생성한 이벤트의 정보가 상기 구독 이벤트의 정보와 일치하는 경우 상기 생성된 이벤트를 상기 구독 이벤트로서 상기 구독 태스크로 발송하는 이벤트 발송 인터페이스
    를 포함하고,
    상기 이벤트 프레임워크는
    상기 이벤트 발송 인터페이스에서 발송된 상기 구독 이벤트가 상기 구독 태스크에 의해 수신될 때까지 대기하는 복수의 발송 이벤트큐를 포함하는 발송 이벤트큐 풀을 더 포함하는 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템.
  12. 제11항에 있어서, 상기 이벤트 프레임워크는
    상기 구독 이벤트의 상태 정보를 상기 태스크 응용 소프트웨어에 전달하기 위해 상기 이벤트 관리자, 상기 이벤트 발송 인터페이스, 및 상기 발송 이벤트큐 풀을 모니터 가능한 이벤트 서비스 모니터
    를 포함하는 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템.
  13. 하나 이상의 프로세서로 구현되는 시스템으로서, 태스크가 이벤트 서비스를 요구할 수 있도록 하는 응용 프로그래밍 인터페이스(API: Application Programming Interface) 라이브러리를 포함하는 태스크 응용 소프트웨어 및 이벤트 프레임워크를 포함하고, 상기 이벤트 프레임워크는,
    상기 이벤트 서비스 요구에 응답하는 서비스 핸들러;
    이벤트 ID 및 데이터의 크기를 정의하는 이벤트 정의 정보를 관리하고 구독이 요구된 구독 이벤트의 정보 및 해당 구독 태스크를 매핑(mapping)한 매핑 데이터를 관리하는 이벤트 관리자; 및
    상기 이벤트 정의 정보에 기초하여 상기 서비스 핸들러가 생성한 이벤트의 정보가 상기 구독 이벤트의 정보와 일치하는 경우 상기 생성된 이벤트를 상기 구독 이벤트로서 상기 구독 태스크로 발송하는 이벤트 발송 인터페이스
    를 포함하고,
    상기 이벤트 발송 인터페이스는
    상기 구독 이벤트를 해당 상기 구독 태스크로 발송하는 이벤트 발송자; 및
    상기 이벤트 발송자에 대응되도록 생성되어 상기 구독 이벤트를 일시적으로 저장하는 임시 대기큐
    를 포함하는 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템.
  14. 제13항에 있어서, 상기 이벤트 발송 인터페이스는
    상기 구독 이벤트의 발송을 실행하는 이벤트 발송자를 결정하는 임시대기큐 선택자
    를 더 포함하는 철강 공정 미들웨어의 이벤트 서비스 프레임워크 시스템.
KR1020160132929A 2015-10-21 2016-10-13 철강 공정 미들웨어의 이벤트 서비스 방법 및 프레임워크 시스템 KR101889159B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2016/011586 WO2017069468A1 (ko) 2015-10-21 2016-10-14 철강 공정 미들웨어의 이벤트 서비스 방법 및 프레임워크 시스템
CN201680062015.8A CN108140008B (zh) 2015-10-21 2016-10-14 钢处理中间件的事件服务方法和框架***

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150146725 2015-10-21
KR20150146725 2015-10-21

Publications (2)

Publication Number Publication Date
KR20170047169A KR20170047169A (ko) 2017-05-04
KR101889159B1 true KR101889159B1 (ko) 2018-08-17

Family

ID=58743398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160132929A KR101889159B1 (ko) 2015-10-21 2016-10-13 철강 공정 미들웨어의 이벤트 서비스 방법 및 프레임워크 시스템

Country Status (2)

Country Link
KR (1) KR101889159B1 (ko)
CN (1) CN108140008B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102509402B1 (ko) * 2020-12-09 2023-03-13 주식회사 에이앤에이 플랫폼 상의 이벤트 처리 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014171130A1 (ja) * 2013-04-17 2014-10-23 日本電気株式会社 情報処理システム、配備方法、処理装置、及び、配備装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549956B1 (en) * 1998-11-30 2003-04-15 Hewlett Packard Company Mechanism for connecting disparate publication and subscribe domains via the internet
US7774792B2 (en) * 2005-07-05 2010-08-10 Microsoft Corporation Automatic create, update and delete event publishing
US7941448B2 (en) * 2005-08-26 2011-05-10 At&T Intellectual Property Ii, Lp System and method for event driven publish-subscribe communications
KR101091325B1 (ko) 2008-12-26 2011-12-07 주식회사 포스코 철강 공정 제어를 위한 미들웨어 및 그 미들웨어에서의 서비스 제공 방법
US9373102B2 (en) * 2010-07-30 2016-06-21 Mcgraw Hill Financial, Inc. System and method using a simplified XML format for real-time content publication
US20130067024A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Distributing multi-source push notifications to multiple targets
US10360523B2 (en) * 2013-11-18 2019-07-23 Nuwafin Holdings Ltd System and method for executing business services and enhancing business performance through a business process modeling notation
CN103927218B (zh) * 2014-04-30 2017-07-04 广州唯品会网络技术有限公司 事件分发方法及***
CN103944924B (zh) * 2014-05-15 2017-04-19 重庆邮电大学 一种基于RESTful的泛在网发布订阅中间件模型的方法
CN104618432B (zh) * 2014-12-30 2019-03-08 北京红马传媒文化发展有限公司 一种事件发送与接收的处理方法和处理***

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014171130A1 (ja) * 2013-04-17 2014-10-23 日本電気株式会社 情報処理システム、配備方法、処理装置、及び、配備装置

Also Published As

Publication number Publication date
KR20170047169A (ko) 2017-05-04
CN108140008A (zh) 2018-06-08
CN108140008B (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
CN112256423B (zh) 分布式资源管理***中的动态租户结构调整的***、设备和过程
EP3593496B1 (en) System and method for low latency node local scheduling in distributed resource management
US11431822B2 (en) Methods, apparatus, and systems to dynamically discover and host services in fog servers
US11050632B2 (en) Automated inventory for IoT devices
US20210389995A1 (en) Information processing system and control method
US7769715B2 (en) Synchronization of access permissions in a database network
US9594606B2 (en) Runtime extension framework
US10445141B2 (en) System and method supporting single software code base using actor/director model separation
KR20190028210A (ko) 컨테이너 기반 인공지능 어플리케이션을 배포하는 클라우드 서비스 방법과 시스템
CN113544601B (zh) 控制***、设定装置以及记录介质
KR20200109819A (ko) 전자 장치 및 이의 제어 방법
US20220229695A1 (en) System and method for scheduling in a computing system
KR101889159B1 (ko) 철강 공정 미들웨어의 이벤트 서비스 방법 및 프레임워크 시스템
US9553761B2 (en) Dynamic server to server configuration and initialization
US20230126168A1 (en) Scalable visualization of a containerized application in a multiple-cluster and multiple deployment application environment
US20210232438A1 (en) Serverless lifecycle management dispatcher
WO2023151503A1 (zh) 句柄管理或通信方法、电子设备、存储介质及程序产品
US9116753B2 (en) System and method for dynamic scaling based on a reference architecture
KR20160077432A (ko) 철강 공정 미들웨어의 이벤트 관리 시스템
JP2020149631A (ja) 制御システム、中継装置、および中継プログラム
CN111045778A (zh) 一种虚拟机的创建方法、装置、服务器及存储介质
CN111108449B (zh) 在可编程逻辑控制器(plc)中自主添加和删除功能的装置和方法
US10871987B1 (en) Distributed execution of tasks on client devices
EP2950215A1 (en) Exchanging messages in a MES system
CN117882054A (zh) 在编排环境中的资源共享

Legal Events

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