数据调度方法及装置与流程

文档序号:17987609发布日期:2019-06-22 00:31阅读:135来源:国知局
数据调度方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种数据调度方法及装置。



背景技术:

在数据链地面应用系统设计领域中,目前普遍以多任务计算为基础设计其软件服务系统。多任务模式在一定程度上满足了数据链地面应用系统中业务类型多、任务调度频繁的需求特点,但依赖于操作系统进行常规构建的多任务软件服务系统并未进行专门的多核计算优化,对多核计算机的处理核心利用率普遍偏低,因此其业务处理能力和任务调度能力受到制约,无法满足复杂数据链地面应用系统的需求。

另一方面,随着数据链技术的发展,数据链信道容量也得到很大拓展,数据链业务需求也随之丰富和多样化。目前,除诸如目标位置信息、电子侦察信息、战场态势信息等常规业务数据外,战场实时视频流、突发存储转发数据流、无人机宽幅高分辨率侦察图像数据等渐渐成为数据链系统的主要业务数据。该类型业务具有吞吐量大、处理实时性要求高等特点,以常规多任务计算为基础的数据链地面应用系统很难满足需求。此外,数据链地面应用系统的数据应用终端的数量和种类也呈现增长态势,大大增加了数据链地面应用系统进行业务数据实时分发的压力,对数据链地面应用系统的设计提出了很大挑战。

因此,需要一种能够满足大吞吐量且具有可实时调度特性的数据调度方法及装置。



技术实现要素:

本发明的目的在于克服现有技术不足,提供了一种数据调度方法及装置,能够解决上述现有技术中无法实现大吞吐量数据的实时调度问题。

本发明的技术解决方案:一种数据调度方法,该方法包括:接收视频和/或图像数据流;基于写入命令根据第一双缓存中各缓存区的状态存储所接收的数据流,基于读取命令根据第一双缓存中各缓存区的状态输出存储的数据流;对输出的数据流进行格式化预处理;基于写入命令根据第二双缓存中各缓存区的状态存储格式化预处理后的数据流,基于读取命令根据第二双缓存中各缓存区的状态输出存储的格式化预处理后的数据流;对输出的格式化预处理后的数据流进行数据分发。

优选地,基于写入命令根据第一双缓存中各缓存区的状态存储所接收的数据流包括:在所述第一双缓存中状态为空闲状态的缓存区中存储接收的数据流;基于读取命令根据第一双缓存中各缓存区的状态输出存储的数据流包括:从所述第一双缓存中的状态为空闲状态的缓存区中输出存储的数据流。

优选地,该方法还包括:接收第一响应信号,所述第一响应信号包括指示存储的数据流的输出完成的标识;基于所述第一响应信号控制所述第一双缓存中的两个缓存区域的读写状态切换。

优选地,基于写入命令根据第二双缓存中各缓存区的状态存储格式化预处理后的数据流包括:在所述第二双缓存中的状态为空闲状态的缓存区中存储格式化预处理后的数据流;基于读取命令根据第二双缓存中各缓存区的状态输出存储的格式化预处理后的数据流包括:从所述第二双缓存中的状态为空闲状态的缓存区中输出存储的格式化预处理后的数据流。

优选地,该方法还包括:接收第二响应信号,所述第二响应信号包括指示存储的格式化预处理后的数据流的输出完成的标识;基于所述第二响应信号控制所述第二双缓存中的两个缓存区域的读写状态切换。

本发明还提供了一种数据调度装置,该装置包括:数据流接入队列管理模块,用于接收视频和/或图像数据流;第一双缓存调度模块,用于基于写入命令根据第一双缓存中各缓存区的状态存储所接收的数据流;所述第一双缓存调度模块还用于基于读取命令根据第一双缓存中各缓存区的状态输出存储的数据流;格式化预处理模块,用于对输出的数据流进行格式化预处理;第二双缓存调度模块,用于基于写入命令根据第二双缓存中各缓存区的状态存储格式化预处理后的数据流;所述第二双缓存调度模块还用于基于读取命令根据第二双缓存中各缓存区的状态输出存储的格式化预处理后的数据流;数据流分发队列管理模块,用于对输出的格式化预处理后的数据流进行数据分发。

优选地,所述第一双缓存调度模块基于写入命令根据第一双缓存中各缓存区的状态存储所接收的数据流包括:在所述第一双缓存中状态为空闲状态的缓存区中存储接收的数据流;所述第一双缓存调度模块基于读取命令根据第一双缓存中各缓存区的状态输出存储的数据流包括:从所述第一双缓存中的状态为空闲状态的缓存区中输出存储的数据流。

优选地,所述第一双缓存调度模块还用于接收第一响应信号,所述第一响应信号包括指示存储的数据流的输出完成的标识;所述第一双缓存调度模块还用于基于所述第一响应信号控制所述第一双缓存中的两个缓存区域的读写状态切换。

优选地,所述第二双缓存调度模块基于写入命令根据第二双缓存中各缓存区的状态存储格式化预处理后的数据流包括:在所述第二双缓存中的状态为空闲状态的缓存区中存储格式化预处理后的数据流;所述第二双缓存调度模块基于读取命令根据第二双缓存中各缓存区的状态输出存储的格式化预处理后的数据流包括:从所述第二双缓存中的状态为空闲状态的缓存区中输出存储的格式化预处理后的数据流。

优选地,该方法还包括:所述第二双缓存调度模块还用于接收第二响应信号,所述第二响应信号包括指示存储的格式化预处理后的数据流的输出完成的标识;所述第二双缓存调度模块还用于基于所述第二响应信号控制所述第二双缓存中的两个缓存区域的读写状态切换。

通过上述技术方案,可以基于写入命令和读取命令在第一双缓存中进行接收的数据流的存储和输出,输出的数据流可以被格式化预处理,之后可以基于写入命令和读取命令在第二双缓存中进行格式化预处理后的数据流的存储和输出,并可以对输出的格式化预处理后的数据流进行数据分发。由此,能够处理多数据流接入(例如,大数据流的可靠“吞入”),从而实现大吞吐量数据的实时调度。

附图说明

所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部分,用于例示本发明的实施例,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的数据调度方法的流程图;以及

图2为本发明实施例提供的数据调度装置的方框图。

具体实施方式

下面将结合附图对本发明的具体实施例进行详细说明。在下面的描述中,出于解释而非限制性的目的,阐述了具体细节,以帮助全面地理解本发明。然而,对本领域技术人员来说显而易见的是,也可以在脱离了这些具体细节的其它实施例中实践本发明。

在此需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的设备结构和/或处理步骤,而省略了与本发明关系不大的其他细节。

图1为本发明实施例提供的数据调度方法的流程图。

如图1所示,本发明一种实施例提供的数据调度方法包括:

s100,接收视频和/或图像数据流;

s102,基于写入命令根据第一双缓存中各缓存区的状态存储所接收的数据流,基于读取命令根据第一双缓存中各缓存区的状态输出存储的数据流;

s104,对输出的数据流进行格式化预处理;

s106,基于写入命令根据第二双缓存中各缓存区的状态存储格式化预处理后的数据流,基于读取命令根据第二双缓存中各缓存区的状态输出存储的格式化预处理后的数据流;

s108,对输出的格式化预处理后的数据流进行数据分发。

通过上述技术方案,可以基于写入命令和读取命令在第一双缓存中进行接收的数据流的存储和输出,输出的数据流可以被格式化预处理,之后可以基于写入命令和读取命令在第二双缓存中进行格式化预处理后的数据流的存储和输出,并可以对输出的格式化预处理后的数据流进行数据分发。由此,能够处理多数据流接入(例如,大数据流的可靠“吞入”),从而实现大吞吐量数据的实时调度。

换言之,本发明提供了一种满足大吞吐量且具有可实时调度特性的集数据接入、格式化预处理与分发的数据调度方法。该方法不仅能够处理多数据流接入,实现大数据流的可靠“吞入”,保证数据流的完整性,同时针对地面数据链应用系统对业务数据的多样化应用需求,该方法提供了具有一定实时性的调度模式,该调度模式可提供业务数据的实时分发性能,实现大数据流的可靠“吐出”。

虽然图1中以顺序的方式示出了各步骤,但由于在该方法中采用了双缓存(可以在执行存入操作的同时进行读取操作),所以各步骤可以同时执行。例如,在接收数据的同时,可以进行数据流的格式化预处理和格式化预处理后的数据的分发。

在本发明中,上述的方法采用了openmp多核计算框架,发挥多核计算机的计算核心数量优势的同时,能够通过openmp专有的计算核心任务协调能力发挥多核计算机的共性优势。

并且,在利用openmp多核计算引擎进行任务切割分解时,该方法提出了数据流接入队列管理、格式化预处理、数据流分发队列管理三个主要步骤并行处理,各步骤之间通过双缓存进行两两之间的业务粘合,充分地保证了任务的独立性和并行性。

也就是,能够实现三个步骤真正意义的不间断运行,最大限度发挥有限计算资源的计算能力,有力提升大吞吐量多数据流接入能力。同时,采用双缓存技术进行“数据流接入—格式化预处理”、“格式化预处理—数据流分发”的任务粘合从而形成完整的数据吞吐流。

根据本发明一种实施例,基于写入命令根据第一双缓存中各缓存区的状态存储所接收的数据流包括:在所述第一双缓存中状态为空闲状态的缓存区中存储接收的数据流;基于读取命令根据第一双缓存中各缓存区的状态输出存储的数据流包括:从所述第一双缓存中的状态为空闲状态的缓存区中输出存储的数据流。

第一双缓存可以具有独立的两片缓存区,第一双缓存中的一片缓存区可以用于存入(写入)操作,第一双缓存中的另一片缓存区可以用于取出(读出)操作,两片缓存区的各自的存入和取出操作可以并行运行。举例来讲,在其中一片缓存区用于存储接收的数据流的同时,另一片缓存区可以用于输出之前存储的数据流(接收的数据流)。

根据本发明一种实施例,该方法还可以包括:

接收第一响应信号,所述第一响应信号包括指示存储的数据流的输出完成的标识;

基于所述第一响应信号控制所述第一双缓存中的两个缓存区域的读写状态切换。

由此,可以解决以下问题:第一双缓存中的两个缓存区并行运行(存入操作和取出操作同时进行)且二者之间并无协调机制的情况下,二者针对同一模块既读又写的资源竞争,从而保证了第一双缓存中的两个缓存区数据并行分发调度的安全性和可靠性。

其中,第一响应信号中包括的标识例如可以为第一存取完成标识。

根据本发明一种实施例,基于写入命令根据第二双缓存中各缓存区的状态存储格式化预处理后的数据流包括:在所述第二双缓存中的状态为空闲状态的缓存区中存储格式化预处理后的数据流;基于读取命令根据第二双缓存中各缓存区的状态输出存储的格式化预处理后的数据流包括:从所述第二双缓存中的状态为空闲状态的缓存区中输出存储的格式化预处理后的数据流。

根据本发明一种实施例,该方法还可以包括:

接收第二响应信号,所述第二响应信号包括指示存储的格式化预处理后的数据流的输出完成的标识;

基于所述第二响应信号控制所述第二双缓存中的两个缓存区域的读写状态切换。

由此,可以解决以下问题:第二双缓存中的两个缓存区并行运行且二者之间并无协调机制的情况下,二者针对同一模块既读又写的资源竞争,从而保证了第二双缓存中的两个缓存区数据并行分发调度的安全性和可靠性。

其中,第二响应信号中包括的标识例如可以为第二存取完成标识。

此外,在调度方面,设计了数据流接入、格式化预处理、数据流分发的优先级逐级提升的调度机制(优先级的高低决定了发起双缓存调度请求的步骤的主动权),从而保证数据分发的实时性。

图2为本发明实施例提供的数据调度装置的方框图。

如图2所示,本发明一种实施例提供的数据调度装置包括:第一双缓存30和第二双缓存32;数据流接入队列管理模块20,用于接收视频和/或图像数据流;第一双缓存调度模块22,用于基于写入命令根据第一双缓存30中各缓存区的状态存储所接收的数据流;所述第一双缓存调度模块22还用于基于读取命令根据第一双缓存30中各缓存区的状态输出存储的数据流;格式化预处理模块24,用于对输出的数据流进行格式化预处理;第二双缓存调度模块26,用于基于写入命令根据第二双缓存32中各缓存区的状态存储格式化预处理后的数据流;所述第二双缓存调度模块26还用于基于读取命令根据第二双缓存32中各缓存区的状态输出存储的格式化预处理后的数据流;数据流分发队列管理模块28,用于对输出的格式化预处理后的数据流进行数据分发。

通过上述技术方案,第一双缓存调度模块可以基于写入命令和读取命令在第一双缓存中进行数据流接入队列管理模块接收的数据流的存储和输出,输出的数据流可以被格式化预处理模块进行格式化预处理,之后第二双缓存调度模块可以基于写入命令和读取命令在第二双缓存中进行格式化预处理后的数据流的存储和输出,数据流分发队列管理模块可以对输出的格式化预处理后的数据流进行数据分发。由此,能够处理多数据流接入(例如,大数据流的可靠“吞入”),从而实现大吞吐量数据的实时调度。

其中,数据流接入队列管理模块20接收的视频和/或图像数据流例如可以包括战场实时视频数据流和/或无人机宽幅高分辨率侦查图像源数据流。格式化预处理模块24例如可以包括视频流格式化器和/或图像格式化器。数据流分发队列管理模块28例如可以包括视频分发通道和/或图像分发通道。

举例来讲,数据流接入队列管理模块20是所有数据流接入的容器,负责管理多数据流可靠的接收并通过第一双缓存调度模块22存入第一双缓存30中的缓存区;格式化预处理单元24通过第一双缓存调度模块22取出第一双缓存30中的缓存区内的数据并进行格式化处理后通过第二双缓存调度模块26存入第二双缓存32中的缓存区;数据流分发队列管理模块28通过第二双缓存调度模块26取出第二双缓存32中的缓存区内的数据进行分发。

根据本发明一种实施例,所述第一双缓存调度模块22基于写入命令根据第一双缓存30中各缓存区的状态存储所接收的数据流包括:在所述第一双缓存30中状态为空闲状态的缓存区中存储接收的数据流;所述第一双缓存调度模块22基于读取命令根据第一双缓存30中各缓存区的状态输出存储的数据流包括:从所述第一双缓存30中的状态为空闲状态的缓存区中输出存储的数据流。

根据本发明一种实施例,所述第一双缓存调度模块22还用于接收第一响应信号,所述第一响应信号包括指示存储的数据流的输出完成的标识;所述第一双缓存调度模块22还用于基于所述第一响应信号控制所述第一双缓存30中的两个缓存区域的读写状态切换。

由此,可以保证第一双缓存中的两个缓存区数据并行分发调度的安全性和可靠性。

其中,第一响应信号中包括的标识例如可以为第一存取完成标识。

举例来讲,数据流接入队列管理模块20、格式化预处理模块24并行运行,第一双缓存调度模块22负责对这两个模块进行第一双缓存30中的缓存区的存取控制,避免因并行运行而造成对同一片缓冲的竞争性访问从而破坏数据完整性,保证两个模块的存取操作完全隔离协调进行。

根据本发明一种实施例,所述第二双缓存调度模块26基于写入命令根据第二双缓存32中各缓存区的状态存储格式化预处理后的数据流包括:在所述第二双缓存32中的状态为空闲状态的缓存区中存储格式化预处理后的数据流;所述第二双缓存调度模块26基于读取命令根据第二双缓存32中各缓存区的状态输出存储的格式化预处理后的数据流包括:从所述第二双缓存32中的状态为空闲状态的缓存区中输出存储的格式化预处理后的数据流。

根据本发明一种实施例,所述第二双缓存调度模块26还用于接收第二响应信号,所述第二响应信号包括指示存储的格式化预处理后的数据流的输出完成的标识;所述第二双缓存调度模块26还用于基于所述第二响应信号控制所述第二双缓存32中的两个缓存区域的读写状态切换。

由此,可以保证第二双缓存32中的两个缓存区数据并行分发调度的安全性和可靠性。

其中,第二响应信号中包括的标识例如可以为第二存取完成标识。

举例来讲,格式化预处理模块24与数据流分发队列管理模块28同样并行运行,第二双缓存调度模块26负责对这两个模块进行第二双缓存32中的缓存区的存取控制,以保证存取访问隔离安全。

下面结合实例对本发明实施例的数据调度装置及方法进行说明。

数据流分发队列管理模块28具有比格式化预处理模块24更高的优先级,数据流分发队列管理模块28则可以主动发起对第二双缓存32的调度,格式化预处理模块24只能被动响应第二双缓存调度模块26的调度。因此,当格式化预处理模块24并未使用完双缓存区时,数据流分发队列管理模块28只要完成第二双缓存32输出的数据的分发便可立即发起双缓存调度切换缓存对象继续进行数据分发(例如,切换第二双缓存的两个缓存区的读写状态,将输出数据的缓存区切换为用于写入数据,将存入数据的缓存区切换为用于读出数据),从而保证数据分发的不间断性。

格式化预处理模块24具有比数据流接入队列管理模块20更高的优先级,格式化预处理模块24可以主动发起对第一双缓存30的调度,数据流接入队列管理模块20只能被动响应第一双缓存调度模块22的调度。因此,当数据流接入队列管理模块20并未使用完双缓存区时,格式化预处理模块24只要完成第一双缓存30输出的数据的格式化预处理便可立即发起双缓存调度切换缓存对象继续进行格式化预处理(例如,切换第一双缓存的两个缓存区的读写状态,将输出数据的缓存区切换为用于写入数据,将存入数据的缓存区切换为用于读出数据),从而保证数据预处理的不间断性。

因此,本发明的方法和装置通过优先级调度策略避免了前级缓存未完全占用而不进行调度的等待时间,保证了调度实时性,从而保证了分发的实时性。

从上述实施例可以看出:

首先,本发明采用专门多核计算技术将数据流接入、格式化预处理、数据流分发进行全并行运行设计,在同等计算资源条件下,具有更高的计算效率,对计算资源的利用更加充分,适合于在计算资源有效的环境下进行部署。

其次,本发明提出的优先级调度策略强调后级功能优先的原则,避免了功能级间因缓存占用未满而导致调度等待的缺点,提高了调度的实时性,保证了数据分发的实时性,对于传输实时视频流的场合具有很好的应用价值。

再次,本发明提出了安全的数据存入与取出访问控制,将对两片缓存的竞争问题简化为对单一变量(即,第一存取完成标识和第二存取完成标识)的竞争问题,这样的调度模式保证了对单一变量访问的隔离性,从而保证对缓存访问的协调性,实现调度的安全性。

总之,本发明实现了对大吞吐量多数据流的实时接入、格式化预处理及实时分发,满足了计算资源有限条件下进行数据链地面应用系统部署的软件设计需求。同时,本发明上述的数据调度方法和装置具有通用性,可应用于多点视频流接入与传输、高码率遥测数据实时接收与处理、无人机宽幅高分辨率图像接收与可视化、富媒体战术数据接入与分发等技术领域。

如上针对一种实施例描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施例中使用,和/或与其它实施例中的特征相结合或替代其它实施例中的特征使用。

应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤、组件或其组合的存在或附加。

本发明以上的装置和方法可以由硬件实现,也可以由硬件结合软件实现。本发明涉及这样的计算机可读程序,当该程序被逻辑部件所执行时,能够使该逻辑部件实现上文所述的装置或构成部件,或使该逻辑部件实现上文所述的各种方法或步骤。本发明还涉及用于存储以上程序的存储介质,如硬盘、磁盘、光盘、dvd、flash存储器等。

这些实施例的许多特征和优点根据该详细描述是清楚的,因此所附权利要求旨在覆盖这些实施例的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施例限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。

本发明未详细说明部分为本领域技术人员公知技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1