CN111597022B - 一种自动融合多专业业务功能的融合***及融合方法 - Google Patents
一种自动融合多专业业务功能的融合***及融合方法 Download PDFInfo
- Publication number
- CN111597022B CN111597022B CN202010397228.4A CN202010397228A CN111597022B CN 111597022 B CN111597022 B CN 111597022B CN 202010397228 A CN202010397228 A CN 202010397228A CN 111597022 B CN111597022 B CN 111597022B
- Authority
- CN
- China
- Prior art keywords
- service
- program
- fusion
- module
- target machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
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 Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种自动融合多专业业务功能的融合***及融合方法,包括业务程序和配置融合模块、应用软件加载模块、任务调度模块和数据交互模块等,利用这些模块实现各业务独立开发调试程序,实际应用时可按需自动实现电力二次业务模块的融合并自动运行融合后的程序,使装置中可自动集成多业务功能,实现电力二次业务自动完成横向自动集成;本发明基于脚本的在线动态加载技术、程序框架自动载入代码并运行技术、按优先级的强实时任务调用技术和不同业务模块的数据隔离和信息交换技术实现电力二次多专业功能模块的融合,提高了多业务集成开发的效率。
Description
技术领域
本发明属于电力业务技术领域,具体涉及一种自动融合多专业业务功能的融合***及融合方法。
背景技术
近期,国家电网公司在总结前一阶段智能变电站试点和建设的成果基础上,提出构建以“集成化智能设备+一体化业务***”应用为特征的新一代智能变电站,相对于上一代智能变电站,新的总体技术方案以“占地少、造价省、可靠性高”为目标,通过整合***功能,优化结构布局,有效提升变电站的智能化水平。
目前,智能变电站存在信息共享不完全、继电保护***分散式、自动化***信息采集重复、***集成不充分等问题。以站内二次***为例,二次设备按面向间隔配置,每个间隔部署保护、测控、PMU、计量、录波等装置,各装置功能虽然相互独立,维护方便。但二次装置硬件配置重复,全站接线复杂,信息共享不充分,缺乏全站***层的协调和功能优化,整体投资成本较大。随着计算机技术发展及芯片集成化处理能力不断提高,将现有成熟应用的功能、设备进行集成和整合,符合技术和产业发展需求。
二次设备集成的思路可从两个方面开展:面向单间隔进行不同类的多功能集成和面向多间隔进行同类功能集成。前者有合智一体装置、保护测控一体装置、多功能测控装置等,集成本间隔内的测控、PMU、录波、非关口计量等多业务功能,解决现有装置功能分散、集成度不高的问题,简化设备和屏柜数量,简化二次接线,降低成本。后者有站域保护装置、集群测控装置等,站域保护配合就地保护、广域保护,构建层次化的保护***,解决智能站保护分散式问题,向下完成就地级保护的冗余后备、优化后备及安全自动控制配置,向上为广域保护功能提供全站信息支撑。
在二次设备中要支撑不同业务的集成,必须要消除不同专业之间功能整合的壁垒,降低软件开发与功能集成的成本,提高应用开发和集成效率,并且设备功能可以随着业务需求的变化而灵活调整。目前二次设备一般采用嵌入式***设计,应用程序开发一般采用“上位机集成编译+目标机调试”的开发模式。而在同一设备上开发集成多个业务的应用程序必然面对如下问题:每个业务对应一个应用程序和配置,多个应用程序和配置必须整合为一个最终的目标程序和配置;单个应用程序更新需要重新编译整个目标程序;需要修改平台程序接口来适应对新业务功能扩展;***缺乏灵活的调度机制,无法适应不同业务对实时性需求的差异,导致核心业务的准确性受到影响;设备内业务专用数据难以安全隔离;业务间共享数据难以灵活交换,所以传统的面向电力二次设备的***程序框架难以支撑多业务集成的应用开发需求。
随着嵌入式CPU计算能力的不断提升和存储容量的日益增大,将原上位机上执行的部分开发工作下沉到目标机中执行成为可能。针对上述多业务集成开发面临的问题,可考虑采用“上位机开发单业务+目标机自动集成多业务”的开发模式。即多业务开发人员在上位机独立开发和调试完本业务的应用程序后,将所有的业务程序和配置下装到目标机中,由目标机中相关程序自动完成对多业务程序和配置的集成,生成最终目标机的可执行程序和包含多业务信息的配置文件。
在目标机中由相关程序自动完成多业务程序和配置的集成,取代原由开发人员在上位机进行多业务的集成,既可以避免业务集成开发阶段,因多业务之间的耦合开发、调试,导致的集成开发阶段效率低,设备研制整体周期长的问题。同时通过通用的程序框架来进行多业务的自动集成,既可以保证集成后设备的运行可靠性,同时也便于实现设备业务的灵活扩展,达到业务即插即用的效果。
授权公告号为“CN205429711U”,名称为“一种站域保护设备”的中国发明专利文件,通过对二次设备硬件的特定扩展方式,配置多块处理器插件,不同业务功能运行在不同插件CPU上,在单个二次设备中,集成了线路保护、变压器保护、母线保护等多业务保护控制功能。同时通过配置公共的站控层插件、过程层插件、人机接口插件实现集成设备和站控层、过程层通信及人机交互等功能。各业务在上位机完成程序开发、调试后,将本业务程序和配置分别下装到各业务对应插件上集成调试。不同保护业务的插件相互隔离,业务程序独立运行,但是集成设备中其他公共功能,例如站控层通信建模、过程层虚端子连线、人机接口综合展示以及各业务间信息交互等功能仍需要在上位机由指定业务集成方统一进行程序和配置的集成。
授权公告号为“CN104600841A”,名称为“一种基于三态数据的面向间隔的多功能测控方法”的中国发明专利文件,通过对不同业务算法的融合,将各业务应用程序的各处理环节进行细化分解,将共性部分合并后统一处理,达到节省处理器开销。将测控、PMU、录波、电能质量监测及计量等多种功能集成在一个CPU插件中。此方案没有涉及到“支持业务的软件平台+实现专业算法的应用”的软件架构,同样没有涉及到支持多业务集成的通用软件程序框架。
现有技术中存在以下缺点:
(1)采用多CPU架构,有利于通过插件方式实现对集成功能的扩展,但每个业务的配置和程序都单独运行在相互硬件隔离的插件CPU上,不利于业务间数据的高效共享,无法更好的支撑多业务之间的协调以及基于全站数据的应用功能优化。
(2)每块插件的业务程序都需要对采集数据进行单独的数据计算、数据存储,***存在大量的冗余逻辑和数据,不利于***进一步优化和整合。同时,一个业务对应一块插件的硬件配置,以及采集数据同时传输到多块插件对内部通信带宽的额外需求,都极大提高了设备的硬件成本,不利于设备的集约化。
(3)采用单CPU架构,通过对单业务***的应用程序扩展和不同专业间算法程序的融合,在原单业务设备中集成多业务处理程序。但各应用功能紧密耦合,界限不清晰,无法实现各专业数据的安全隔离。
(4)设备的公用程序和专业程序没有解耦,业务程序的接口都通过静态编码在公用程序中,当设备集成专业业务的数量或者类型发生变化,设备中公用程序也需定制修改,无法实现业务的灵活扩展。
(5)同样,在上位机进行多业务的人工集成,多个业务间配置和程序开发仍存在相互干扰问题。某个应用的配置或者程序逻辑修改,需指定指定业务方重新集成后,再发布给每个业务方更新调试,极大降低研发的效率,不利于产品的快速迭代。
(6)多个业务间配置和程序的版本需要人工保持统一,可能存在不一致性的问题,给集成后设备的可靠性带来隐患。同时,每个业务管理私有配置和程序和指定集成方管理集成后配置和程序,带来版本交叉管理问题,不利于设备的工程维护。
发明内容
本发明目的:针对新一代智能变电站对二次设备进一步优化整合的应用需求,提出一种自动融合多专业业务功能的融合***及融合方法,在不显著增加原设备硬件资源的情况下,能够解决集成多业务功能的电力二次设备在研发调试阶段的交叉编译、相互干扰问题。
技术方案:一种自动融合多专业业务功能的融合***,包括:
业务功能融合模块,用于将所需的所有业务功能模块对应的应用程序进行融合,生成集成多业务功能的目标机执行程序;
配置融合模块,用于将所需的所有业务功能模块对应的配置文件进行融合,生成包括所有业务配置信息的综合配置文件;
应用软件加载模块,用于获取集成多业务功能的目标机执行程序,并根据预设的各业务加载序号,依次将每个业务功能模块对应的应用程序加载到目标机内存中运行;
任务调度模块,用于在初始化阶段,根据各业务的实时性需求,生成按高低优先级调度的任务队列,及在运行阶段,根据调度策略,调度任务队列中的运行任务;
数据交互模块,用于根据综合配置文件,将多个业务功能对应的输入和输出进行关联,完成不同业务功能之间的数据交换。
进一步的,还包括元件封装模块,所述元件封装模块,用于对单个业务的业务专用数据及处理该专用数据的运行任务进行封装;
多个具有不同基本功能的元件封装模块构成相应的业务功能模块。
进一步的,所述调度策略包括同一任务队列内部按照FIFO方式进行调度,不同任务队列之间按照优先级高低进行调度。
进一步的,每个所述任务队列采用单向链表结构,每个链表中的节点均包括有运行任务的调用地址和调用参数。
本发明还公开了一种自动融合多专业业务功能的融合方法,包括以下步骤:
步骤1:将部署有应用业务开发环境的目标机提交给应用业务开发人员,进行业务功能模块的开发调试和对应业务功能模块的配置文件的编排;
步骤2:将应用业务开发环境、开发调试后的业务功能模块和对应业务功能模块的配置文件下装到目标机存储外设上;
步骤3:生产部门根据工程将需要集成在一个目标机的多个业务功能模块对应的业务以编排名称和加载序号为关键字编排在融合配置文件中,将该融合配置文件下装到目标机;
步骤4:目标机根据融合配置文件中的业务编排名称索引到目标机存储外设上的配置文件,将不同业务功能模块的配置文件融合成一个综合配置文件;
步骤5:目标机通过融合配置文件中的业务编排名称索引到目标机存储外设上的业务功能模块,将融合配置文件中对应的不同业务模块融合生成一个可执行的目标机执行程序,所述目标机执行程序中包括每个业务功能模块的入口程序地址;
步骤6:目标机根据融合配置脚本中的加载序号,定位目标机执行程序中每个业务功能模块的入口程序地址,将各业务功能模块的应用程序依次加载至目标机内存中运行;
步骤7:基于业务自身对实时性的需求差异,在入口程序中将每个业务功能模块对应的运行任务添加至指定优先级的任务队列中;
步骤8:根据调度策略,按照优先级任务队列调度运行任务;所述调度策略包括:同一任务队列内部按照FIFO方式进行调度,不同任务队列之间按照优先级高低进行调度。
进一步的,在步骤4中,所述的将不同业务功能模块的配置文件融合成一个综合配置文件,具体包括:
将不同业务功能模块的配置文件中内容相同的部分进行合并,不同的部分按照先后顺序依次放置,生成一个综合配置文件。
进一步的,在步骤5中,所述的将配置文件中对应的不同业务模块融合生成一个可执行的目标机执行程序,具体包括:
根据融合配置文件中的业务编排名称,转换得到与其一一对应的应用程序的入口程序函数名称;
根据入口程序函数名称,查找可执行程序中的全局符号表,得到入口程序函数名称对应的入口程序地址。
进一步的,所述步骤1中,每个业务功能模块均由多个具有不同基本功能的封装元件构成,一个封装元件对应一个运行任务,所述封装元件以需要处理的数据为输入,以计算得到的中间数据为内部变量,以计算得到的输出结果为输出,以计算的逻辑阈值为参数;
在各业务功能模块对应的配置文件中定义有该业务功能模块的各封装元件之间输入、输出拉线关系;
在所述步骤4中,在整体配置文件中定义有不同业务功能对应的封装元件之间的输入、输出的链接关系。
有益效果:本发明具有以下优点:
(1)在目标机中根据配置脚本自动完成多业务模块程序和配置文件的融合,实现了不同业务应用程序开发、调试过程的解耦。在设备研发阶段,不同业务可以独立编译、调试各自的应用程序和业务配置文件,避免交叉编译带来的相互干扰,有利于缩短设备的研制周期。同时,避免了人工在上位机进行集成时,因业务程序种类多,配置信息内容繁杂等原因可能导致的集成错误,提高了集成多业务设备的***可靠性。
(2)通过在线动态加载生成最终设备中可执行程序,避免了运行设备中当前程序版本与上位机管理版本不一致的问题。同时,每个业务独立管理本业务的程序和配置版本,代替多业务间交叉管理模式,简化了设备的工程程序版本管理流程,有利于提高设备的生产管理自动化水平。
(3)基于业务配置脚本,由本发明自动实现对业务应用入口程序的载入和运行任务的调度执行,实现了业务功能的即插即用,便于设备业务的可灵活扩展。生产部门可根据工程的需求,仅编辑配置脚本中需集成的业务编排名称和加载序号,快速构建出适应工程需求的不同类型的多业务设备。
(4)运行设备中某个业务的应用程序需要升级时,只需修改本业务相关应用程序和配置,目标机中其它业务的应用程序保持完全不变,缩小了程序变更的影响范围,降低了工程程序升级的风险,提高了工程运维的便捷性。
(5)不同业务对任务调度周期和实时性需求不同,按优先级的多级任务调用技术,既能保证高优先级任务能快速、准时得到执行,保证核心业务逻辑的准确性和可靠性。同时对实时性要求不高的任务可在低优先级队列调度执行,既可以节省对处理器机时的占用,又可以使资源相对受限的嵌入式***能同时集成多种业务功能,有效提高设备的产品竞争力。
(6)业务功能的元件封装技术,实现了业务数据和业务逻辑的高内聚,达到不同业务之间专用数据有效隔离效果,提升了设备软件***的安全可靠性。
(7)多个业务的自动融合,降低了集成多业务设备对硬件资源的扩展需求,有效提高二次设备的集约化程度。有利于支撑面向单个间隔,同时集成保护、测控、PMU和计量等业务的多功能测控、多合一装置、保测一体装置和合智一体装置等设备的研制。有利于促进二次保护、自动化和计量等专业的深度融合,有利于实现新一代智能变电站“占地少、造价省”的建设目标。
(8)通过数据交互模块,能实现不同业务之间数据的高效共享,有效支撑面向多个间隔的站域保护、集群测控等设备的研制。促进二次保护和控制***的进一步优化,提升新一代智能变电站的智能化水平。
附图说明
图1为本发明的整体***架构图:
图2为本发明的在线动态加载应用程序示意图;
图3为本发明的程序框架自动载入代码示意图:
图4为本发明的按优先级的多任务队列调用技术示意图:
图5为本发明的不同业务模块的数据隔离和信息交换技术示意图。
具体实施方式
现结合附图和实施例进一步阐述本发明的技术方案。
实施例1:
本实施例基于业务程序和配置融合模块、应用软件加载模块、任务调度模块和数据交互模块等实现电力二次多专业业务模块的自动融合,为业务开发人员提供了一套自动多业务集成的开发环境,为工程灵活适配现场需求提供了友好的界面。
在目标机启动阶段,由业务程序和配置融合模块根据配置脚本,自动完成对多个业务的应用程序和配置文件的融合,生成综合多业务处理逻辑的集成程序及同时包含多业务配置信息的集成配置。业务的应用程序为继电保护、测控、PMU和稳控等电力二次专业业务处理逻辑专用程序,各应用开发人员可彼此独立开发,独立完成本业务功能调试,向生产部门发布各自独立的应用程序、配置、以及必要的中间库,由生产现场根据需要下装特定的一个或多个业务程序到目标机。业务的配置文件为装置程序的辅助配置信息文件,包括实现业务独立逻辑必须的输入数据来源和输出控制出口的联结信息,以及运行方式等参数配置信息;同时还包括相互关联业务之间数据的输入、输出联结关系,每个业务都单独对应一个配置文件。这些程序模块文件由业务程序和配置融合模块根据配置脚本融合后,生成的包含多业务应用程序的可执行程序序列。这些应用配置文件由业务程序和配置融合模块根据配置脚本融合后,获得包含多业务配置信息的设备综合配置文件,该文件包含有单个业务元件之间的输入、输出连接关系,也包含有需要信息交互的不同业务元件之间的输入、输出连接关系。配置脚本为集成设备中业务信息管理文件,主要包含设备中集成的每个业务功能对应的业务编排名称和加载序号。
在设备初始化阶段,由应用软件加载模块根据配置脚本,获取设备中集成的多业务功能,自动按顺序依次加载每个业务功能的入口程序到内存中运行。具体过程为:应用软件加载模块根据业务编排名称,按照编程规范生成业务入口程序的函数名称,该业务入口程序的函数名称必须遵循命名规范与业务编排名称一一对应,应用软件加载模块根据业务入口程序的函数名称,查找融合后可执行程序中符号表,获取指定函数地址,实现业务模块的入口程序地址的确定,并跳转到相应代码地址执行。
与此同时,在初始化阶段,由任务调度模块完成按优先级的强实时任务调用,具体过程为:因集成的不同业务逻辑对实时性存在高低的不同需求,任务调度模块创建多级任务调度队列,并根据实时性从高到低的顺序,将任务调度队列也划分为高低优先级的多级任务调度队列。
在初始化阶段,由软件平台程序中的数据交互模块读取设备综合配置文件中元件之间的输入、输出连接关系,自动建立每个输入到输出的数据链接;某个业务的应用程序通过统一固定的接口,自动获取指定业务的输出数据。
在实时运行阶段,由任务调度模块提供任务注册接口,由业务应用在其入口程序中主动调用此接口,将业务应用的运行任务入口地址添加到指定优先级任务队列中,将实时性要求最高的运行任务添加到最高优先级任务队列中,并且通过配置脚本中业务加载序号将运行任务进一步编排在本队列的队列指定位置,实现对核心业务运行任务的精准调用。任务调度模块按照综合调度策略,调度每级任务队列中任务执行。该综合调度策略为:同一队列内部按照FIFO方式进行调度,不同队列之间按照高优先级队列可以抢占低优先级方式进行调度,实现对每个业务运行任务的按序调用。
在实时运行阶段,由数据交互模块将每个建立链接关系的输出端元件数据,实时更新到输入端元件,输入端元件在其运行处理任务中,读取元件输入,同步获取输出端元件的最新数据,实现不同业务逻辑之间的实时数据交换。
在本实施例中,对单个业务的业务专用数据及处理数据的运行任务以元件形式进行封装,使某个业务运行任务不能随意访问其它业务的业务数据。通过将每个业务的应用功能分解为多个基本功能,每个基本功能对应一个元件,通过元件的堆叠构建出完整的业务应用功能。具体的,元件包括内部数据、输入、输出、参数和相应的处理任务,元件的内部数据为私有数据,对于外部不可见;元件的参数通过软件平台程序的编程框架提供统一的修改、下发和存储管理;元件的输入和输出为外部接口,由编程框架提供统一的链接;元件的处理任务通过下发的参数和读取的外部输入,根据元件设计功能进行逻辑计算,并将处理后数据记录在内部数据中,同时将计算结果同步到输出。
本实施例基于元件搭建业务运行程序,能实现不同业务之间的数据安全隔离。
实施例2
本实施例基于脚本的在线动态加载技术、程序框架自动载入代码并运行技术、按优先级的强实时任务调用技术和不同业务模块的数据隔离和信息交换技术实现电力二次多专业业务的融合。
如图1和图2所示,本实施例中通过基于脚本的在线动态加载技术实现在目标机中对多个业务程序和配置的自动融合,解决在上位机人工集成的耦合编译、相互干扰问题。
包括如下步骤:
(1)软件平台程序和处理器依赖库等必要的中间库由平台开发人员在上位机打包成平台lib文件,发布给业务开发人员。
(2)各业务开发人员在上位机并行开展本业务相关功能的开发工作,当各业务独立完成应用程序和配套业务配置文件的调试后,向生产部门发布各自独立的应用程序、配置文件、以及平台lib文件。
(3)生产部门根据特定需要,编辑配置脚本,编排需集成的每个业务名称和加载序号。
(4)将包含平台lib文件、需集成的多个业务的独立应用程序和业务配置文件、及配置脚本在内的文件都下装到目标机中存储外设。
(5)设备重启上电后,首先运行软件平台程序中程序和配置融合模块,融合模块通过解析配置脚本,根据配置脚本中业务编排名称,索引到存储外设上相应业务程序文件和业务配置文件。同时,根据默认规则索引到平台lib文件,然后程序和配置融合模块自动完成对所有程序文件和业务配置文件的融合工作,生成目标机中集成多业务功能的可执行程序,以及包含多业务配置信息的综合配置。
(6)加载最终的可执行程序至目标机内存运行。
如图3所示,本实施例通过程序框架自动载入代码并运行技术,能对集成后可执行程序中每个业务入口程序的地址实现动态定位,并根据配置脚本中业务加载顺序,依次载入执行,实现业务的即插即用。具体包括如下步骤:
运行平台软件程序中软件加载模块,软件加载模块解析配置脚本,根据业务编排名称,按照编程框架中约定规则生成业务应用程序的入口程序函数名称,每个业务应用程序的入口程序由应用定义;
软件加载模块根据入口程序函数名称查找集成后可执行程序中全局符号表,转换得到入口程序函数名称对应的函数入口地址。软件加载模块跳转到此函数入口地址执行,完成对指定业务应用程序中入口程序的加载。
软件加载模块根据配置脚本中业务编排顺序,重复以上步骤,依次完成对各业务入口程序的载入执行。
如图4所示,本实施例的软件平台程序提供分优先级的多级运行任务管理队列,每个业务程序通过软件平台提供的程序框架,根据业务自身对实时性的需求差异,将运行任务添加到相应优先级的任务队列中,由任务调度模块在设备运行阶段,负责对每个业务运行任务的调用执行。并且通过综合调度策略,实现对业务运行任务的强实时调用,保证了多业务***中核心业务功能的高可靠性。具体包括如下步骤:
软件平台程序中任务调度模块按照高低优先级划分多级任务管理队列,每级队列采用单向链表结构,每个链表中节点包含有运行任务的调用地址。
程序框架向应用程序提供运行任务的注册接口,由应用程序在其入口程序中主动调用此注册接口,程序框架按照指定优先级,将运行任务的调用地址信息添加到相应的任务队列中。在配置脚本中,将多业务中实时性要求最高的业务编排在首位,该业务的应用入口程序将其运行任务添加到最高优先级任务队列中,且同时也位于队列头位置。
当软件加载模块完成对所有业务的入口程序的加载后,任务调度模块整理得到***中需调度执行的所有运行任务信息。
应用程序运行***采用RAW OS设计,由软件平台程序根据调度策略,实现对每个业务运行任务的调度执行。调度策略包括:同一队列内部按照FIFO方式进行调度,不同队列之间按照高优先级可以抢占低优先级方式进行调度,实现对核心业务运行任务的精准调用。
每次任务调度前,先取出高优先级队列的首节点,并且判断有无低优先级任务在执行,如果有,暂停当前任务,实现高优先级的抢占执行;如果没有,则直接调度首节点中运行任务;再取出队列中下一个节点,直至遍历完最高优先级队列中每一个节点。通过如上步骤,保证了核心业务会优先、准确得到调度执行。
如图5所示,本实施例的软件平台程序还通过元件封装业务基本功能的程序框架,实现每个业务功能都可通过元件的堆叠来搭建复杂的业务逻辑。通过这种对业务专用数据和业务运行任务的封装技术,实现了不同业务间数据的安全隔离,确保了同一设备内不同业务逻辑互相不影响。并且,由程序框架自动完成不同元件之间的信号链接和数据实时传递,实现不同业务间信息交互,达到数据高效共享的目的。具体包括如下步骤:
每个业务可分解为多个基本功能模块,每个功能模块采用程序框架提供的元件进行封装,需要处理的数据定义成元件输入;计算的中间数据可定义成元件内部变量;计算的输出结果定义成元件输出;计算的逻辑阈值定义成元件参数;同时每个元件定义完成此元件基本功能的运行任务。
在业务的配置文件中定义好对应功能的元件之间输入、输出拉线关系,软件平台程序中数据交互模块读取整合后多业务配置文件,根据其中的不同元件之间的输入、输出拉线关系,建立两者的链接关系。
在运行阶段,数据交互模块负责完成元件输出端数据到输入端数据的实时传递,程序框架提供统一的元件参数管理机制,通过人机交互界面修改业务功能参数后,由软件平台程序自动将修改后参数值下发给元件,当任务调度模块调用元件的运行任务时,同时将元件地址作为入口参数传递给运行任务,运行任务通过读取元件输入,同步获取对应输出元件端的变化数据;同时将本元件计算后输出数据同步到输出端,提供其它元件使用。
通过以上步骤,程序框架既实现了不同业务之间高效、灵活的信息交互,也实现了不同业务专用数据的有效隔离。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (8)
1.一种自动融合多专业业务功能的融合***,其特征在于:包括:
业务功能融合模块,用于将所需的所有业务功能模块对应的应用程序进行融合,生成集成多业务功能的目标机执行程序;
配置融合模块,用于将所需的所有业务功能模块对应的配置文件进行融合,生成包括所有业务配置信息的综合配置文件;
应用软件加载模块,用于获取集成多业务功能的目标机执行程序,并根据预设的各业务加载序号,依次将每个业务功能模块对应的应用程序加载到目标机内存中运行;
任务调度模块,用于在初始化阶段,根据各业务的实时性需求,生成按高低优先级调度的任务队列,及在运行阶段,根据调度策略,调度任务队列中的运行任务;
数据交互模块,用于根据综合配置文件,将多个业务功能对应的输入和输出进行关联,完成不同业务功能之间的数据交换。
2.根据权利要求1所述的一种自动融合多专业业务功能的融合***,其特征在于:还包括元件封装模块,所述元件封装模块,用于对单个业务的业务专用数据及处理该专用数据的运行任务进行封装;
多个具有不同基本功能的元件封装模块构成相应的业务功能模块。
3.根据权利要求1所述的一种自动融合多专业业务功能的融合***,其特征在于:所述调度策略包括同一任务队列内部按照FIFO方式进行调度,不同任务队列之间按照优先级高低进行调度。
4.根据权利要求1所述的一种自动融合多专业业务功能的融合***,其特征在于:每个所述任务队列采用单向链表结构,每个链表中的节点均包括有运行任务的调用地址和调用参数。
5.基于权利要求1至4任意一项所述的一种自动融合多专业业务功能的融合***的融合方法,其特征在于:包括以下步骤:
步骤1:将部署有应用业务开发环境的目标机提交给应用业务开发人员,进行业务功能模块的开发调试和对应业务功能模块的配置文件的编排;
步骤2:将应用业务开发环境、开发调试后的业务功能模块和对应业务功能模块的配置文件下装到目标机存储外设上;
步骤3:生产部门根据工程将需要集成在一个目标机的多个业务功能模块对应的业务以编排名称和加载序号为关键字编排在融合配置文件中,将该融合配置文件下装到目标机;
步骤4:目标机根据融合配置文件中的业务编排名称索引到目标机存储外设上的配置文件,将不同业务功能模块的配置文件融合成一个综合配置文件;
步骤5:目标机通过融合配置文件中的业务编排名称索引到目标机存储外设上的业务功能模块,将融合配置文件中对应的不同业务模块融合生成一个可执行的目标机执行程序,所述目标机执行程序中包括每个业务功能模块的入口程序地址;
步骤6:目标机根据融合配置脚本中的加载序号,定位目标机执行程序中每个业务功能模块的入口程序地址,将各业务功能模块的应用程序依次加载至目标机内存中运行;
步骤7:基于业务自身对实时性的需求差异,在入口程序中将每个业务功能模块对应的运行任务添加至指定优先级的任务队列中;
步骤8:根据调度策略,按照优先级任务队列调度运行任务;所述调度策略包括:同一任务队列内部按照FIFO方式进行调度,不同任务队列之间按照优先级高低进行调度。
6.根据权利要求5所述的融合方法,其特征在于:在步骤4中,所述的将不同业务功能模块的配置文件融合成一个综合配置文件,具体包括:
将不同业务功能模块的配置文件中内容相同的部分进行合并,不同的部分按照先后顺序依次放置,生成一个综合配置文件。
7.根据权利要求5所述的融合方法,其特征在于:在步骤5中,所述的将融合配置文件中对应的不同业务模块融合生成一个可执行的目标机执行程序,具体包括:
根据融合配置文件中的业务编排名称,转换得到与其一一对应的应用程序的入口程序函数名称;
根据入口程序函数名称,查找可执行程序中的全局符号表,得到入口程序函数名称对应的入口程序地址。
8.根据权利要求5所述的融合方法,其特征在于:所述步骤1中,每个业务功能模块均由多个具有不同基本功能的封装元件构成,一个封装元件对应一个运行任务,所述封装元件以需要处理的数据为输入,以计算得到的中间数据为内部变量,以计算得到的输出结果为输出,以计算的逻辑阈值为参数;
在各业务功能模块对应的配置文件中定义有该业务功能模块的各封装元件之间输入、输出拉线关系;
在所述步骤4中,在整体配置文件中定义有不同业务功能对应的封装元件之间的输入、输出的链接关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010397228.4A CN111597022B (zh) | 2020-05-12 | 2020-05-12 | 一种自动融合多专业业务功能的融合***及融合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010397228.4A CN111597022B (zh) | 2020-05-12 | 2020-05-12 | 一种自动融合多专业业务功能的融合***及融合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597022A CN111597022A (zh) | 2020-08-28 |
CN111597022B true CN111597022B (zh) | 2022-09-23 |
Family
ID=72188657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010397228.4A Active CN111597022B (zh) | 2020-05-12 | 2020-05-12 | 一种自动融合多专业业务功能的融合***及融合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597022B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111988334B (zh) * | 2020-08-31 | 2022-03-18 | 中国电子科技集团公司第四十一研究所 | 一种基于tcp实现的数据通信方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942055A (zh) * | 2014-04-30 | 2014-07-23 | 北京邮电大学 | 面向融合网络混合服务流程编制语言的开发***及方法 |
CN105183458A (zh) * | 2015-08-14 | 2015-12-23 | 深圳联友科技有限公司 | 一种软件平台开发方法及装置 |
CN110633760A (zh) * | 2019-09-25 | 2019-12-31 | 北京酷我科技有限公司 | 一种推荐***整合策略及推荐*** |
-
2020
- 2020-05-12 CN CN202010397228.4A patent/CN111597022B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942055A (zh) * | 2014-04-30 | 2014-07-23 | 北京邮电大学 | 面向融合网络混合服务流程编制语言的开发***及方法 |
CN105183458A (zh) * | 2015-08-14 | 2015-12-23 | 深圳联友科技有限公司 | 一种软件平台开发方法及装置 |
CN110633760A (zh) * | 2019-09-25 | 2019-12-31 | 北京酷我科技有限公司 | 一种推荐***整合策略及推荐*** |
Also Published As
Publication number | Publication date |
---|---|
CN111597022A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Junghanns et al. | The functional mock-up interface 3.0-new features enabling new applications | |
US11614927B2 (en) | Off-load servers software optimal placement method and program | |
CN103593192B (zh) | 一种基于slurm调度的算法集成与评测***及方法 | |
CN111309291B (zh) | 一种模块化嵌入式软件架构及其定制方法、定制*** | |
CN109032590B (zh) | 一种可视化开发环境的配置方法、装置、终端及存储介质 | |
CN113254054B (zh) | 一种智能合约一站式开发***及方法 | |
CN113254174A (zh) | 一种rpa机器人流程自动化实现***和方法 | |
WO2024131553A1 (zh) | 工业控制软件开发方法、装置和计算设备 | |
Annighoefer et al. | Holistic IMA platform configuration using web-technologies and a domain-specific model query language | |
CN111597022B (zh) | 一种自动融合多专业业务功能的融合***及融合方法 | |
CN114579091A (zh) | 跨操作***的机器人流程自动化***及方法 | |
CN113900704A (zh) | 应用程序安装包的发布方法、装置、可读介质及电子设备 | |
CN111930359B (zh) | 一种异构嵌入式***上进行算法开发的***及方法 | |
US9946668B1 (en) | Automatic prioritization of interrupts in a modeling environment | |
Schirner et al. | Automatic generation of hardware dependent software for MPSoCs from abstract system specifications | |
CN117707499A (zh) | 基于虚拟化技术的多源模型算法解析器插件及编译算法 | |
Macher et al. | Filling the gap between automotive systems, safety, and software engineering. | |
CN115758789B (zh) | 一种复杂实时嵌入式***的软件架构设计与架构传递方法 | |
CN116502437A (zh) | 一种基于云+端架构的信号级仿真平台云化方法 | |
CN115951970A (zh) | 一种异构多仿真软件集成开发环境 | |
CN115964036A (zh) | 一种基于微服务架构的可视化服务编排*** | |
Vepsäläinen et al. | Tool support for the UML automation profile-for domain-specific software development in manufacturing | |
Panyala et al. | On the use of term rewriting for performance optimization of legacy HPC applications | |
US9003383B2 (en) | Analytic engine to parallelize serial code | |
Herzner et al. | Model-based development of distributed embedded real-time systems with the decos tool-chain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |