CN117407048A - 一种插件化数据处理软件的流程配置方法及系统 - Google Patents
一种插件化数据处理软件的流程配置方法及系统 Download PDFInfo
- Publication number
- CN117407048A CN117407048A CN202311714920.5A CN202311714920A CN117407048A CN 117407048 A CN117407048 A CN 117407048A CN 202311714920 A CN202311714920 A CN 202311714920A CN 117407048 A CN117407048 A CN 117407048A
- Authority
- CN
- China
- Prior art keywords
- data processing
- module
- configuration file
- function
- processing software
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 60
- 238000004806 packaging method and process Methods 0.000 claims abstract description 26
- 230000006870 function Effects 0.000 claims description 70
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 9
- 239000004020 conductor Substances 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 8
- 230000003068 static effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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/547—Remote procedure calls [RPC]; Web services
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
技术领域
本发明属于数据处理的技术领域,具体地涉及一种插件化数据处理软件的流程配置方法及系统。
背景技术
.NET平台是微软公司开发的一种用于构建多种应用的免费开源开发平台,可以使用C#、F#或Visual Basic编写.NET应用。
目前市面上基于.NET平台开发的数据处理软件针对各自数据平台的处理流程进行针对开发,有着广泛的使用场景,不足之处是编译后的进程只能进行固定的流程处理,无法适配外界多样复杂的处理情况,对应的开发人员常常需要对于不同的应用场景对数据处理软件进行定制化开发和修改,大大加剧了开发者的工作负担。
发明内容
为了解决上述技术问题,本发明提供了一种插件化数据处理软件的流程配置方法及系统,用于解决现有技术中的技术问题。
一方面,该发明提供以下技术方案,一种插件化数据处理软件的流程配置方法,包括:
获取待处理数据所需的功能模块,将所述功能模块通过预设封装工具独立封装为若干动态链接库;
将若干所述动态链接库按照所述功能模块的执行排列顺序添加至数据处理软件的初始配置文件中,以得到功能配置文件;
读取所述功能配置文件,为每个所述动态链接库创建实例并对每个所述实例进行接口统一处理;
加载所述功能配置文件并按照所述功能模块的执行排列顺序将对应的实例加载至数据处理流程任务队列中。
相比现有技术,本申请的有益效果为:本发明克服了传统数据处理软件的不同功能模块流程化定制的问题,使用.NET平台开发服务端数据处理程序,将程序中的不同功能模块封装成独立的动态链接库,通过插件化的配置方式自由组合,确保程序在运行时候,可以按照指定的处理流程进行数据处理,满足复杂的不同项目的使用场景,且本发明可实现在不同数据处理场景下可快速通过修改配置的方式进行数据处理功能组合,既充分发挥了数据处理流程软件快速适配不同处理场景能力,又保证了服务端数据处理方式高度定制化需求。
较佳的,在所述获取待处理数据所需的功能模块,将所述功能模块通过预设封装工具独立封装为若干动态链接库的步骤中,所述预设封装工具为代码编辑器。
较佳的,所述将若干所述动态链接库按照所述功能模块的执行排列顺序添加至数据处理软件的初始配置文件中,以得到功能配置文件的步骤包括:
基于若干所述动态链接库生成若干consumers标签,所述consumers标签用于表述对应动态链接库的程序集的必要信息;
基于所述功能模块的执行排列顺序生成queues标签,其中,所述queues标签包括若干add子标签,所述add子标签的顺序表述所述功能模块的处理顺序,每个所述add子标签包含一个name字段,所述name字段用于表示所需的功能模块的名称;
基于若干所述add子标签的顺序将所述queues标签与对应的consumers标签添加至数据处理软件的初始配置文件中,以得到功能配置文件。
较佳的,所述consumers标签至少包括功能模块信息、功能模块的程序集以及程序集文件名。
较佳的,所述读取所述功能配置文件,为每个所述动态链接库创建实例并对每个所述实例进行接口统一处理的步骤包括:
读取所述功能配置文件,以获取所需加载的功能模块的程序集以及各功能模块的执行排列顺序;
使用Assembly.LoadFrom方法按照各功能模块的执行排列顺序加载各个功能模块的程度集,并获取每个功能模块的入口主类名称;
基于所述功能模块的入口主类名称使用对应的构造函数构建对应类型的实例,并将所有实施的接口转换为统一的固定接口。
较佳的,在所述基于所述功能模块的入口主类名称使用对应的构造函数构建对应类型的实例,并将所有实施的接口转换为统一的固定接口的步骤中,所述固定接口为IDacTaskResultConsumer。
第二方面,该发明提供以下技术方案,一种插件化数据处理软件的流程配置系统,所述系统包括:
封装模块,用于获取待处理数据所需的功能模块,将所述功能模块通过预设封装工具独立封装为若干动态链接库;
配置模块,用于将若干所述动态链接库按照所述功能模块的执行排列顺序添加至数据处理软件的初始配置文件中,以得到功能配置文件;
统一模块,用于读取所述功能配置文件,为每个所述动态链接库创建实例并对每个所述实例进行接口统一处理;
加载模块,用于加载所述功能配置文件并按照所述功能模块的执行排列顺序将对应的实例加载至数据处理流程任务队列中。
较佳的,所述配置模块包括:
第一标签子模块,用于基于若干所述动态链接库生成若干consumers标签,所述consumers标签用于表述对应动态链接库的程序集的必要信息;
第二标签子模块,用于基于所述功能模块的执行排列顺序生成queues标签,其中,所述queues标签包括若干add子标签,所述add子标签的顺序表述所述功能模块的处理顺序,每个所述add子标签包含一个name字段,所述name字段用于表示所需的功能模块的名称;
文件生成子模块,用于基于若干所述add子标签的顺序将所述queues标签与对应的consumers标签添加至数据处理软件的初始配置文件中,以得到功能配置文件。
第三方面,该发明提供以下技术方案,一种计算机,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的插件化数据处理软件的流程配置方法。
第四方面,该发明提供以下技术方案,一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的插件化数据处理软件的流程配置方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的插件化数据处理软件的流程配置方法的流程图;
图2为本发明实施例二提供的插件化数据处理软件的流程配置系统的结构框图;
图3为本发明另一实施例提供的计算机的硬件结构示意图。
以下将结合附图对本发明实施例作进一步说明。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明的实施例,而不能理解为对本发明的限制。
在本发明实施例的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明实施例中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明实施例中的具体含义。
实施例一
在本发明的实施例一中,如图1所示,一种插件化数据处理软件的流程配置方法,包括:
S1、获取待处理数据所需的功能模块,将所述功能模块通过预设封装工具独立封装为若干动态链接库;
在本实施例中,数据处理软件选用.Net开源平台,功能模块选用使用C#语言开发数据处理软件进程的独立数据处理的功能模块,首先根据不同项目所需要的不同功能,确定若干对应的功能模块,之后通过预设封装工具将每个对应的功能模块封装成为独立的动态链接库,即DLL,而预设封装工具具体为代码编辑器。
S2、将若干所述动态链接库按照所述功能模块的执行排列顺序添加至数据处理软件的初始配置文件中,以得到功能配置文件;
具体的,对于一个项目而言,其中数据处理进程NGET需要对采集的传感器数据做一系列处理,包括但不限于以下数据处理单元: 数据关联传感器信息,传感器数据储存,原始数据范围有效性验证,数据公式计算,数据测点阈值判断,数据存储入库,数据推送第三方平台等操作,而每个项目对应的数据处理单元不同,且各个数据处理单元的顺序不同,因此针对不同的项目可确定不同数量的数据处理单元,即功能模块,以及对应的数据处理单元的执行顺序,由于数据处理单元已经被封装为动态链接库,因此通过将动态链接库按照数据处理单元的执行顺序将其添加至数据处理软件的初始配置文件中,进而得到功能配置文件,而功能配置文件中包含各个数据处理单元以及数据处理单元的顺序。
其中,所述步骤S2包括:
S21、基于若干所述动态链接库生成若干consumers标签,所述consumers标签用于表述对应动态链接库的程序集的必要信息;
具体的,consumers标签其描述了多个单一的功能模块程序集的必要信息,其至少包括功能模块信息、功能模块的程序集以及程序集文件名。
S22、基于所述功能模块的执行排列顺序生成queues标签,其中,所述queues标签包括若干add子标签,所述add子标签的顺序表述所述功能模块的处理顺序,每个所述add子标签包含一个name字段,所述name字段用于表示所需的功能模块的名称;
具体的, queues标签描述了整个数据处理流程的功能模块的执行顺序,包含多个add子标签,每个add子标签包含一个name字段,其值代表需要启用的功能模块名称,需要consumers标签中的模块名称保持一致,同时 add子标签的先后顺序也代表了这些功能模块的在数据处理过程中的执行顺序,当用户需要调整执行流程时,可以对多个add子标签的排列顺序进行相应调整或进行add子标签删减,从而达到控制流程的目的。
S23、基于若干所述add子标签的顺序将所述queues标签与对应的consumers标签添加至数据处理软件的初始配置文件中,以得到功能配置文件;
具体的,在得到了上述两个标签之后,便可根据queues标签中的add子标签的顺序,将对应的consumers标签添加至数据处理软件的初始配置文件中,以得到功能配置文件,其中,功能配置文件具体为consumers.xml文件,其格式为XML格式。
S3、读取所述功能配置文件,为每个所述动态链接库创建实例并对每个所述实例进行接口统一处理;
其中,所述步骤S3包括:
S31、读取所述功能配置文件,以获取所需加载的功能模块的程序集以及各功能模块的执行排列顺序;
具体的,在得到功能配置文件之后,便可通过读取consumers.xml 配置文件consumers标签,获取所有需要加载的数据处理功能模块的程序集,通过读取queues标签获取整个数据处理流程的所需各个功能模块的执行排列顺序。
S32、使用Assembly.LoadFrom方法按照各功能模块的执行排列顺序加载各个功能模块的程度集,并获取每个功能模块的入口主类名称。
S33、基于所述功能模块的入口主类名称使用对应的构造函数构建对应类型的实例,并将所有实施的接口转换为统一的固定接口;
具体的,通过.NET平台的Assembly.LoadFrom 方法,加载功能模块程序集,并获得每个功能模块程序集的入口主类名称,后续通过.NET 平台的Activator.CreateInstance静态系统方法自动使用最符合指定参数的构造函数创建指定类型的实例,并将所有实例统一转换为固定的接口,如IDacTaskResultConsumer,同时按照queues标签中的配置执行顺序,依次加载程序集到执行流程队列中;
对于单一的功能模块需要继承统一的指定接口,即将所有实施的接口转换为统一的固定接口,并在实现接口指定的方法,如ProcessResult方法,在该方法内实现当前功能模块的特有数据处理流程,并且返回通用的固定结构数据类型。
其中,Assembly.LoadFrom方法为.NET平台自带的静态方法,可以通过已知程序集的文件名或路径加载程序集,Activator.CreateInstance静态系统方法为.NET平台自带的静态方法,可以自动使用最符合指定参数的构造函数创建指定类型的实例,IDacTaskResultConsumer为自定义的抽象接口,用以被各个数据处理功能模块进行继承实现,便于后续统一调用,ProcessResult方法为自定义的抽象接口方法,用以被各个数据处理功能模块实现各自的处理功能,便于后续统一调用。
S4、加载所述功能配置文件并按照所述功能模块的执行排列顺序将对应的实例加载至数据处理流程任务队列中;
具体的,在配置好相应的功能配置文件以及各个功能模块与执行顺序之后,即可将对应的实例加载生成指定顺序的数据处理流程任务队列,使得数据处理软件在处理数据时,可以按照指定顺序在每个独立的处理环节调用对应的动态连接库进行具体的数据处理操作;
而在数据处理软件实际运行时,数据处理主程序NGET接收外部数据,循环进行执行流程队列的数据处理流程,每个执行流程环节中的功能模块被调用统一接口的ProcessResult 方法实现,得到返回的通用结构数据结果result,并且将result传递给下一个数据处理流程,直到所有流程执行完毕,即可完成数据处理过程。
本发明实施例一提供的插件化数据处理软件的流程配置方法,本发明克服了传统数据处理软件的不同功能模块流程化定制的问题,使用.NET平台开发服务端数据处理程序,将程序中的不同功能模块封装成独立的动态链接库,通过插件化的配置方式自由组合,确保程序在运行时候,可以按照指定的处理流程进行数据处理,满足复杂的不同项目的使用场景,且本发明可实现在不同数据处理场景下可快速通过修改配置的方式进行数据处理功能组合,既充分发挥了数据处理流程软件快速适配不同处理场景能力,又保证了服务端数据处理方式高度定制化需求。
实施例二
如图2所示,在本发明的实施例二提供了一种插件化数据处理软件的流程配置系统,所述系统包括:
封装模块1,用于获取待处理数据所需的功能模块,将所述功能模块通过预设封装工具独立封装为若干动态链接库;
配置模块2,用于将若干所述动态链接库按照所述功能模块的执行排列顺序添加至数据处理软件的初始配置文件中,以得到功能配置文件;
统一模块3,用于读取所述功能配置文件,为每个所述动态链接库创建实例并对每个所述实例进行接口统一处理;
加载模块4,用于加载所述功能配置文件并按照所述功能模块的执行排列顺序将对应的实例加载至数据处理流程任务队列中;
其中,所述预设封装工具为代码编辑器。
其中,所述配置模块2包括:
第一标签子模块,用于基于若干所述动态链接库生成若干consumers标签,所述consumers标签用于表述对应动态链接库的程序集的必要信息;
第二标签子模块,用于基于所述功能模块的执行排列顺序生成queues标签,其中,所述queues标签包括若干add子标签,所述add子标签的顺序表述所述功能模块的处理顺序,每个所述add子标签包含一个name字段,所述name字段用于表示所需的功能模块的名称;
文件生成子模块,用于基于若干所述add子标签的顺序将所述queues标签与对应的consumers标签添加至数据处理软件的初始配置文件中,以得到功能配置文件;
其中,所述consumers标签至少包括功能模块信息、功能模块的程序集以及程序集文件名。
所述统一模块3包括:
读取子模块,用于读取所述功能配置文件,以获取所需加载的功能模块的程序集以及各功能模块的执行排列顺序;
加载子模块,用于使用Assembly.LoadFrom方法按照各功能模块的执行排列顺序加载各个功能模块的程度集,并获取每个功能模块的入口主类名称;
接口统一子模块,用于基于所述功能模块的入口主类名称使用对应的构造函数构建对应类型的实例,并将所有实施的接口转换为统一的固定接口;
其中,所述固定接口为IDacTaskResultConsumer。
在本发明的另一些实施例中,本发明实施例提供以下技术方案,一种计算机,包括存储器102、处理器101以及存储在所述存储器102上并可在所述处理器101上运行的计算机程序,所述处理器101执行所述计算机程序时实现如上所述的插件化数据处理软件的流程配置方法。
具体的,上述处理器101可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器102可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器102可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(Solid State Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerial Bus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器102可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器102可在数据处理装置的内部或外部。在特定实施例中,存储器102是非易失性(Non-Volatile)存储器。在特定实施例中,存储器102包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(Random Access Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(ErasableProgrammable Read-Only Memory,简称为EPROM)、电可擦除PROM(Electrically ErasableProgrammable Read-Only Memory,简称为EEPROM)、电可改写ROM(ElectricallyAlterable Read-Only Memory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-AccessMemory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode DynamicRandom Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(ExtendedDate Out Dynamic Random Access Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器102可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器101所执行的可能的计算机程序指令。
处理器101通过读取并执行存储器102中存储的计算机程序指令,以实现上述插件化数据处理软件的流程配置方法。
在其中一些实施例中,计算机还可包括通信接口103和总线100。其中,如图3所示,处理器101、存储器102、通信接口103通过总线100连接并完成相互间的通信。
通信接口103用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口103还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线100包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线100包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线100可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线100可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该计算机可以基于获取到插件化数据处理软件的流程配置系统,执行本申请的插件化数据处理软件的流程配置方法,从而实现插件化数据处理软件的流程配置。
在本发明的再一些实施例中,结合上述的插件化数据处理软件的流程配置方法,本发明实施例提供以下技术方案,一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的插件化数据处理软件的流程配置方法。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种插件化数据处理软件的流程配置方法,其特征在于,包括:
获取待处理数据所需的功能模块,将所述功能模块通过预设封装工具独立封装为若干动态链接库;
将若干所述动态链接库按照所述功能模块的执行排列顺序添加至数据处理软件的初始配置文件中,以得到功能配置文件;
读取所述功能配置文件,为每个所述动态链接库创建实例并对每个所述实例进行接口统一处理;
加载所述功能配置文件并按照所述功能模块的执行排列顺序将对应的实例加载至数据处理流程任务队列中。
2.根据权利要求1所述的插件化数据处理软件的流程配置方法,其特征在于,在所述获取待处理数据所需的功能模块,将所述功能模块通过预设封装工具独立封装为若干动态链接库的步骤中,所述预设封装工具为代码编辑器。
3.根据权利要求1所述的插件化数据处理软件的流程配置方法,其特征在于,所述将若干所述动态链接库按照所述功能模块的执行排列顺序添加至数据处理软件的初始配置文件中,以得到功能配置文件的步骤包括:
基于若干所述动态链接库生成若干consumers标签,所述consumers标签用于表述对应动态链接库的程序集的必要信息;
基于所述功能模块的执行排列顺序生成queues标签,其中,所述queues标签包括若干add子标签,所述add子标签的顺序表述所述功能模块的处理顺序,每个所述add子标签包含一个name字段,所述name字段用于表示所需的功能模块的名称;
基于若干所述add子标签的顺序将所述queues标签与对应的consumers标签添加至数据处理软件的初始配置文件中,以得到功能配置文件。
4.根据权利要求3所述的插件化数据处理软件的流程配置方法,其特征在于,所述consumers标签至少包括功能模块信息、功能模块的程序集以及程序集文件名。
5.根据权利要求1所述的插件化数据处理软件的流程配置方法,其特征在于,所述读取所述功能配置文件,为每个所述动态链接库创建实例并对每个所述实例进行接口统一处理的步骤包括:
读取所述功能配置文件,以获取所需加载的功能模块的程序集以及各功能模块的执行排列顺序;
使用Assembly.LoadFrom方法按照各功能模块的执行排列顺序加载各个功能模块的程度集,并获取每个功能模块的入口主类名称;
基于所述功能模块的入口主类名称使用对应的构造函数构建对应类型的实例,并将所有实施的接口转换为统一的固定接口。
6.根据权利要求5所述的插件化数据处理软件的流程配置方法,其特征在于,在所述基于所述功能模块的入口主类名称使用对应的构造函数构建对应类型的实例,并将所有实施的接口转换为统一的固定接口的步骤中,所述固定接口为IDacTaskResultConsumer。
7.一种插件化数据处理软件的流程配置系统,其特征在于,所述系统包括:
封装模块,用于获取待处理数据所需的功能模块,将所述功能模块通过预设封装工具独立封装为若干动态链接库;
配置模块,用于将若干所述动态链接库按照所述功能模块的执行排列顺序添加至数据处理软件的初始配置文件中,以得到功能配置文件;
统一模块,用于读取所述功能配置文件,为每个所述动态链接库创建实例并对每个所述实例进行接口统一处理;
加载模块,用于加载所述功能配置文件并按照所述功能模块的执行排列顺序将对应的实例加载至数据处理流程任务队列中。
8.根据权利要求7所述的插件化数据处理软件的流程配置系统,其特征在于,所述配置模块包括:
第一标签子模块,用于基于若干所述动态链接库生成若干consumers标签,所述consumers标签用于表述对应动态链接库的程序集的必要信息;
第二标签子模块,用于基于所述功能模块的执行排列顺序生成queues标签,其中,所述queues标签包括若干add子标签,所述add子标签的顺序表述所述功能模块的处理顺序,每个所述add子标签包含一个name字段,所述name字段用于表示所需的功能模块的名称;
文件生成子模块,用于基于若干所述add子标签的顺序将所述queues标签与对应的consumers标签添加至数据处理软件的初始配置文件中,以得到功能配置文件。
9.一种计算机,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的插件化数据处理软件的流程配置方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的插件化数据处理软件的流程配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311714920.5A CN117407048B (zh) | 2023-12-14 | 2023-12-14 | 一种插件化数据处理软件的流程配置方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311714920.5A CN117407048B (zh) | 2023-12-14 | 2023-12-14 | 一种插件化数据处理软件的流程配置方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117407048A true CN117407048A (zh) | 2024-01-16 |
CN117407048B CN117407048B (zh) | 2024-03-12 |
Family
ID=89494714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311714920.5A Active CN117407048B (zh) | 2023-12-14 | 2023-12-14 | 一种插件化数据处理软件的流程配置方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407048B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118409786A (zh) * | 2024-07-04 | 2024-07-30 | 杭州行至云起科技有限公司 | 基于多进程配置动态链接库的方法、装置、设备及介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070266381A1 (en) * | 2006-05-11 | 2007-11-15 | Square D Company | Loading a chain of processors from an XML file |
US20100229150A1 (en) * | 2009-03-06 | 2010-09-09 | Microsoft Corporation | Software test bed generation |
US20110224811A1 (en) * | 2010-03-09 | 2011-09-15 | Avistar Communications Corporation | Scalable high-performance interactive real-time media architectures for virtual desktop environments |
WO2016135729A1 (en) * | 2015-02-26 | 2016-09-01 | Israel Zimmerman | A method to identify known compilers functions, libraries and objects inside files and data items containing an executable code |
CN111063432A (zh) * | 2019-12-13 | 2020-04-24 | 深圳开立生物医疗科技股份有限公司 | 一种超声数据处理方法、装置及超声设备和存储介质 |
CN111104648A (zh) * | 2018-10-29 | 2020-05-05 | 鸿合科技股份有限公司 | 一种软件处理方法及装置、应用程序、电子设备 |
CN112445490A (zh) * | 2020-11-19 | 2021-03-05 | 深圳市元征科技股份有限公司 | 文件序列处理方法、装置、终端设备及存储介质 |
CN114090365A (zh) * | 2021-12-06 | 2022-02-25 | 航天新长征大道科技有限公司 | 使用动态链接库进行功能测试的方法、装置和设备 |
CN116011400A (zh) * | 2023-01-17 | 2023-04-25 | 北京轩宇信息技术有限公司 | 一种项目标准测试文档自动化生成方法及装置 |
CN116028163A (zh) * | 2023-01-30 | 2023-04-28 | 联想(北京)有限公司 | 一种容器组的动态链接库调度方法、装置及存储介质 |
CN116303820A (zh) * | 2023-02-17 | 2023-06-23 | 深圳市酷开网络科技股份有限公司 | 标签生成方法、装置、计算机设备及介质 |
CN116594861A (zh) * | 2023-04-04 | 2023-08-15 | 武汉大学 | 基于模拟执行的Native动态链接库分析方法及系统 |
-
2023
- 2023-12-14 CN CN202311714920.5A patent/CN117407048B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070266381A1 (en) * | 2006-05-11 | 2007-11-15 | Square D Company | Loading a chain of processors from an XML file |
US20100229150A1 (en) * | 2009-03-06 | 2010-09-09 | Microsoft Corporation | Software test bed generation |
US20110224811A1 (en) * | 2010-03-09 | 2011-09-15 | Avistar Communications Corporation | Scalable high-performance interactive real-time media architectures for virtual desktop environments |
WO2016135729A1 (en) * | 2015-02-26 | 2016-09-01 | Israel Zimmerman | A method to identify known compilers functions, libraries and objects inside files and data items containing an executable code |
CN111104648A (zh) * | 2018-10-29 | 2020-05-05 | 鸿合科技股份有限公司 | 一种软件处理方法及装置、应用程序、电子设备 |
CN111063432A (zh) * | 2019-12-13 | 2020-04-24 | 深圳开立生物医疗科技股份有限公司 | 一种超声数据处理方法、装置及超声设备和存储介质 |
CN112445490A (zh) * | 2020-11-19 | 2021-03-05 | 深圳市元征科技股份有限公司 | 文件序列处理方法、装置、终端设备及存储介质 |
CN114090365A (zh) * | 2021-12-06 | 2022-02-25 | 航天新长征大道科技有限公司 | 使用动态链接库进行功能测试的方法、装置和设备 |
CN116011400A (zh) * | 2023-01-17 | 2023-04-25 | 北京轩宇信息技术有限公司 | 一种项目标准测试文档自动化生成方法及装置 |
CN116028163A (zh) * | 2023-01-30 | 2023-04-28 | 联想(北京)有限公司 | 一种容器组的动态链接库调度方法、装置及存储介质 |
CN116303820A (zh) * | 2023-02-17 | 2023-06-23 | 深圳市酷开网络科技股份有限公司 | 标签生成方法、装置、计算机设备及介质 |
CN116594861A (zh) * | 2023-04-04 | 2023-08-15 | 武汉大学 | 基于模拟执行的Native动态链接库分析方法及系统 |
Non-Patent Citations (3)
Title |
---|
张东;吴晓琳;: "基于插件技术实现遥测数据事后处理系统软件", 舰船电子工程, no. 12, 20 December 2008 (2008-12-20) * |
文欣秀;米西峰;赫枫龄;: "基于动态链接库实现软件界面组件化方法研究", 计算机应用与软件, no. 07, 15 July 2007 (2007-07-15) * |
李炜怿;成洋;韩征;: "使用动态链接库技术实现LabWindows/CVI中Word报表生成功能", 电子测量技术, no. 04, 15 April 2008 (2008-04-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118409786A (zh) * | 2024-07-04 | 2024-07-30 | 杭州行至云起科技有限公司 | 基于多进程配置动态链接库的方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117407048B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111428462B (zh) | 通讯协议模板构建的方法及终端设备 | |
CN109558290B (zh) | 服务器、接口自动化测试方法及存储介质 | |
CN109062563B (zh) | 用于生成页面的方法和装置 | |
CN108920496B (zh) | 一种渲染方法及装置 | |
CN117407048B (zh) | 一种插件化数据处理软件的流程配置方法及系统 | |
CN109634841B (zh) | 电子装置、接口自动化测试方法及存储介质 | |
CN112765023A (zh) | 测试用例生成方法、装置 | |
CN114115904B (zh) | 信息处理方法、装置、服务器及存储介质 | |
CN112631590B (zh) | 组件库生成方法、装置、电子设备和计算机可读介质 | |
CN114077430A (zh) | 界面生成方法、装置、电子设备及存储介质 | |
CN114895935A (zh) | 刷写车辆ecu的方法、装置、电子设备及存储介质 | |
CN111240772A (zh) | 一种基于区块链的数据处理方法、装置及存储介质 | |
CN110688320B (zh) | 全局变量的检测方法、装置及终端设备 | |
CN111078529B (zh) | 客户端写入模块测试方法、装置、电子设备 | |
CN113971019B (zh) | 数据类型创建方法、装置、服务器及介质 | |
US9679092B1 (en) | Constraint handling for parameterizable hardware description language | |
CN110968339A (zh) | 前端构建工具的方法、装置以及电子设备 | |
CN110908882A (zh) | 一种应用程序的性能分析方法、装置、终端设备及介质 | |
CN116048731A (zh) | 代码处理方法、装置、电子设备及存储介质 | |
CN113641594B (zh) | 跨端自动化测试方法以及相关装置 | |
CN113822002B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN113741878B (zh) | 基于GraphQL的接口构建方法、系统、电子设备及存储介质 | |
US8954307B1 (en) | Chained programming language preprocessors for circuit simulation | |
CN115599401A (zh) | 自定义模型的发布方法、装置、设备及介质 | |
CN114661298A (zh) | 公共方法自动生成方法、系统、设备及介质 |
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 |