CN114625360B - 一种无耦合数字化开发平台及系统 - Google Patents
一种无耦合数字化开发平台及系统 Download PDFInfo
- Publication number
- CN114625360B CN114625360B CN202210527860.5A CN202210527860A CN114625360B CN 114625360 B CN114625360 B CN 114625360B CN 202210527860 A CN202210527860 A CN 202210527860A CN 114625360 B CN114625360 B CN 114625360B
- Authority
- CN
- China
- Prior art keywords
- data
- clock
- task function
- function module
- platform
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
Abstract
本发明公开了一种无耦合数字化开发平台,用于开发数字化装备的各个任务功能模块;平台中包含有用于定义和导入数据结构体的入口,数据结构体中定义的数据包括每个任务功能模块所输出的数据;平台为任务功能模块提供模型容器,任务功能模块所输出的数据均被对应的模型容器存至唯一对应的内存空间中;平台还为任务功能模块均提供统一时钟管理单元,用于在模块上线时尝试锁定专用内存;若锁定成功,则基于专用内存按周期发布基础调度时钟;若锁定失败,则屏蔽自身功能;任务功能模块,响应于基础调度时钟或自定义时钟,在时钟周期内均依次执行数据的读取、运算以及存储。本发明可以降低数字化系统/装备的研发成本以及测试成本,并提高研发效率。
Description
技术领域
本发明属于数字化装备研发领域,具体涉及一种无耦合数字化开发平台及系统。
背景技术
随着智能化技术的发展,传统装备已经从原来的机械式、液压式的控制模式逐步向电控式、光控式转换,这就决定了未来各种电子化装备均会呈现为一套完全数字化的系统/装备。
数字化系统/装备的功能复杂,因此往往需要将数字化系统/装备划分为多个任务功能模块来分配给不同的开发者分别进行研发,这些任务功能模块之间需要相互协作才能实现系统功能,尤其是任务功能模块之间需要进行频繁的通信与数据的交互。
对于复杂数字化系统/装备而言,各任务功能模块之间的交互需要交叉进行,因此为了减少任务功能模块两两之间的点对点交互所带来的系统复杂度的增加,往往会为复杂数字化系统/装备配备中心式的数据库,各个任务功能模块将数据汇总到该数据库,这样每个任务功能模块便可以通过该数据库获取到其他功能模块的数据。其中,每个任务功能模块内部需要定义一个配置文件,该配置文件中需要将该任务功能模块所要存储的各项数据的名称、类型以及与系统的从属关系等信息一一定义清楚,这样数据库便可以根据配置文件为任务功能模块存储数据,从而根据所存储的数据为各个任务功能模块提供数据分发服务,这种由多个任务功能模块和数据库组成的系统即是数据分发系统。
然而,一旦系统/装备发生变更,例如某个任务功能模块需要做更改、某个任务功能模块需要进行重构或者系统需要进行重构,则上述所有配置文件和数据库都需要进行适应的修改,因此而带来的模块验证以及系统联调等工作量倍增。本领域技术人员均知晓的是,在整个系统研发过程中,因变更所引入的工作量占据了整个系统的研发工作量的80%以上,导致系统/装备的研发效率低下,研发成本较高。并且,一旦数据库崩溃,整个系统/装备的功能都会丧失,造成严重的后果。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种无耦合数字化开发平台及系统。本发明要解决的技术问题通过以下技术方案实现:
一种无耦合数字化开发平台,用于开发数字化装备的各个任务功能模块;
所述平台中包含有用于定义和导入数据结构体的入口,所述数据结构体中定义的数据包括每个所述任务功能模块所输出的数据;
所述平台为每个所述任务功能模块提供对应的模型容器,每个所述任务功能模块所输出的数据均被对应的模型容器存至与该任务功能模块唯一对应的内存空间中;
所述平台还为每个所述任务功能模块均提供一个统一时钟管理单元;
所述统一时钟管理单元,用于在所属的任务功能模块上线时尝试锁定专用内存;若锁定成功,则基于所述专用内存按周期发布基础调度时钟,以使其他任务功能模块接收所述基础调度时钟;若锁定失败,则屏蔽自身功能;
任一在线的任务功能模块,响应于所述基础调度时钟或自定义时钟,在每个时钟周期内均依次执行数据的读取、运算以及存储;其中,所述自定义时钟取自于所述基础调度时钟,且所述自定义时钟的时钟周期等于N倍的所述基础调度时钟的时钟周期,N为大于1的整数。
可选地,所述统一时钟管理单元运行在一独立的线程上,且该线程的优先级最高。
可选地,每个所述任务功能模块对应的内存空间根据该任务功能模块的ID映射得到。
可选地,所述任务功能模块在线时向对应的模型容器发送心跳包,以使所述平台根据所述心跳包生成并输出各任务功能模块是否在线的信息;
并且,当所述平台连续多次未检测到核心心跳包时,重置所有在线的任务功能模块;其中,所述核心心跳包为负责发布所述基础调度时钟的任务功能模块的心跳包。
可选地,所述心跳包的数据载荷包括:任务功能模块的ID。
可选地,所述平台中设有广义通信库,以供用户开发所述任务功能模块时选用;
所述广义通信库包括多个通信转换协议,所述通信转换协议为实现平台内外部数据格式转换的协议;其中,内部数据是所述数据结构体中定义的数据,外部数据是所述数据结构体中未定义的数据。
可选地,所述统一时钟管理单元是通过发布调度帧来发布所述基础调度时钟的;
所述调度帧中,包含有配置所述基础调度时钟的时钟周期的字段、统计所述基础调度时钟的发布次数的字段以及时间戳。
可选地,任一所述任务功能模块,响应于所述基础调度时钟或自定义时钟,在每个时钟周期内均依次执行数据的读取、运算以及存储,包括:
响应于所述基础调度时钟或自定义时钟,从计算机内存中读取与自身的输入相关的数据;
按照该任务功能模块中所选定的数据处理策略,基于所读取的数据执行数据运算,并将运算结果存入该任务功能模块对应的内存空间中;
其中,任一所述任务功能模块中所选定的数据处理策略包括:
将所读取的数据缓存至不限长度的第一队列中,并基于所述第一队列中存储的数据执行数据运算;或者,
用所读取的数据覆盖上一时钟周期中所读取的数据,并基于最新读取的数据执行数据运算;或者,
将所读取的数据缓存至具有预设长度的第二队列中,若所述第二队列已满,则弹出所述第二队列中最早存储的数据;基于所述第二队列中存储的数据执行数据运算。
可选地,任一所述任务功能模块中所选定的数据处理策略还包括:
若所读取的数据不足以执行本次的数据运算,则结合本次读取的数据以及上一时钟周期中读取的数据执行本次的数据运算;或者,
若所读取的数据不足以执行本次的数据运算,则清除本次读取的数据,并跳过本次的数据运算及存储步骤。
本发明还提供了一种无耦合数字化系统,包括多个任务功能模块,所述多个任务功能模块是采用上述任一项所述的无耦合数字化开发平台所开发的。
本发明的有益效果:
本发明提供的无耦合数字化开发平台,用于开发数字化装备的各个任务功能模块,该平台中包含有用于定义和导入数据结构体的入口,该数据结构体包括了每个任务功能模块所输出的数据;并且,该平台为每个任务功能模块提供了对应的模型容器,任务功能模块所输出的数据均被对应的模型容器存至与任务功能模块唯一对应的内存空间中;由此,任务功能模块之间的数据交互可通过直接访问内存的方式来实现,无需再额外设置数据库;并且,本发明的这种数据交互方式无需再根据配置文件来解析各项数据的名称、类型以及与系统的从属关系等信息,使得任务功能模块间的接口、协议实现了解耦,且由于直接访问内存的速度更快,从而使任务功能模块间的协作效率得到了很大的提升。
此外,平台还为每个任务功能模块均提供一个统一时钟管理单元,该统一时钟管理单元,用于在所属的任务功能模块上线时尝试锁定专用内存;若锁定成功,则基于该专用内存按周期发布基础调度时钟,以使其他任务功能模块接收所述基础调度时钟;若锁定失败,则屏蔽自身功能;由此,在线的任务功能模块可响应于基础调度时钟或取自于基础调度时钟的自定义时钟,在每个时钟周期内均依次执行数据的读取、运算以及存储,确保了任务功能模块间在时钟上的同步性。
综上,利用本发明实施例提供的无耦合数字化开发平台来开发数字化装备,可以实现任务功能模块间在接口、协议以及逻辑上的解耦,降低了数字化装备的复杂度,由此可有效的降低研发成本以及测试成本,提高数字化装备的研发效率。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种无耦合数字化开发平台的结构示意图;
图2是本发明实施例中的自定义时钟取自于基础调度时钟的示意图;
图3是是本发明实施例提供的另一种无耦合数字化开发平台的结构示意图;
图4是本发明实施例中的调度帧的帧结构示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
为了降低数字化系统/装备的研发成本以及测试成本,并提高研发效率,本发明实施例提供了一种无耦合数字化开发平台,该平台用于开发数字化装备的各个任务功能模块,这些任务功能模块协同工作,实现数字化装备的相应功能。
参加图1所示,该平台中包含有用于定义和导入数据结构体(Struct)的入口(Struct 定义&导入),该数据结构体中定义的数据包括每个任务功能模块所输出的数据;该平台为每个任务功能模块提供对应的模型容器,每个任务功能模块所输出的数据均被对应的模型容器存至与该任务功能模块唯一对应的内存空间中。
本领域技术人员均知晓,所谓容器是软件及其运行环境的标准化打包。本发明实施例中所说的模型容器即指的是这一类容器。
可以理解的是,由于每个任务功能模块均唯一对应计算机的一段内存空间,故而任务功能模块之间的数据交互可通过直接访问内存的方式来实现,无需再额外设置数据库。并且,相较于现有的数据分发系统中每个任务功能模块内部分别定义配置文件、再将配置文件给到数据库进行解析的方式而言,本发明实施例中无需再根据配置文件来解析各项数据的名称、类型以及与系统的从属关系等信息,使得任务功能模块间的接口、协议实现了解耦,又由于直接访问内存的速度更快,使得任务功能模块间的协作效率得到了很大的提升。
例如,本发明实施例在任务功能模块间实现1G大小的数据交互只需20微秒左右即可完成,而在数据分发系统中通过通信接口来实现数据在任务功能模块间的传输,即使是100字节,也需要200~500微妙。
在实际应用中,为任务功能模块对应唯一的内存空间的具体实现方式存在多种。示例性的,在一种实现方式中,每个任务功能模块对应的内存空间可以根据该任务功能模块的ID映射得到。可以理解的是,任务功能模块的ID是唯一的,因此根据ID为任务功能模块映射的内存空间与任务功能模块也是唯一对应的。
在另一种实现方式中,若不同任务功能模块的名称是不同的,则也可以根据任务功能模块的名称来为任务功能模块映射内存空间。
在另一种实现方式中,根据任务功能模块的ID或名称,结合任务功能模块在平台中的创建时间,也可以唯一指定任务功能模块,由此也可以根据任务功能模块的ID/名称,以及任务功能模块在平台中的创建时间来为任务功能模块映射内存空间。
继续参见图1,该平台还为每个任务功能模块均提供一个统一时钟管理单元(clk);该统一时钟管理单元,用于在其所属的任务功能模块上线时尝试锁定专用内存;若锁定成功,则基于该专用内存按周期发布基础调度时钟,以使其他任务功能模块接收该基础调度时钟;若锁定失败,则屏蔽自身功能;由此,任一在线的任务功能模块,响应于该基础调度时钟或自定义时钟,在每个时钟周期内均依次执行数据的读取、运算以及存储;其中,自定义时钟取自于基础调度时钟,且该自定义时钟的时钟周期等于N倍的基础调度时钟的时钟周期,N为大于1的整数。
其中,任务功能模块是否在线,可以由平台通过任务功能模块对应的模型容器来感知。具体而言,任务功能模块在线时可以向对应的模型容器发送心跳包,以使平台根据这些心跳包确定任务功能模块是否在线;然后,平台还可以将任务功能模块是否在线的信息输出给平台的用户查看。
可以理解的是,无耦合数字化开发平台是一款软件开发平台,因此平台内部可提供调试命令,当用户在平台内将任务功能模块的程序代码编写完毕时,可以通过调用该调试命令来模拟数字化装备的运行,此时任务功能模块便会持续地向平台发送心跳包,同时所有任务功能模块竞争专用内存,哪个任务功能模块先行锁定专用内存成功,该任务功能模块的统一时钟管理单元便被激活,相应的其余任务功能模块的统一时钟管理单元便失效。
其中,时钟管理单元被激活的任务功能模块,即负责发布基础调度时钟的任务功能模块,其发给对应的模型容器的心跳包可以称作核心心跳包。
在一种可选实现方式中,当平台连续多次未检测到核心心跳包时,可以重置所有在线的任务功能模块;此时,所有的任务功能模块会重新竞争专用内存。这样,可以确保基础调度时钟始终在位,不会导致数字化装备的功能瘫痪。
可选地,上述心跳包的数据载荷可以包括任务功能模块的ID,当然,并不局限于此,例如也可以用空数据包作为心跳包,这都是合理的。
另外,优选地,为了随时确保时钟的有效性,激活后的统一时钟管理单元可以运行在一独立的线程上,该线程占用上述的专用内存,且该线程的优先级可设置为最高。
对于每个在线的任务功能模块而言,其内部可预先定义好是采用基础调度时钟作为时钟基准进行工作,还是采用自定义时钟作为时钟基准进行工作。例如,若基础调度时钟的时钟周期为10毫秒,则当某个任务功能模块需要以50毫秒为时钟基准工作时,则该任务功能模块可以在将第一个基础调度时钟作为第一个自定义时钟并执行数据的读取、运算以及存储后,以后每累计收到5次基础调度时钟,便执行一次数据的读取、运算以及存储。由此,该任务功能模块的自定义时钟的时钟周期就如在图2中所示的,是基础调度时钟的时钟周期的N=5倍。
现有的数据分发系统中,各任务功能模块仅在模块内部使用统一的时钟,任务功能模块协同工作时可能因数据传输延迟或干扰等因素出现不同步或者时序混乱的现象。相比较而言,在本发明实施例中,基于该统一时钟管理模块,各个在线的任务功能模块响应于基础调度时钟或自定义时钟,在每个时钟周期内均依次执行数据的读取、运算以及存储,即在每个时钟周期内均是先从计算内存中读取执行运算所需要的数据,然后执行运算,运算完成后将运算结果存储至对应的内存空间中;由此,可以确保任务功能模块间在时钟上的同步性。
由于本发明实施例已经解耦了任务功能模块间在接口、协议上的耦合关系,因此再进一步解决了任务功能模块间的时钟同步问题后,便可以实现任务功能模块协同工作时在逻辑关系上的解耦。因此,利用本发明实施例提供的无耦合数字化开发平台来开发数字化装备,可以实现任务功能模块间在接口、协议以及逻辑上的解耦,降低了数字化装备的复杂度,从而有效的降低研发成本以及测试成本,提高数字化装备的研发效率。
为了更好的说明本发明实施例的有益效果,下面对本发明实施例能够有效降低数字化装备的研发成本以及测试成本的应用场景进行举例说明。
在一种应用场景中,若数字化装备中某一个任务功能模块所输出的数据类型以及长度需要进行变更,则只需通过平台将数据结构体进行相应的更新;同理,所有任务功能模块复制并使用更新后的数据结构体,即可完成数字化装备的本次变更。由于任务功能模块的对应的内存空间也是基于数据结构体中对数据的相应定义来生成的,因此当所有任务功能模块都更新数据结构体后,它们各自对应的内存空间也会适应的动态更新,不会出现任务功能模块间抢用内存的错误。
相比较而言,同样的场景发生在数据分发系统中时,则除了需要变更该任务功能模块的配置文件需要变更外,还需要多方人工核对与该任务功能模块的该项变更数据相关的所有任务功能模块,并对它们的配置文件进行相应的修改。并且,由于数据分发系统中任务功能模块间各自定义自己的数据结构,因而数据类型和长度的变更可能导致与该数据相关的其他任务功能模块的工作出错,此时还需要开发人员重新修改任务功能模块的程序代码,修改后还需要进行联调测试等。
在另一个应用场景中,数字化装备需要进行重构,需要采集一种新的数据(例如温度数据),且将该数据输入给已有的任务功能模块使用。对于本发明实施例而言,只需修改数据结构体并新建一个用于采集该新型数据的任务功能模块,并将修改后的数据结构体更新到所有任务功能模块中即可。
同样的场景发生在数据分发系统中时,所有需要用到这种新型数据的任务功能模块的配置文件以及程序代码都需要进行修改并进行测试。
基于上述两个典型的应用场景可知,本发明实施例能够有效降低数字化装备的研发成本以及测试成本。
可选地,在一种实现方式中,如图3所示,本发明实施例提供的无耦合数字化开发平台中还可以设有一个广义通信库,该广义通信库中包括多个通信转换协议,这些通信转换协议为实现平台内外部数据格式转换的协议;其中,内部数据是数据结构体中定义的数据,外部数据是数据结构体中未定义的数据。由此,用户在利用无耦合数字化开发平台开发任务功能模块时,可以直接调用库中的通信转换协议,来将数字化装备外围的DIO(直接I/O)、AIO(异步I/O)、接口、总线、音视频、雷达和/或其他流数据进行统一的格式转换,从而减轻开发人员的工作量。
并且,基于该广义通信库,开发人员无需再将精力放在通信接口协议的转换与处理上,而只需将精力放在与实现任务功能模块的功能相关的运算上。这样,即使对现有各类总线、通信接口不精通的开发人员,也可以利用本发明实施例提供的无耦合数字化开发平台开发复杂的数字化装备。
在实际应用中,数字化装备中所能够涉及到的数据存在多种。例如,紧急事件数据、周期性状态数据、流数据、运行状态数据、诊断/日志消息以及配置数据等。有了该广义通信库,这些数据均可以被转换为数据结构体中所定义的数据。例如,本发明实施例中的基础调度时钟,便是从计算机本地的时钟信号转换而来的。
在一个实施例中,当使用本发明实施例提供的无耦合数字化开发平台来开发一款数字化装备时,该数字化装备的各个任务功能模块,可以包括下述的多个任务功能模块中的多种:
装备仿真模块、装备测试模块、装备状态监视模块、数据存储模块、数据回放模块、装备运行控制模块、数据采集模块、算法决策模块以及对外交互模块。
此外,还可以包括感知模块,该感知模块在在实际装备中可能由1个或多个传感器模块组成,主要是用来感知外界的状态。如温度传感器采集外界温度,激光雷达模块可以实时测量外界物体的三维信息,毫米波雷达模型模块可以实时测量前方的目标信息。这些感知模型模块可以是独立的个体,也可以是几个功能组合在一起的组合体。
从上述对任务功能模块的举例中可以看到,基于本发明实施例提供过的无耦合数字化开发平台来开发数字装备时,仿真、研发以及测试各阶段的任务功能模型可以并行开发。
需要说明的是,上述对任务功能模块的举例仅仅作为示例,并不构成对本发明实施例的限定。
在一种可选实现方式中,统一时钟管理单元可以通过发布调度帧来发布基础调度时钟。该调度帧中,包含有配置基础调度时钟的时钟周期的字段、统计基础调度时钟的发布次数的字段以及时间戳。
基于该调度帧来发布基础调度时钟,不仅使基础调度时钟的时钟周期可以实现灵活可配。并且,各任务功能模块收到调度帧后,可以从中提取时间戳来获取绝对时间,并提取发布次数来获取相对时间。由此,任务功能模块在响应于基础调度时钟或自定义时钟执行数据的读取、运算以及存储时,有绝对时间和相对时间两种时间可供参考使用。
例如,对于用于实现数据回放的功能模块而言,时间戳和对基础调度时钟的发布次数的计数,可以为数据回放提供关键的时间信息。
图4示例性的给出了一种调度帧的帧结构,该调度帧是将数据帧转用得来的。其中,将数据帧中任务功能模块的地址(ID)和数据偏移地址(内存地址)的字段转用为配置基础调度时钟的时钟周期的字段,每个字节对应一种时钟周期。
在一种优选实现方式中,为了避免“数据过热”现象(运算时间过长导致数据不能及时接收)产生,任一任务功能模块,响应于基础调度时钟或自定义时钟,在每个时钟周期内均依次执行数据的读取、运算以及存储,可以包括:
(1)响应于基础调度时钟或自定义时钟,从计算机内存中读取与自身的输入相关的数据;
(2)按照该任务功能模块中所选定的数据处理策略,基于所读取的数据执行数据运算,并将运算结果存入该任务功能模块对应的内存空间中。
其中,任一任务功能模块中所选定的数据处理策略包括:
策略一、将所读取的数据缓存至不限长度的第一队列中,并基于第一队列中存储的数据执行数据运算;或者,
策略二、用所读取的数据覆盖上一时钟周期中所读取的数据,并基于最新读取的数据执行数据运算;或者,
策略三、将所读取的数据缓存至具有预设长度的第二队列中,若第二队列已满,则弹出第二队列中最早存储的数据;基于该第二队列中存储的数据执行数据运算。
可以理解的是,对数据时效性要求较高的任务功能模块,可以选择上述的策略二作为数据处理策略。对数据时效性要求不高,但要求数据完整性的任务功能模块,可以选择上述的策略一作为数据处理策略。对数据时效性以及完整性均有一定要求的任务功能模块,可以选择上述的策略三作为数据处理策略。
另外,为了避免“数据欠压”现象(多轮计算中只接收到一轮数据)产生,任一任务功能模块中所选定的数据处理策略还可以包括:
策略四、若所读取的数据不足以执行本次的数据运算,则结合本次读取的数据以及上一时钟周期中读取的数据执行本次的数据运算;或者,若所读取的数据不足以执行本次的数据运算,则清除本次读取的数据,并跳过本次的数据运算及存储步骤。
优选地,任务功能模块执行数据的接收、运算以及存储分别采用独立的线程实现。
本发明实施例提供的无耦合数字化开发平台,用于开发数字化装备的各个任务功能模块,该平台中包含有用于定义和导入数据结构体的入口,该数据结构体包括了每个任务功能模块所输出的数据;并且,该平台为每个任务功能模块提供了对应的模型容器,任务功能模块所输出的数据均被对应的模型容器存至与任务功能模块唯一对应的内存空间中;由此,任务功能模块之间的数据交互可通过直接访问内存的方式来实现,无需再额外设置数据库;并且,本发明实施例的这种数据交互方式无需再根据配置文件来解析各项数据的名称、类型以及与系统的从属关系等信息,使得任务功能模块间的接口、协议实现了解耦,且由于直接访问内存的速度更快,从而使任务功能模块间的协作效率得到了很大的提升。
此外,平台还为每个任务功能模块均提供一个统一时钟管理单元,该统一时钟管理单元,用于在所属的任务功能模块上线时尝试锁定专用内存;若锁定成功,则基于该专用内存按周期发布基础调度时钟,以使其他任务功能模块接收所述基础调度时钟;若锁定失败,则屏蔽自身功能;由此,在线的任务功能模块可响应于基础调度时钟或取自于基础调度时钟的自定义时钟,在每个时钟周期内均依次执行数据的读取、运算以及存储,确保了任务功能模块间在时钟上的同步性。
综上,利用本发明实施例提供的无耦合数字化开发平台来开发数字化装备,可以实现任务功能模块间在接口、协议以及逻辑上的解耦,降低了数字化装备的复杂度,由此可有效的降低研发成本以及测试成本,提高数字化装备的研发效率。
本发明实施例提供的无耦合数字化开发平台可应用于航空、车载、舰载、星载等电子电气装备的开发,能够有效减少因系统设计更改导致的大范围双V型验证和集成测试过程,尤其适合用来开发高容错、高冗余的复杂装备/系统,且可以应用到数字化装备/系统的全寿命周期的开发活动中,有效协调主机商与供应商的矛盾,实现并行协同开发。
基于同一发明构思,本发明实施例还提供了一种无耦合数字化系统,该系统包括多个任务功能模块,这些任务功能模块均是采用本发明实施例所提供的无耦合数字化开发平台所开发的。因此,该无耦合数字化系统的复杂度较低,相应的其研发成本和测试成本均比较低。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本发明实施例可提供为计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式,这里将它们都统称为“模块”或“系统”。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种无耦合数字化开发平台,其特征在于,用于开发数字化装备的各个任务功能模块;
所述平台中包含有用于定义和导入数据结构体的入口,所述数据结构体中定义的数据包括每个所述任务功能模块所输出的数据;
所述平台为每个所述任务功能模块提供对应的模型容器,每个所述任务功能模块所输出的数据均被对应的模型容器存至与该任务功能模块唯一对应的内存空间中;
所述平台还为每个所述任务功能模块均提供一个统一时钟管理单元;
所述统一时钟管理单元,用于在所属的任务功能模块上线时尝试锁定专用内存;若锁定成功,则基于所述专用内存按周期发布基础调度时钟,以使其他任务功能模块接收所述基础调度时钟;若锁定失败,则屏蔽自身功能;
任一在线的任务功能模块,响应于所述基础调度时钟或自定义时钟,在每个时钟周期内均依次执行数据的读取、运算以及存储;其中,所述自定义时钟取自于所述基础调度时钟,且所述自定义时钟的时钟周期等于N倍的所述基础调度时钟的时钟周期,N为大于1的整数;
其中,任一所述任务功能模块,响应于所述基础调度时钟或自定义时钟,在每个时钟周期内均依次执行数据的读取、运算以及存储,包括:
响应于所述基础调度时钟或自定义时钟,从计算机内存中读取与自身的输入相关的数据;
按照该任务功能模块中所选定的数据处理策略,基于所读取的数据执行数据运算,并将运算结果存入该任务功能模块对应的内存空间中。
2.根据权利要求1所述的无耦合数字化开发平台,其特征在于,所述统一时钟管理单元运行在一独立的线程上,且该线程的优先级最高。
3.根据权利要求1所述的无耦合数字化开发平台,其特征在于,每个所述任务功能模块对应的内存空间根据该任务功能模块的ID映射得到。
4.根据权利要求1所述的无耦合数字化开发平台,其特征在于,所述任务功能模块在线时向对应的模型容器发送心跳包,以使所述平台根据所述心跳包生成并输出各任务功能模块是否在线的信息;
并且,当所述平台连续多次未检测到核心心跳包时,重置所有在线的任务功能模块;其中,所述核心心跳包为负责发布所述基础调度时钟的任务功能模块的心跳包。
5.根据权利要求4所述的无耦合数字化开发平台,其特征在于,所述心跳包的数据载荷包括:任务功能模块的ID。
6.根据权利要求1所述的无耦合数字化开发平台,其特征在于,所述平台中设有广义通信库,以供用户开发所述任务功能模块时选用;
所述广义通信库包括多个通信转换协议,所述通信转换协议为实现平台内外部数据格式转换的协议;其中,内部数据是所述数据结构体中定义的数据,外部数据是所述数据结构体中未定义的数据。
7.根据权利要求1所述的无耦合数字化开发平台,其特征在于,所述统一时钟管理单元是通过发布调度帧来发布所述基础调度时钟的;
所述调度帧中,包含有配置所述基础调度时钟的时钟周期的字段、统计所述基础调度时钟的发布次数的字段以及时间戳。
8.根据权利要求1所述的无耦合数字化开发平台,其特征在于,任一所述任务功能模块中所选定的数据处理策略包括:
将所读取的数据缓存至不限长度的第一队列中,并基于所述第一队列中存储的数据执行数据运算;或者,
用所读取的数据覆盖上一时钟周期中所读取的数据,并基于最新读取的数据执行数据运算;或者,
将所读取的数据缓存至具有预设长度的第二队列中,若所述第二队列已满,则弹出所述第二队列中最早存储的数据;基于所述第二队列中存储的数据执行数据运算。
9.根据权利要求8所述的无耦合数字化开发平台,其特征在于,任一所述任务功能模块中所选定的数据处理策略还包括:
若所读取的数据不足以执行本次的数据运算,则结合本次读取的数据以及上一时钟周期中读取的数据执行本次的数据运算;或者,
若所读取的数据不足以执行本次的数据运算,则清除本次读取的数据,并跳过本次的数据运算及存储步骤。
10.一种无耦合数字化系统,其特征在于,包括多个任务功能模块,所述多个任务功能模块是采用权利要求1~9任一项所述的无耦合数字化开发平台所开发的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210527860.5A CN114625360B (zh) | 2022-05-16 | 2022-05-16 | 一种无耦合数字化开发平台及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210527860.5A CN114625360B (zh) | 2022-05-16 | 2022-05-16 | 一种无耦合数字化开发平台及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114625360A CN114625360A (zh) | 2022-06-14 |
CN114625360B true CN114625360B (zh) | 2022-10-21 |
Family
ID=81907318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210527860.5A Active CN114625360B (zh) | 2022-05-16 | 2022-05-16 | 一种无耦合数字化开发平台及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114625360B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559208A (zh) * | 2020-12-15 | 2021-03-26 | 浪潮云信息技术股份公司 | 一种应用于政务云平台构建微服务mq的方法 |
CN113254379A (zh) * | 2021-05-31 | 2021-08-13 | 湖南博匠信息科技有限公司 | 软件定义装备的软件定义方法及软件定义装备 |
CN114328688A (zh) * | 2021-12-27 | 2022-04-12 | 国网河北省电力有限公司信息通信分公司 | 一种针对电力能源大数据的管控平台 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7343504B2 (en) * | 2004-06-30 | 2008-03-11 | Silicon Labs Cp, Inc. | Micro controller unit (MCU) with RTC |
KR100733465B1 (ko) * | 2005-09-29 | 2007-06-29 | 주식회사 하이닉스반도체 | 지연고정루프회로 |
WO2010000110A1 (zh) * | 2008-07-03 | 2010-01-07 | 中兴通讯股份有限公司 | 分层无线接入系统的同步、调度、网络管理和频率分配方法 |
AU2015313998A1 (en) * | 2014-09-11 | 2017-04-27 | Centrica Connected Home Limited | Device synchronization and testing |
CN106453608B (zh) * | 2016-11-09 | 2019-04-26 | 武汉大学 | 一种基于云端的移动应用的后台请求自适应调度算法 |
US11922564B2 (en) * | 2017-06-05 | 2024-03-05 | Umajin Inc. | Generative content system that supports location-based services and methods therefor |
DE102018010197A1 (de) * | 2018-12-18 | 2020-06-18 | GRID INVENT gGmbH | Elektronisches Element und elektrisch angesteuertes Anzeigeelement |
CN109800054B (zh) * | 2018-12-24 | 2023-05-26 | 四川知周科技有限责任公司 | 一种分布式并行实时仿真调度实现方法 |
CN114424167A (zh) * | 2019-05-06 | 2022-04-29 | 强力物联网投资组合2016有限公司 | 用于促进工业物联网系统智能开发的平台 |
CN110989983B (zh) * | 2019-11-28 | 2022-11-29 | 深圳航天智慧城市系统技术研究院有限公司 | 一种零编码的应用软件快速构建系统 |
CN111506412B (zh) * | 2020-04-22 | 2023-04-25 | 上海德拓信息技术股份有限公司 | 基于Airflow的分布式异步任务构建、调度系统及方法 |
CN112612523B (zh) * | 2020-12-17 | 2022-06-03 | 威胜集团有限公司 | 一种嵌入式设备驱动系统及方法 |
-
2022
- 2022-05-16 CN CN202210527860.5A patent/CN114625360B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559208A (zh) * | 2020-12-15 | 2021-03-26 | 浪潮云信息技术股份公司 | 一种应用于政务云平台构建微服务mq的方法 |
CN113254379A (zh) * | 2021-05-31 | 2021-08-13 | 湖南博匠信息科技有限公司 | 软件定义装备的软件定义方法及软件定义装备 |
CN114328688A (zh) * | 2021-12-27 | 2022-04-12 | 国网河北省电力有限公司信息通信分公司 | 一种针对电力能源大数据的管控平台 |
Also Published As
Publication number | Publication date |
---|---|
CN114625360A (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101084488B (zh) | 用于调试在多核架构中执行的多线程程序的方法和系统 | |
US5566349A (en) | Complementary concurrent cooperative multi-processing multi-tasking processing system using shared memories with a minimum of four complementary processors | |
CN110297689B (zh) | 智能合约执行方法、装置、设备及介质 | |
US6199068B1 (en) | Mapping interface for a distributed server to translate between dissimilar file formats | |
CN107066243B (zh) | 一种通用的机载总线接口控制文档的解析和打包方法 | |
AU9386498A (en) | Automated meter reading system | |
CN103685292A (zh) | 一种通用的协议转换装置及方法 | |
Lebold et al. | OSA-CBM architecture development with emphasis on XML implementations | |
US6289394B1 (en) | Agent management system capable of readily monitoring and controlling agent | |
CN105550131B (zh) | 一种基于有限状态机和arinc659总线的接口数据处理系统及方法 | |
CN114625360B (zh) | 一种无耦合数字化开发平台及系统 | |
CN112559525B (zh) | 数据检查系统、方法、装置和服务器 | |
Liu et al. | A programming system for autonomic self-managing applications | |
CN114625359B (zh) | 通过同步并发网络连接的多机无耦合数字化开发平台 | |
CN116108740A (zh) | 一种电力设备的建模方法及装置 | |
Gergeleit et al. | Checking timing constraints in distributed object-oriented programs | |
Kazman | Software architecture | |
Ehlers | Self-adaptive performance monitoring for component-based software systems | |
Rover et al. | Software tools for complex distributed systems: Toward integrated tool environments | |
CN102822806B (zh) | 检测应用的无进展状态 | |
Ali et al. | Software component quality model | |
Bastani et al. | Reliability assessment of framework-based distributed embedded software systems | |
US8250404B2 (en) | Process integrity of work items in a multiple processor system | |
Şerban et al. | A conceptual framework for component-based system metrics definition | |
CN113342744B (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 |