首页> 中国专利> 一种并发调度和执行时序数据的方法及相关装置

一种并发调度和执行时序数据的方法及相关装置

摘要

本申请公开了一种并发调度和执行时序数据的方法及相关装置,应用于时序数据调度执行系统,方法包括:获取并缓存输入的时序数据,时序数据包括第一数量的不同实例数据;获取和组装第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求;通过第二数量的线程对第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包;对第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据。实施本发明实施例,可以通过多个线程同时为一个实例数据服务,以及一个线程联合调度多个实例数据,从而提高了针对单个实例数据的处理性能以及实现了时序数据并发调度和执行最佳性能。

著录项

  • 公开/公告号CN113127064A

    专利类型发明专利

  • 公开/公告日2021-07-16

    原文格式PDF

  • 申请/专利权人 深圳云天励飞技术有限公司;

    申请/专利号CN201911426140.4

  • 发明设计人 钟斌;

    申请日2019-12-31

  • 分类号G06F9/38(20060101);G06F9/448(20180101);

  • 代理机构44202 广州三环专利商标代理有限公司;

  • 代理人熊永强

  • 地址 518000 广东省深圳市龙岗区园山街道龙岗大道8288号深圳大运软件小镇17栋1楼

  • 入库时间 2023-06-19 11:52:33

说明书

技术领域

本发明涉及电子技术领域,尤其涉及一种并发调度和执行时序数据的方法及相关装置。

背景技术

所谓时序数据,即输入数据按时间顺序输入,且处理输出需要按保持与原始输入的时间顺序一致的数据,例如电信系统中的告警数据、指标数据、性能数据等。特别是在AI的视频处理里面。所有视频的数据的检测/特征提取阶段都可以认为是时序数据的处理。在实际的系统中,时序数据处理非常关键,它是系统的从业务吞吐量的最大约束因素,现有技术中,针对时序数据的处理,开启多线程并发处理,但是每一个时序处理实例启动一个线程;或者每个线程与时序处理实例绑定,某一个线程有且只能处理与之绑定的线程,可能会出现单个时序数据实例的处理能力需要超过单个线程的处理能力或线程数一般会有合理的上限,超过上限会使系统性能恶化等问题。综上所述,能够高效完成的时序数据高并发调度的技术亟待出现。

发明内容

本发明实施例提供了一种并发调度和执行时序数据的方法及相关装置,实施本发明实施例,以期通过多个线程同时为一个实例数据服务,以及一个线程联合调度多个实例数据,从而提高了针对单个实例数据的处理性能以及实现了时序数据并发调度和执行最佳性能。

第一方面,本申请实施例提供一种并发调度和执行时序数据的方法,应用于时序数据调度执行系统,所述方法包括:

获取并缓存输入的时序数据,所述时序数据包括第一数量的不同实例数据;

获取和组装所述第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求;

通过第二数量的线程对所述第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包;

对所述第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据。

第二方面,本申请实施例提供一种并发调度和执行时序数据的装置,包括处理单元和通信单元,其中,

所述处理单元,用于通过所述通信单元获取并缓存输入的时序数据,所述时序数据包括第一数量的不同实例数据;获取和组装所述第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求;通过第二数量的线程对所述第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包;对所述第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据。

第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。

第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。

第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。

可以看出,本申请实施例中,获取并缓存输入的时序数据,时序数据包括第一数量的不同实例数据;获取和组装第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求;通过第二数量的线程对第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包;对第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据。可见,本申请通过第二数量的线程对第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包,即实现了多个线程同时为一个时序数据实例服务,提高了针对单个实例数据的处理性能;以及不同的输入实例数据可组合到同一个数据包中执行,即一个线程可联合调度多个实例数据,实现时序数据并发调度和执行最佳性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:

图1为本发明一个实施例提供的一种并发调度和执行时序数据的系统的示意图;

图2为本发明又一个实施例提供的一种并发调度和执行时序数据的方法的流程示意图;

图3a为本发明的一个实施例提供的一种时序数据输入和实例缓存单元的结构示意图;

图3b为本发明的一个实施例提供的一种多路复用配置信息结构的示意图;

图3c为本发明的一个实施例提供的一种乱序组包单元的结构示意图;

图4为本发明的一个实施例提供的一种时序重建单元的结构示意图;

图5为本发明的一个实施例提供的另一种并发调度和执行时序数据的方法的流程示意图;

图6为本发明一个实施例提供的一种电子设备的示意图;

图7为本发明一个实施例提供的一种并发调度和执行时序数据的装置的功能单元组成框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

以下分别进行详细说明。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

如图1所示,图1为一个并发调度和执行时序数据的系统100的示意图,该并发调度和执行时序数据的系统100包括时序数据输入和实例缓存单元110、乱序组包单元120、乱序并发执行单元130和时序重建单元140,所述时序数据输入和实例缓存单元110、乱序组包单元120、乱序并发执行单元130和时序重建单元140依次连接,时序数据输入和实例缓存单元110用于实现在输入端对于时序数据数据缓存处理并发给乱序组包单元120完成对于不同实例数据的包数据获取和组装,然后乱序并发执行单元130通过多线程实现所有请求的并发处理,最后时序重建单元140完成时序数据的时序的重建操作,以及数据的整流操作。使输出数据实现按实例独立的进行时序的输出。该并发调度和执行时序数据的系统100可以包括集成式单体设备或者多设备,为方便描述,本申请将并发调度和执行时序数据的系统100统称为电子设备。显然该电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(UserEquipment,UE),移动台(MobileStation,MS),终端设备(terminaldevice)等等。

目前,由于单个时序数据实例的处理能力需要超过单个线程的处理能力;计算系统的特性,线程数一般会有合理的上限,超过上限会使系统性能恶化以及由于计算系统的特征,底层的计算希望能进一步组合更大实例范围的数据进行并发的处理,无法实现进行最高效的调度执行时序数据。

基于此,本申请实施例提出一种并发调度和执行时序数据的方法以解决上述问题,下面对本申请实施例进行详细介绍。

首先,参见图2,图2为本发明的一个实施例提供的一种并发调度和执行时序数据的方法的流程示意图,应用于如图1所示的时序数据调度执行系统,其中,如图2所示,本发明的一个实施例提供的一种并发调度和执行时序数据的方法可以包括:

S201,获取并缓存输入的时序数据,所述时序数据包括第一数量的不同实例数据。

其中,所述时序数据可以以不同的时序数据队列输入。通过以时序数据实例为粒度,进行数据的缓存,实现上以先入先出(First Input First Output,FIFO)为基本的操作。

S202,获取和组装所述第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求。

具体实现中,对缓存的时序数据进行实际的批处理组包操作以及进行必要的处理时延管理。

S203,通过第二数量的线程对所述第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包;

S204,对所述第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据。

其中,时序重建单元存储时序数据重建过程中的缓存信息,例如:时序数据缓冲队列,以及Reorder Timing时钟,所述Reorder Timing时钟指当前Reorder处理的之前的所有数据已经完成的最近时刻。

可以看出,本申请实施例中,获取并缓存输入的时序数据,时序数据包括第一数量的不同实例数据;获取和组装第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求;通过第二数量的线程对第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包;对第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据。可见,本申请通过第二数量的线程对第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包,即实现了多个线程同时为一个时序数据实例服务,提高了针对单个实例数据的处理性能;以及不同的输入实例数据可组合到同一个数据包中执行,即一个线程可联合调度多个实例数据,实现时序数据并发调度和执行最佳性能。

在一个可能的示例中,所述时序数据调度执行系统包括时序数据队列和数据多路复用单元,所述数据多路复用单元包括多路复用配置单元和数据获取组包单元,所述获取和组装所述第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求,包括:通过所述时序数据队列将所述时序数据以时序数据实例为粒度进行缓存;通过所述多路复用配置单元存储和提供输出所述时序数据的多路复用的配置信息;通过所述数据获取组包单元按照预设规则进行所述第一数量的不同实例数据的获取和组包,得到第二数量的实例数据和对应的处理请求。

其中,将所述时序数据以时序数据实例为粒度进行数据的缓存,然后通过数据多路复用单元进行数据预设规则输出,如图3a所示,图3a为一种时序数据输入和实例缓存单元的结构示意图,不同的时序数据队列(例如:时序数据队列1,时序数据队列2……时序数据队列N-1,时序数据队列N)输入所述数据多路复用单元进行数据缓存,通过多路复用配置单元存储以及提供多路复用相关的配置信息,然后按照预设规则获取数据以及对数据进行组包。

可见,本示例中,通过以时序数据实例为粒度缓存所述时序数据,以及对缓存的时序数据按照预设规则进行输出,实现将不同的输入实例,组合到同一个包中,实现多个时序数据实例数据联合调度从而实现最佳的调度性能。

在一个可能的示例中,所述通过所述数据获取组包单元按照预设规则进行所述第一数量的不同实例数据的获取和组包,得到第二数量的实例数据和对应的处理请求,包括:通过所述数据获取组包单元获取组包请求;获取组包请求后,获取级包的大小并对级组包变量进行初始化;将所述级包的大小和级组包变量输入所述多路复用配置单元进行处理,输出对应的时序数据。

其中,如图3b,图3b为多路复用配置信息结构的示意图,数据包获取包括等待组包请求,当获取到组包请求并触发时,获取级包的大小,并对级组包变量进行初始化,然后将所述包的大小和级组包变量输入如图3b所示的多路复用配置信息结构进行实例数据的轮询,然后输出对应的时序数据。

具体实现中,对级组包初始化时,初始化一个定时器,设置定时为T1,则每当T1超时,进行实例数据的轮询,并使配额余量与配额配置相等,再进行实例数据的轮询。

可见,本示例中,通过获取组包请求;以及获取级包的大小并对级组包变量进行初始化;然后通过所述多路复用配置单元进行处理,输出对应的时序数据,实现将不同的输入实例,组合到同一个包中,提高数据处理效率。

在一个可能的示例中,所述多路复用配置单元包括多个多路复用配置信息结构,所述多路复用配置信息结构包括多路复用配置管理缓存单元、实例编号获取单元、配额配置单元和配额余量单元,所述将所述时序数据级包的大小和级组包变量输入所述多路复用配置单元进行处理,输出第二数量的实例数据和对应的处理请求,包括:判断是否成功获取时序数据的一个实例元素;若是,通过所述实例编号获取单元获取所述实例元素的实例编号,以及通过所述配额配置单元和配额余量单元获取配置余量变量两个变量;根据所述实例编号获取对应的实例队列的队列深度;根据所述队列深度和所述配置余量变量两个变量的比较结果输出第二数量的实例数据和对应的处理请求或对下一个多路复用配置信息结构执行如上操作。

其中,如图3b所示的多路复用配置信息结构包括多路复用配置管理缓存单元、实例编号获取单元、配额配置单元和配额余量单元。

具体实现中,当请求触发时,首先获取级包的大小,设为N,初始化级组包变量M=0;然后进行实例数据的轮询,即获取一个实例元素后,获取实例元素中的实例ID(x)和配置余量变量两个变量Left(x),根据实例ID(x)获取实例队列的深度Depth(x),其中,获取原则为:当Depth(x)>=Left(x)时,获取Left(x)个数据,并使M=M+Left(x);当Depth(x)

具体实现中,检测所有实例元素的配额余量为0时,发出配额重置信号,获取一个实例元素进行实例轮询,并使配额余量与配额配置相等,再进行实例数据的轮询。

可见,本示例中,通过获取级包的大小并对级组包变量进行初始化;然后对级包的大小和级组包变量进行处理,然后根据处理结果采取对应的操作,实现同一个输入实例被不同的执行单元并发执行,以及将不同的输入实例,组合到同一个包中,提高数据处理效率。

在一个可能的示例中,所述时序数据调度执行系统包括乱序组包单元,所述乱序组包单元包括批处理组包单元、批处理配置单元、批处理信号单元和时延信号单元,所述获取和组装所述第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求,包括:获取数据包待定信号,查询所述数据包待定信号对应的队列深度;当所述队列深度大于预设深度时,通过批处理组包单元进行批处理组包操作;获取批处理组包的配置信息并存储在批处理配置单元;通过批处理信号单元进行批处理组包的信号管理,得到信号信息;通过批处理组包单元处理所述配置信息和所述信号信息,得到所述第二数量的实例数据和对应的处理请求;当所述队列深度小于预设深度时,通过所述时延信号单元进行处理时延管理。

其中,如图3c所示,图3c为乱序组包单元的结构示意图。批处理配置单元303、批处理信号单元304和时延信号单元302都连接批处理组包单元301。其中,获取数据包待定信号后,查询数据包待定信号对应的队列深度;当队列深度大于预设深度时,通过批处理组包单元301进行批处理组包操作;获取批处理组包的配置信息并存储在批处理配置单元303;通过批处理信号单元304进行批处理组包的信号管理,得到信号信息;通过批处理组包单元处理配置信息和信号信息,得到第二数量的实例数据和对应的处理请求;当队列深度小于预设深度时,通过时延信号单元302进行处理时延管理。其中,批处理配置单元存储的批处理组包的配置信息包括每个下游处理单元批处理能力Capacity(y)(即最大批处理包大小)。

其中,批处理组包单元收到数据包待定信号时,查询此时的时序数据的总队列深度TotalDepth并进行信号轮询,即获取数据实例中的一个示例元素,读取状态信息,若状态为Ready时,读取处理单元的ID(x)编号,并通过这个ID(x)编号获取批处理配置信息中的批处理能力Capacity(y),当TotalDepth=Capacity(y),获取批处理包数据发到下游处理单元。

具体实现中,当所述队列深度小于预设深度时,通过所述时延信号单元进行处理时延管理,例如,所述时延信号单元收到数据包Pending信号然后进行WatchDog的清零。时延信号单元被触发后,等待WatchDog超时信号,当收到超时信号时,查询此时的总队列深度TotalDepth并进行信号轮询,即获取一个实例元素,读取其中的状态,若状态为Ready时,读取处理单元的ID(x)编号,并通过这个ID(x)编号获取批处理配置信息中的批处理能力Capacity(y),当TotalDepth=Capacity(y),获取批处理包数据发到下游处理单元。

可见,本示例中,获取数据包待定信号,查询数据包待定信号对应的队列深度;当队列深度大于预设深度时,通过批处理组包单元进行批处理组包操作;获取批处理组包的配置信息并存储在批处理配置单元;通过批处理信号单元进行批处理组包的信号管理,得到信号信息;通过批处理组包单元处理配置信息和信号信息,得到时序数据的第二数量的实例数据和处理请求,有利于实现单个实例的性能上限的数量级的提升,以及实现多个时序数据实例数据联合调度从而实现最佳的调度性能。

在一个可能的示例中,所述时序数据调度执行系统包括重建输出组包调度单元和重建缓冲队列;所述对所述第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据,包括:所述重建输出组包调度单元在检测到第二数量的实例数据输入时,将所述第二数量的实例数据加入重建缓冲队列;对进行时序增量后的数据包进行重建计时检测;若时序增量后的数据包在重建缓冲队列中,输出时序增量后的第一数量的并发实例数据;若时序增量后的数据包不在重建缓冲队列中,则等待第二数量的实例数据输入

其中,如图4所示,图4为时序重建单元的结构示意图,包括重建输出组包和调度单元以及时序数据的重建缓冲队列,时序数据的重建缓冲队列包括多个多路复用配置管理缓存单元,每个多路复用配置管理缓存单元包括时序数据编号,即时序数据实例ID。其中,每个实例元素存储的内容包括时序数据缓冲队列和Reorder Timing。

具体实现中,重建输出和调度过程包括等待新的数据包输入,当数据包到达到时先把数据包加入时时序数据缓冲队列,然后进行重建计时(ReorderTime)测试,例如,当每次时序增量为Delta(T)时,判断ReorderTime+Delta(T)对应的数据包是否在Reorder缓存队列中,若在,则输出当前ReorderTime+Delta(T)对应的数据包,以及更新ReorderTime=ReorderTime+Delta(T),然后再判断ReorderTime+Delta(T)对应的数据包与Reorder缓存队列的关系,如果不在,结束当前处理并等待新的数据包输入。

可见,本示例中,通过重建输出组包调度单元和重建缓冲队列对所述多个组包的时序数据进行时序重建和整流操作,输出目标时序数据,实现单个实例的性能上限的数量级的提升,以及实现多个时序数据实例数据联合调度从而实现最佳的调度性能。

在一个可能的示例中,所述通过所述重建输出组包调度单元检测到第二数量的实例数据输入时,将所述第二数量的实例数据加入重建缓冲队列之后,还包括:识别输入的时序数据的实例编号;根据所述实例编号获取对应的重建缓冲队列,并保存所述重建缓冲队列以及重建处理之前数据并发完成的时间。

其中,重建缓冲队列中每个实例元素存储的内容为以下两个部分:时序数据缓冲队列以及Reorder Timing时钟,Reorder Timing时钟指当前Reorder处理的之前的所有数据已经完成的最近时刻。

可见,本示例中,通过重建输出组包调度单元和重建缓冲队列对所述多个组包的时序数据进行时序重建和整流操作,输出目标时序数据,实现单个实例的性能上限的数量级的提升,以及实现多个时序数据实例数据联合调度从而实现最佳的调度性能。

与上述图2所示的实施例一致的,请参阅图5,图5是本申请实施例提供的一种并发调度和执行时序数据的方法的流程示意图,应用于如图1所述的时序数据调度执行系统,如图所示,本并发调度和执行时序数据的方法包括:

S501,通过所述时序数据队列将所述时序数据以时序数据实例为粒度进行缓存;

S502,通过所述多路复用配置单元存储和提供输出所述时序数据的多路复用的配置信息;

S503,通过所述数据获取组包单元按照预设规则进行所述第一数量的不同实例数据的获取和组包,得到第二数量的实例数据和对应的处理请求;

S504,获取和组装所述第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求;

S505,通过第二数量的线程对所述第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包;

S506,对所述第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据。

可以看出,本申请实施例中,获取并缓存输入的时序数据,时序数据包括第一数量的不同实例数据;获取和组装第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求;通过第二数量的线程对第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包;对第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据。可见,本申请通过第二数量的线程对第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包,即实现了多个线程同时为一个时序数据实例服务,提高了针对单个实例数据的处理性能;以及不同的输入实例数据可组合到同一个数据包中执行,即一个线程可联合调度多个实例数据,实现时序数据并发调度和执行最佳性能。

与上述图2、图5所示的实施例一致的,请参阅图6,图6是本申请实施例提供的一种电子设备600的结构示意图,如图所示,所述电子设备600包括应用处理器610、存储器620、通信接口630以及一个或多个程序621,其中,所述一个或多个程序621被存储在上述存储器620中,并且被配置由上述应用处理器610执行,所述一个或多个程序621包括用于执行以下步骤的指令;

获取并缓存输入的时序数据,所述时序数据包括第一数量的不同实例数据;

获取和组装所述第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求;

通过第二数量的线程对所述第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包;

对所述第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据。

可以看出,本申请实施例中,获取并缓存输入的时序数据,时序数据包括第一数量的不同实例数据;获取和组装第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求;通过第二数量的线程对第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包;对第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据。可见,本申请通过第二数量的线程对第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包,即实现了多个线程同时为一个时序数据实例服务,提高了针对单个实例数据的处理性能;以及不同的输入实例数据可组合到同一个数据包中执行,即一个线程可联合调度多个实例数据,实现时序数据并发调度和执行最佳性能。

在一个可能的示例中,所述时序数据调度执行系统包括时序数据队列和数据多路复用单元,所述数据多路复用单元包括多路复用配置单元和数据获取组包单元,在获取和组装所述第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求方面,所述程序中的指令具体用于执行以下操作:通过所述时序数据队列将所述时序数据以时序数据实例为粒度进行缓存;通过所述多路复用配置单元存储和提供输出所述时序数据的多路复用的配置信息;通过所述数据获取组包单元按照预设规则进行所述第一数量的不同实例数据的获取和组包,得到第二数量的实例数据和对应的处理请求。

在一个可能的示例中,在所述通过所述数据获取组包单元按照预设规则进行所述第一数量的不同实例数据的获取和组包,得到第二数量的实例数据和对应的处理请求方面,所述程序中的指令具体用于执行以下操作:通过所述数据获取组包单元获取组包请求;获取组包请求后,获取级包的大小并对级组包变量进行初始化;将所述级包的大小和级组包变量输入所述多路复用配置单元进行处理,输出对应的时序数据。

在一个可能的示例中,所述多路复用配置单元包括多个多路复用配置信息结构,所述多路复用配置信息结构包括多路复用配置管理缓存单元、实例编号获取单元、配额配置单元和配额余量单元,在将所述时序数据级包的大小和级组包变量输入所述多路复用配置单元进行处理,输出第二数量的实例数据和对应的处理请求方面,所述程序中的指令具体用于执行以下操作:判断是否成功获取时序数据的一个实例元素;若是,通过所述实例编号获取单元获取所述实例元素的实例编号,以及通过所述配额配置单元和配额余量单元获取配置余量变量两个变量;根据所述实例编号获取对应的实例队列的队列深度;根据所述队列深度和所述配置余量变量两个变量的比较结果输出第二数量的实例数据和对应的处理请求或对下一个多路复用配置信息结构执行如上操作。

在一个可能的示例中,所述时序数据调度执行系统包括乱序组包单元,所述乱序组包单元包括批处理组包单元、批处理配置单元、批处理信号单元和时延信号单元,在所述获取和组装所述第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求方面,所述程序中的指令具体用于执行以下操作:获取数据包待定信号,查询所述数据包待定信号对应的队列深度;当所述队列深度大于预设深度时,通过批处理组包单元进行批处理组包操作;获取批处理组包的配置信息并存储在批处理配置单元;通过批处理信号单元进行批处理组包的信号管理,得到信号信息;通过批处理组包单元处理所述配置信息和所述信号信息,得到所述第二数量的实例数据和对应的处理请求;当所述队列深度小于预设深度时,通过所述时延信号单元进行必要的处理时延管理。

在一个可能的示例中,所述时序数据调度执行系统包括重建输出组包调度单元和重建缓冲队列;在对所述第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据方面,所述程序中的指令具体用于执行以下操作:所述重建输出组包调度单元在检测到第二数量的实例数据输入时,将所述第二数量的实例数据加入重建缓冲队列;对进行时序增量后的数据包进行重建计时检测;若时序增量后的数据包在重建缓冲队列中,输出时序增量后的第一数量的并发实例数据;若时序增量后的数据包不在重建缓冲队列中,则等待第二数量的实例数据输入。

在一个可能的示例中,所述程序中的指令具体还用于执行以下操作:所述通过所述重建输出组包调度单元检测到第二数量的实例数据输入时,将所述第二数量的实例数据加入重建缓冲队列之后,通过识别输入的时序数据的实例编号;根据所述实例编号获取对应的重建缓冲队列并保存所述重建缓冲队列以及重建处理之前数据完成的时间。

上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

图7是本申请实施例中所涉及的并发调度和执行时序数据的装置700的功能单元组成框图。该并发调度和执行时序数据的装置700应用于电子设备,所述电子设备包括处理单元701和通信单元702,其中,

所述处理单元701,用于通过所述通信单元702获取并缓存输入的时序数据,所述时序数据包括第一数量的不同实例数据;获取和组装所述第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求;通过第二数量的线程对所述第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包;对所述第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据。

其中,所述并发调度和执行时序数据的装置700还可以包括存储单元703,用于存储电子设备的程序代码和数据。所述处理单元701可以是处理器,所述通信单元702可以是内部通信接口,存储单元703可以是存储器。

可以看出,本申请实施例中,获取并缓存输入的时序数据,时序数据包括第一数量的不同实例数据;获取和组装第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求;通过第二数量的线程对第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包;对第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据。可见,本申请通过第二数量的线程对第二数量的实例数据和对应的处理请求进行并发处理,得到第二数量的数据包,即实现了多个线程同时为一个时序数据实例服务,提高了针对单个实例数据的处理性能;以及不同的输入实例数据可组合到同一个数据包中执行,即一个线程可联合调度多个实例数据,实现时序数据并发调度和执行最佳性能。

在一个可能的示例中,所述时序数据调度执行系统包括时序数据队列和数据多路复用单元,所述数据多路复用单元包括多路复用配置单元和数据获取组包单元,在获取和组装所述第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求方面,所述处理单元701具体用于:通过所述时序数据队列将所述时序数据以时序数据实例为粒度进行缓存;通过所述多路复用配置单元存储和提供输出所述时序数据的多路复用的配置信息;通过所述数据获取组包单元按照预设规则进行所述第一数量的不同实例数据的获取和组包,得到第二数量的实例数据和对应的处理请求。

在一个可能的示例中,在所述通过所述数据获取组包单元按照预设规则进行所述第一数量的不同实例数据的获取和组包,得到第二数量的实例数据和对应的处理请求方面,所述处理单元701具体用于:通过所述数据获取组包单元获取组包请求;获取组包请求后,获取级包的大小并对级组包变量进行初始化;将所述级包的大小和级组包变量输入所述多路复用配置单元进行处理,输出对应的时序数据。

在一个可能的示例中,所述多路复用配置单元包括多个多路复用配置信息结构,所述多路复用配置信息结构包括多路复用配置管理缓存单元、实例编号获取单元、配额配置单元和配额余量单元,在将所述时序数据级包的大小和级组包变量输入所述多路复用配置单元进行处理,输出第二数量的实例数据和对应的处理请求方面,所述处理单元701具体用于:判断是否成功获取时序数据的一个实例元素;若是,通过所述实例编号获取单元获取所述实例元素的实例编号,以及通过所述配额配置单元和配额余量单元获取配置余量变量两个变量;根据所述实例编号获取对应的实例队列的队列深度;根据所述队列深度和所述配置余量变量两个变量的比较结果输出第二数量的实例数据和对应的处理请求或对下一个多路复用配置信息结构执行如上操作。

在一个可能的示例中,所述时序数据调度执行系统包括乱序组包单元,所述乱序组包单元包括批处理组包单元、批处理配置单元、批处理信号单元和时延信号单元,在所述获取和组装所述第一数量的不同实例数据,得到第二数量的实例数据和对应的处理请求方面,所述处理单元701具体用于:获取数据包待定信号,查询所述数据包待定信号对应的队列深度;当所述队列深度大于预设深度时,通过批处理组包单元进行批处理组包操作;获取批处理组包的配置信息并存储在批处理配置单元;通过批处理信号单元进行批处理组包的信号管理,得到信号信息;通过批处理组包单元处理所述配置信息和所述信号信息,得到所述第二数量的实例数据和对应的处理请求;当所述队列深度小于预设深度时,通过所述时延信号单元进行必要的处理时延管理。

在一个可能的示例中,所述时序数据调度执行系统包括重建输出组包调度单元和重建缓冲队列;在对所述第二数量的数据包的时序数据进行时序重建和整流操作,输出第一数量的并发实例数据方面,所述处理单元701具体用于:所述重建输出组包调度单元在检测到第二数量的实例数据输入时,将所述第二数量的实例数据加入重建缓冲队列;对进行时序增量后的数据包进行重建计时检测;若时序增量后的数据包在重建缓冲队列中,输出时序增量后的第一数量的并发实例数据;若时序增量后的数据包不在重建缓冲队列中,则等待第二数量的实例数据输入。

在一个可能的示例中,所述处理单元701在所述通过所述重建输出组包调度单元检测到第二数量的实例数据输入时,还用于将所述第二数量的实例数据加入重建缓冲队列之后,通过识别输入的时序数据的实例编号;根据所述实例编号获取对应的重建缓冲队列并保存所述重建缓冲队列以及重建处理之前数据完成的时间。

在一个可能的示例中,所述时序数据调度执行系统包括时序数据队列和数据多路复用单元,所述数据多路复用单元包括多路复用配置单元和数据获取组包单元,在所述获取并缓存输入的时序数据方面,所述处理单元701具体用于:通过所述时序数据队列将所述时序数据以时序数据实例为粒度进行缓存;通过所述多路复用配置单元存储和提供输出所述时序数据的多路复用的配置信息;通过所述数据获取组包单元按照预设规则进行时序数据的获取和组包。

在一个可能的示例中,在所述通过所述数据获取组包单元按照预设规则进行时序数据的获取和组包方面,所述处理单元701具体用于:通过所述数据获取组包单元获取组包请求;获取组包请求后,获取级包的大小并对级组包变量进行初始化;将所述级包的大小和级组包变量输入所述多路复用配置单元进行处理,输出对应的时序数据。

在一个可能的示例中,所述多路复用配置单元包括多个多路复用配置信息结构,所述多路复用配置信息结构包括多路复用配置管理缓存单元、实例编号获取单元、配额配置单元和配额余量单元,在所述将所述级包的大小和级组包变量输入所述多路复用配置单元进行处理,输出对应的时序数据方面,所述处理单元701具体用于:判断是否成功获取时序数据的一个实例元素;若是,通过所述实例编号获取单元获取所述实例元素的实例编号,以及通过所述配额配置单元和配额余量单元获取配置余量变量两个变量;根据所述实例编号获取对应的实例队列的队列深度;根据所述队列深度和所述配置余量变量两个变量判断输出对应的时序数据或对下一个多路复用配置信息结构执行如上操作。

在一个可能的示例中,所述时序数据调度执行系统包括乱序组包单元,所述乱序组包单元包括批处理组包单元、批处理配置单元、批处理信号单元和时延信号单元,在所述获取和组装所述时序数据的第二数量的实例数据和处理请求,所述处理单元701具体用于:获取数据包待定信号,查询所述数据包待定信号对应的队列深度;当所述队列深度大于预设深度时,通过批处理组包单元进行批处理组包操作;获取批处理组包的配置信息并存储在批处理配置单元;通过批处理信号单元进行批处理组包的信号管理,得到信号信息;通过批处理组包单元处理所述配置信息和所述信号信息,得到所述时序数据的第二数量的实例数据和处理请求;当所述队列深度小于预设深度时,通过所述时延信号单元进行必要的处理时延管理。

在一个可能的示例中,所述时序数据调度执行系统包括重建输出组包调度单元和重建缓冲队列;在所述对所述多个组包的时序数据进行时序重建和整流操作,输出目标时序数据方面,所述处理单元701具体用于:通过所述重建输出组包调度单元检测到第二数量的实例数据输入时,将所述第二数量的实例数据加入重建缓冲队列;对进行时序增量后的数据包进行重建计时检测;若时序增量后的数据包在重建缓冲队列中,输出时序增量后的数据包;若时序增量后的数据包不在重建缓冲队列中,则等待第二数量的实例数据输入。

在一个可能的示例中,所述处理单元701具体还用于:所述通过所述重建输出组包调度单元检测到第二数量的实例数据输入时,将所述第二数量的实例数据加入重建缓冲队列之后,通过识别输入的时序数据的实例编号;根据所述实例编号获取对应的重建缓冲队列并保存所述重建缓冲队列以及重建处理之前数据完成的时间。

可以理解的是,由于方法实施例与装置实施例为相同技术构思的不同呈现形式,因此,本申请中方法实施例部分的内容应同步适配于装置实施例部分,此处不再赘述。

本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。

本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号