数据采集设备及方法

文档序号:6624975阅读:187来源:国知局
专利名称:数据采集设备及方法
技术领域
本发明涉及一种从传送数据流采集满足一定条件的数据的设备,特别是涉及一种以有限的硬件资源有效采集数据的数据采集设备。
背景技术
数据采集设备,如数字广播接收机,要求以有限的硬件资源和时间,从传送站传送的广播数据中提取满足一定条件的数据。
图28表示传统数据采集设备的结构功能框图。数据采集设备500包括与数字广播接收机的硬件和软件部分对应的数据采集请求接收单元501,该部分执行有关数据接收的基本处理,例如广播数据的接收、复用、解码以及滤波,数据采集请求接收单元接收来自各种类型的应用程序的数据采集请求,这些应用程序可以完成接收机的各种功能;数据采集请求设置单元509,用于将接受到的请求转换为适用于数据采集单元507的参数,且在数据采集单元507中设置这些参数;数据采集单元507,用于从广播数据中提取满足设置数据采集请求的数据;及数据传送单元508,用于传送由数据采集单元507采集的数据给请求采集数据的应用程序。
图29表示图28中的传统数据采集设备500执行的数据采集过程流程图。
数据采集请求接收单元501接收来自应用程序的数据采集请求,请求采集诸如特定的广播节目信息或监控信息数据,并发送接收到的数据采集请求给数据采集请求设置单元509(步骤S100)。数据采集请求设置单元509将接收到的请求转换为适用于数据采集单元507的参数,且在数据采集单元507中设置这些参数(步骤S101)。数据采集单元507启动与设置参数相对应的数据采集过程(步骤S102)。例如,数据采集单元507监控广播数据是否包含满足一定条件的程序信息。
数据采集单元507判断目标数据是否已被采集完毕(步骤S103),当判断结果为否定时,则数据采集单元507重复判断直至判断结果为肯定。当步骤S103中判断的结果为肯定时,数据采集单元507发送数据给数据传送单元508,数据传送单元508将数据传送给请求该数据的应用程序(步骤S104)。
如上所述,传统的数据采集设备可以正确地执行来自各应用程序的每一个数据采集请求。
然而,这种传统的数据采集设备,一旦开始某一请求的数据采集,如果不取消该数据采集则某一特定的硬件资源会被一直占用。因此,当多个应用程序一次传送多个数据采集请求时,或者当数据采集以低频率开始传送的时候,数据采集执行的效率是非常低的(低数据采集率)。
尽管考虑到内部处理过程或产生数据采集请求的时间,可以预先编好每一个应用程序以至不会产生浪费的时间,但是设计一个考虑到应用程序相互间影响的系统是困难的(同一时间两个或多个数据采集请求的冲突问题),上述问题还未解决。

发明内容
因此,本发明的目的就是为了提供一种数据采集设备,能够利用有限的硬件资源依据应用程序发出的多个数据采集请求有效地采集数据。
上述目的通过这样一种数据采集设备来实现,该设备依据从多个数据处理设备接收到的请求从传送数据流中采集数据,该数据采集设备包括请求接收装置,用于从多个数据处理设备接收多个采集数据的请求;条件产生装置,用于产生与接收到的请求相对应的多个条件;调度装置,用于产生多个条件的队列,并根据产生的队列,通过在数据提取装置中设置与一个或多个数据相对应的一个或多个条件和从数据提取装置中删除一个或多个条件,来启动和停止满足任意条件的数据采集过程;数据提取装置,用于从数据流中提取一个或多个数据;及输出装置,用于输出由数据提取装置提取的一个或多个数据给数据处理设备中发送过采集数据请求的数据处理设备。
以上结构中,首先由数据采集设备的调度装置安排接收包括被采集数据的数据流,然后依据从多个数据处理设备传送的数据采集请求执行数据采集。这样就实现了以有限的硬件资源有效地采集数据。每一个数据处理设备还可以在任何需要的时候发送数据采集请求,而不需考虑同一时间与来自其它数据处理设备的数据采集请求之间的冲突。
在上述的数据采集设备中,请求接收装置在接收请求的同时还接收数据采集的优先级,而调度装置产生队列,以使优先级高的数据采集请求优先被执行。
以上结构还可以解决优先级高的数据采集由于连续执行优先级低的数据采集而被延迟的问题。
在上述数据采集设备中,请求接收装置在接收请求的同时还接收指定数据采集状态的监控状态信息,调度装置(a)在数据提取装置中设置一个条件,以便当调度装置接收到带有指定持续监控采集的监控状态信息的请求时,执行连续地数据采集,(b)在并从数据提取装置中设置和删除一个条件,以便当调度装置接收到带有指示间歇监控采集的监控状态信息时,以固定的时间间隔执行数据采集,(c)在并从数据提取装置中设置和删除一个条件,以便当调度装置接收到带有指示无监控采集的监控状态信息时只执行一次数据采集。
以上结构中,可能需要执行一段时间,有效的数据采集取决于监控的传送数据的特性(重复性、频率、带宽等等)和状态(频率、紧急程度等等)。
上述数据采集设备还包括一个记录装置,用于临时记录多个条件,其中条件产生装置在记录装置中记录产生的条件,调度装置通过读取记录装置中的产生条件来产生队列,对读取条件重新排序,并将重新排序的条件记录在记录装置中。
以上结构中,用于存储共用调度对象请求的存储区域是安全可靠的,这样可以使各种功能的装置通过该存储区域进行通信。
在上述数据采集设备中,请求接收装置在接收请求的同时还接收指示请求类型的标题信息,条件产生装置接收来自请求接收装置的带有标题信息的请求,产生与每一个接收到的请求相对应的条件,在记录装置中记录每一个产生的条件及与之对应的接收到的标题信息,调度装置依据与记录在记录装置中的条件相对应的标题信息,通过删除数据提取装置中与数据采集对应的条件来结束数据采集。
以上结构中,依据数据采集请求的类型可以监控数据采集。例如,当同时出现两个或多个相同类型的数据采集请求时,可以中止与早期数据采集请求相对应的数据采集。这样可以避免连续的无用的数据采集。
上述数据采集设备还包括一个定时器装置,用于提供当前时间,其中条件产生装置在接收到请求接收装置的请求后,产生(a)与接收到的请求对应的条件(b)条件产生时间信息,指示该条件产生的时间,并在记录装置中记录每一个产生的条件和对应的该条件产生的时间信息,调度装置通过比较当前时间与记录在记录装置中的条件产生的时间信息,为每一个条件计算消耗的时间,并依据该消耗时间执行调度。
上述结构中,数据的采集是基于从发布数据采集请求之后经过的时间来监控的。这样可以避免由于数据采集请求很长时间不被执行而引起的故障。
在上述数据采集设备中,条件产生装置在接收到来自请求接收装置的请求后,产生一个与接收到的请求对应的条件,通过比较新产生的条件和记录在记录装置中已经存在的条件来判断两个条件是否可以连接起来,当判断出这两个条件可以连接时,通过连接这两个条件来产生一个新的条件,并在记录装置中记录该新产生的条件,调度装置从记录装置中读取新产生的条件,并将该条件放入队列中,然后通过在数据提取装置中设置该新产生的条件来启动数据采集,并通过从数据提取装置中删除已存在的条件来结束数据采集。
在上述数据采集设备中,条件产生装置在接收到来自请求接收装置的请求后,产生(a)与接收到的请求对应的条件(b)用于识别产生条件的识别信息,当通过连接产生新条件之后,条件产生装置使用识别信息产生一组表示新产生的条件与连接在一起产生新条件的两个条件之间的对应关系的连接信息,并在记录装置中记录连接信息、与识别信息对应的条件和接收到的请求,调度装置参照识别信息和连接信息来识别新产生的条件和连接在一起产生新条件的两个条件,并监控与识别条件相对应的每一个数据采集的开始和结束。
在上述数据采集设备中,当两个条件有一个公共部分时,条件产生装置判断这两个条件可以连接起来,并产生一个包含该公共部分的新条件。
上述结构中,多个条件被连成同时满足多个条件的一个条件,这样可以减少数据采集装置中设置条件的数目,实现有效地利用硬件资源。
上述数据采集设备还包括一个定时器装置,用于提供当前时间,其中当开始数据采集之后,调度装置通过增加预定义时间周期到调度装置开始数据采集的时间来产生一个超时时间,并在记录装置中记录该超时时间和与数据采集对应的条件。当当前时间到达超时时间时,通过删除数据提取装置中的相应条件来结束数据采集,同时,通过增加另一预定义时间周期到数据采集结束的时间来产生一个超时取消时间,并在记录装置中记录该超时取消时间和与之对应的条件。当当前时间到达超时取消时间时,将该条件放入队列中,并通过在数据提取装置中设置条件来启动数据采集。
上述结构中,当数据对象未被传送时,数据采集中止一定的时间然后重新启动,这样可以避免硬件资源的白白占用。
在上述数据采集设备中,数据提取装置为设置在其中的每一个条件输出表示数据是否已被采集的数据采集信息,调度装置为记录在记录装置中的每一个条件产生数据采集确认信息,并依据产生的数据采集确认信息执行调度。
上述结构提供了一种有效地数据采集方式,由数据对象是否已被采集而确定。
上述数据采集设备还包括一个定时器装置,用于提供当前时间,其中条件产生装置在接收到来自请求接收装置的请求之后,产生(a)与接收到的请求对应的条件,及(b)条件产生时间信息,用于指示条件产生的时间,并在记录装置中记录每一个产生的条件和每一个与之对应的条件产生时间信息,调度装置通过比较当前时间和记录在记录装置中指示条件产生的时间信息,并参照记录在记录装置中的数据采集确认信息,来判断记录装置是否存储了从条件产生以来到预定义时间间隔到期之后数据还未被采集的条件,依据判断的结果来执行调度。
上述结构避免了由于没有数据对象传送而使数据采集失败所引起的硬件资源被白白占用的故障。
在上述数据采集设备中,条件产生装置在接收到来自请求接收装置的请求之后,产生一个与接收到的请求相对应的条件,通过比较新产生的条件与记录装置中已存在的条件来判断两个条件是否可以连接,当判断两个条件可以连接时,产生一个由两个条件连接而成的新条件,并在记录装置中记录该条件,调度装置从记录装置中读取新产生的条件,并将其放入队列中,然后通过在数据提取装置中设置该新产生的条件来启动数据采集,通过从数据提取装置中删除已存在的条件来结束数据采集,当判断到从接收请求以来到预定义时间间隔到期后新产生的条件的数据还未被采集时,通过删除数据提取装置中新产生的条件,来结束数据采集,并且从记录装置中读取已存在的条件,将新产生的条件和已存在的条件放入队列中,然后通过在数据提取装置中设置已存在的条件来启动数据采集。
上述结构中,由多个条件连接起来产生的数据采集条件的数据采集即使没有成功,也可以恢复到以前的数据采集状态。
在上述数据采集设备中,请求接收装置在接收请求的同时还接收(a)指定数据采集状态的监控状态信息,(b)数据采集的优先级,及(c)用于识别请求的识别信息,条件产生装置接收来自请求接收装置的监控状态信息、识别信息和请求,产生与每一个接收到的请求对应的条件,在记录装置中记录每一个产生的条件和与之对应的每一个接收到的监控状态信息和识别信息,数据提取装置参照包含在数据流中的标题信息,提取和输出(a1)与包含在数据流中的数据相对应的识别信息及(b1)指示数据版本的版本信息,调度装置参照由数据提取装置输出的识别信息和版本信息,为记录在记录装置中的每一个条件产生(a2)数据采集确认信息,指示对应的数据是否已被采集,(b2)版本更新序号信息,指示对应数据更新的版本序号,并在记录装置中记录产生的数据采集确认信息和版本更新序号信息,当队列中包含多个条件,而每一个条件(i)监控状态信息指定无监控采集状态,(ii)指定相同的优先级,(iii)数据采集确认信息有相同的内容时,通过在数据提取装置中设置队列的多个条件中与记录在记录装置中指示版本更新最大序号的版本更新序号信息相对应的条件来优先启动数据采集。
上述结构中,优先执行与内容经常更新的数据相对应的数据采集,这样提供了一种有效地采集多项内容的数据采集。
上述目的依据从多个数据处理设备接受到的请求也可以通过从传送数据流中采集数据的数据采集设备来实现,该数据采集设备包括条件采集装置,用于从多个数据处理设备中采集与请求对应的多个条件;表控制装置,用于控制一个表示(a)(b)(c)三者之间关系的表,其中(a)为多个条件,(b)为多条设置信息,每一条表示数据提取装置中的条件是“设置”还是“未设置”状态,及(c)表示已经被采集的多个条件的顺序的顺序值,当对应的条件从数据提取装置中被删除时,每一个顺序值被初始化为一个值,指示其对应的条件最近被采集过;调度装置在每次条件采集装置采集一个新条件时,就写下一组(a1)新条件,(b1)与新条件对应的设置信息,表示数据提取装置中的条件是“设置”还是“未设置”状态,及(c1)顺序值,指示最近被采集的新条件,并参照记录在表中的设置信息和顺序值来监控数据提取装置中的条件设置;数据提取装置,用于从数据流中提取满足多个条件的一组或多组数据;及输出装置,用于输出数据提取装置提取的一组和多组数据给多个数据处理装置中发送过采集数据请求的数据处理装置。
上述结构中,接收的采集条件可能比在同一时间实际用于提取和监控数据的采集条件的数目要多。
上述数据采集设备中,调度装置还包括设置判断装置,用于通过判断与表示为“设置”状态的设置信息相对应的条件的数目是否少于数据提取装置中可以设置的条件数目的上限值,来判断数据提取装置中是否设置了新条件;及设置监控装置,用于当设置判断装置判断出设置了一个新条件时,在数据提取装置中设置确定的条件,当设置判断装置判断出没有设置新条件时,则选择条件中与表示为“设置”状态的设置信息相对应的条件,从数据提取装置中删除所选择的条件,并在数据提取装置中设置确定的条件。
上述结构中,用于还未被提取或监控的数据的采集条件有优先被采集的机会。
上述数据采集装置中,确定装置可以在与表示为“未设置”状态的设置信息相对应的条件中确定一个条件,作为一个在数据提取装置中新设置的条件,表中与之对应的顺序值表明该条件最近最少被采集过,当设置判断装置判断出这个条件不是新设置的,则设置监控装置在与表示为“设置”状态的设置信息对应的条件中选择一个条件,表中与之对应的顺序值表明该条件最近最少被采集过,然后从数据提取装置中删除该选择的条件。
上述结构中,以数据处理装置发布的对应的采集条件为顺序执行数据采集。这样可以以适当的时间间隔来响应数据处理装置的请求。
上述数据采集装置中,确定装置可以在与表示为“未设置”状态的设置信息相对应的条件中确定一个条件,作为一个在数据提取装置中新设置的条件,表中与之对应的顺序值表明该条件最近最多被采集过,当设置判断装置判断出这个条件不是新设置的,则设置监控装置在与表示为“设置”状态的设置信息对应的条件中选择一个条件,表中与之对应的顺序值表明该条件最近最少被采集过,然后从数据提取装置中删除该选择的条件。
上述结构中,优先执行数据处理装置的新采集请求条件的数据采集,这样可以加速响应来自特定数据处理设备的请求。
上述数据采集装置还包括重新排序请求装置,用于发送重新排序请求,请求调度装置根据来自多个数据处理装置的指令对设置在数据提取装置中的条件重新排序,其中,调度装置在接到来自重新排序请求装置的重新排序请求时,参照记录在表中的设置信息和顺序值来监控设置在数据提取装置中的条件的重新排序。
上述结构中,根据来自数据处理装置的请求,提供了采集条件重新排序的时间,这样可以使所有数据采集条件都可以自动地用于调度数据提取和监控。
上述数据采集设备中,数据提取装置当成功地提取到满足某一条件的数据时,将满足成功提取数据的条件通知给调度装置,调度装置在接收到通知时,参照记录在表中的设置信息和顺序值来监控设置在数据提取装置中的条件的重新排序。
以上结构中,当数据采集成功时,提供了重新排序采集条件的时间,这样使所有数据采集条件不需要接收来自数据处理装置的采集条件重新排序请求,就可以自动地用于调度数据提取和监控。


结合以下用来说明本发明实施例的

,本发明的上述和其它目的以及优点将显而易见,其中图1给出了本发明实施例一的数据采集设备的结构功能框图。
图2给出了由请求条件产生单元产生的请求条件。
图3给出了每个请求条件的数据采集状态的转移。
图4给出了请求条件设置调度单元调度之后的请求条件。
图5给出了数据采集设备所执行的整个数据采集过程流程图。
图6给出了根据优先级来调度请求条件的主要过程的流程图。
图7给出了被请求条件设置调度单元附加有各类管理信息的请求条件表格。
图8给出了从定时单元读取“当前”时间的例子。
图9给出了数据采集请求执行状态由“正在执行”状态改变为“等待”状态,并进一步改变为“可执行”状态的整个过程的流程图。
图10给出了请求条件是怎样通过请求条件产生单元建立连接的。
图11给出了连接请求条件的过程的流程图。
图12给出了被请求条连设置单元而附加有各种管理信息的请求条件表格。
图13是划分由众多数据采集请求连接而产生的数据采集请求过程的流程图。
图14是作为本发明第二个实施例的数据采集设备的结构功能框图。
图15给出了由请求条件产生单元产生的请求条件表格。
图16给出了如何根据由数据采集监控状态信息指定的监控状态来采集数据。
图17是由数据采集设备所完成的整个数据采集过程的流程图。
图18给出了被数据采集设备附加有各类管理信息的请求条件表格。
图19是在数据采集监控状态信息指定为“无监控采集”的请求条件下,由数据采集设备控制的数据采集过程的流程图(由“等待”变为“可执行”状态)。
图20给出了被请求条件设置调度单元附加有各类管理信息的请求条件的表格。
图21是数据采集监控状态信息指定为“无监控采集”的请求条件下,由数据采集设备控制的数据采集过程的流程图(由“可执行”变为“正在执行”状态)。
图22是作为本发明第三个实施例的数据采集设备的结构功能框图。
图23给出了由请求条件产生单元产生的请求条件表格。
图24是由数据采集设备产生超时时间并执行超时处理的过程流程图。
图25是作为本发明第四个实施例的数据采集设备的结构功能框图。
图26给出了被数据采集设备附加有各类管理信息的请求条件表格。
图27给出了其中接收到的数据版本已被处理的数据采集控制过程。
图28是传统的数据采集设备的结构功能框图。
图29是由传统的数据采集设备执行的数据采集过程的流程图。
图30给出了数据采集设备200的结构功能框图。
图31给出了将从应用单元接收到的采集条件存储在采集条件存储单元202中的表格的这个过程的流程图。
图32给出了表示采集条件设置调度单元204在数据采集单元507中设置一条存储在采集条件存储单元202表中的采集条件的过程。
图33给出了存储在采集条件存储单元202的表的一个例子,采集条件存储单元202存储了多组采集条件、设置信息以及顺序值。
图34表示了图33中所表格的内容,这些内容是在根据由采集条件设置调度单元204执行以上步骤更新之后的内容。
图35表示在数据采集单元507中设置一个采集条件之后,由数据采集装置20执行的处理过程。
图36给出了将从应用单元接收到的采集条件存储在采集条件存储单元202中的表格的过程流程图,除了步骤S1206被步骤S1207所替代之外,其它都与图38相同。在步骤S1207中,采集条件设置调度单元204从采集条件存储单元202的表中选择一条采集条件,这一采集条件与表示“有效”的设置信息和最大顺序值一起包括在一个组中;允许所述设置信息与表示“无效”的采集条件一起被存储在所述组中,并将同一组中的所述顺序值设置为初始值“0”。
图37给出了本发明实施例六的数据采集设备的结构功能框图。
图38是表示采集条件设置调度单元204对存储在采集条件存储单元202的表中的采集条件在数据采集单元507进行设置的过程流程图。
图39给出了采集条件设置调度单元204对存储在采集条件存储单元202的表中的采集条件在数据采集单元507进行设置的过程流程图,除了步骤S1505被步骤S1507所替代之外,其它都与图38相同。在步骤S1507中,采集条件设置调度单元204从数据采集单元507中删除数据已被成功提取的采集条件设置,允许与该采集条件一起存储在该组中的设置信息表示“无效”,并将同一组中的顺序值设置为初始值“0”。
图40给出了采集条件设置调度单元204对存储在采集条件存储单元202的表中的采集条件在数据采集单元507进行设置的过程流程图,除了在步骤S1503和步骤S1504之间插入了步骤S1508,其它都与图39相同。在步骤S1508中,采集条件设置调度单元204对与已经被成功提取数据的采集条件存储在一个组中的顺序值执行加“2”操作。
具体实施例方式
<第一实施例>
图1给出了作为本发明第一个实施例的数据采集设备110的结构方框图。数据采集设备110能够根据优先级来调度由多个数据处理设备所产生的数据采集请求。值得注意的是数据处理设备包括软件应用程序,在下文中简单称为“应用程序”。更具体地说,数据采集设备110与数字广播接收机的硬件和软件部分相对应,这些部分执行有关数据接收的基本操作,例如广播数据接收、复用、解码、滤波。数据采集设备110包括数据采集请求接收单元501,请求条件产生单元112,请求条件设置调度表单元113,请求条件记录单元114,定时器单元115,请求条件设置单元116,数据采集单元507以及数据传送单元508。包括在附图28所示数据采集设备500中的上述相同单元使用相同的附图标记。
本实施例假设每个应用程序通过发出一个数据采集请求和数据采集的优先权给数据采集设备110(数据采集请求接收单元501)来请求一个数据采集,其中数据采集请求命令包括标题信息和用来指定所要采集的数据的信息。
具体地说,数据采集请求是诸如ID表和表的序列号这样的信息,这些信息是用来指定从广播站发出的传输流(TS)中所包含的各种广播节目信息表中的一个或一部分。广播节目信息表包括NIT(网络信息表),是在广播节目当中加入了与传输路径相关的信息,例如频率调整;EIT(时间信息表)给出了与广播节目相关的信息,例如节目名、广播数据及内容;SDT(业务说明表)给出了与信道有关的信息,例如信道名称及广播员名称。以上所有的表都是以MPEG-2系统标准所定义的层式数据结构。
在本发明的实施例中,优先级别“1”、“2”、“3”表示递减的优先级。
数据采集请求接收单元501是数据采集设备110的输出接口,并且从每个应用程序接收一对数据采集请求和优先权级别,并将上述这些内容发送给请求条件产生单元112。当数据采集请求接收单元501从一个应用程序或多个应用程序接收到一组数据采集请求和优先权级别,数据采集请求接收单元501就发送该组信息给请求条件产生单元112。
请求条件产生单元112给从数据采集请求接收单元501所接收到的每对数据采集请求和优先级产生一个请求条件,其中请求条件给出了每对数据采集请求的内容。请求条件产生单元112将请求条件发送给请求条件设置调度表单元113,并将请求条件存储在请求条件记录单元114中。
这里,每个“请求条件”和由数据采集设备110调度并管理的数据采集请求相对应。在本实施例中,每个请求条件包括至少一个数据采集条件和优先级,请求条件是用来指定所要采集的目标数据。
图2给出了由请求条件产生单元112产生的请求条件表格。在这个例子中,表格中的8个请求条件是按照数据采集请求的产生顺序给出的。每个请求条件包括一个数据采集条件1102和一个优先级别1103。
请求条件记录单元114是快速存储器或类似器件,它是可以实现重写的存储设备,用来存储请求条件1101。
定时器单元115是日历时间计数器、预制计数器或类似的设备,它可以输出当前的时间,并能一次性输出或重复输出(1)用来表示预制时间已经到达的标志信息和(2)中断信号。
数据采集单元507是一个TS译码器,它可以根据PID包(ID包)或类似的信息包从传输流中提取特定的TS信息包,并把所提取的TS包译码为基本流。在本实施例中,数据采集单元507能同时处理20个数据采集请求。更具体地说,数据采集单元507接收由请求条件设置单元116设置的20个请求条件,并根据设置的请求条件采集数据。数据采集单元507将数据采集信息发送到请求条件设置调度单元113,其中数据采集信息是用来指示是否采集到与请求条件相应的数据。并且数据采集单元507将已采集到的数据发送给数据传送单元508。
值得注意的是,一旦相应的请求条件被请求条件设置单元116设置,数据采集单元507则不断的采集数据,直到请求条件设置调度单元113删除设置的请求条件。
请求条件设置单元116从请求条件设置调度单元113接收一个请求条件,并且在数据采集单元507中设置所接收到的请求条件。更具体地说,请求条件设置单元116将请求条件设置调度单元113发送的已调度的请求条件转换成能被数据采集单元507识别的专用参数,并且将参数设置在数据采集单元507。
数据传送单元508从数据采集单元507接收所采集的数据,并根据记录在请求条件记录单元114中的请求条件或类似的条件来识别提出了相应的数据采集请求的应用程序,同时将数据发送到被识别的应用程序。
请求条件设置调度单元113是由存储控制程序的CPU或ROM来实现的,它同其他部件相连接并且根据数据条件产生单元112所产生的请求条件控制数据采集表格。为了达到这个目的,请求条件设置调度单元113具有如下的功能(a)利用请求条件记录单元114来监控和管理每个请求条件的数据采集状态(数据采集状态被划分为“可执行”、“正在执行”、“等待”和“暂时中止”)(b)在固定的时间间隔根据从定时器单元115所接收到的标志信息来调度新产生的请求条件及优先级别;(c)从请求条件记录单元114中读出满足一定条件的“可执行”请求条件,并将读出的请求条件发送给请求条件设置单元116。
图3给出了请求条件状态的转换,也就是说,数据采集设备110中的数据采集状态(运行状态)的转换与请求条件相关。这里,“正在执行”状态表明请求条件设置在数据采集单元507中(在这个状态下所采集的目标数据在传输的过程中是无误的);“可执行”状态表明请求条件设置在数据采集单元507之前,请求条件是在队列中;“等待”状态表明请求条件已经设置在数据采集单元507中,但是在从设置开始的一定时间段之后请求条件设置临时被删除;“暂时中止”状态表明是由诸如请求条件的连接这样的原因造成请求条件临时从数据采集单元507中删除。
除了由数据条件产生单元112所产生的请求条件之外,所有的状态转换都是在请求条件设置调度单元113的控制下执行的。更具体地说,请求条件设置调度单元113按照如下的方式控制状态的转换。当处于“正在执行”状态下的请求条件序列号小于20时,请求条件设置调度单元113从队列中顺序读出“可执行”状态下尽可能多的请求条件,来提供“正在执行”状态下的20个请求条件,并且将读出的请求条件的运行状态改变为“正在执行”。当预定时间间隔到了但是没有采集到“正在执行”状态下与请求条件相应的数据时,请求条件设置调度单元113改变请求条件的运行状态为“等待”。当比预定时间间隔超时更长时,请求条件设置调度单元113改变请求条件的运行状态为“可执行”。当比“正在执行”状态下的请求条件具有更高优先级的请求条件进入队列时,请求条件设置调度单元113将“正在执行”状态的请求条件改变为“可执行”状态。当采集到与“正在执行”状态的请求条件相应的数据或者当另外一个应用程序提出一个明确的删除指令时,请求条件设置调度单元113就从请求条件记录单元114删除请求条件(即“删除状态”)。
图4给出了图2所示的请求在被请求条件设置调度单元113调度之后的表格,例如根据优先级重排序后的请求条件表格。在这个例子中,请求条件是从高到底有序的排列,起始的第一个请求条件具有最高优先级。请求条件设置调度单元113从请求条件记录单元114中读出一个处于“可执行”状态下并且具有最高优先级的请求条件,同时请求条件设置调度单元113通过通知请求条件设置单元116读取请求条件来开始数据采集(即改变为“正在执行”状态)。
现在介绍一下具有上述结构的数据采集设备110的执行过程。
图5给出了由数据采集设备110执行的整个数据采集过程的流程图。
数据采集请求接收单元501从应用程序同时接收一个或多个数据采集请求(步骤S200),并且数据采集请求接收单元501将接收到的数据采集请求发送给数据条件产生单元112,数据条件产生单元112给每个数据采集请求产生一个请求条件(步骤S201)。
请求条件设置调度单元113判断是否接收到来自定时器单元115的中断信号(步骤S202),定时器单元115是被预先安排每隔固定时间发出一个中断信号。当请求条件设置调度单元113没有接收到中断信号(步骤S202的判断结果为“否”),则重复执行步骤S202。
当请求条件设置调度单元113接收到中断信号(步骤S202的判断结果为“是”),请求条件设置调度单元113根据优先级调度由数据条件产生单元112所产生的请求条件的数据采集设置(步骤S203),判断请求条件是否包括一个用来设置数据采集的请求条件(例如,数据采集能立刻执行)(步骤S204)。当步骤S204的判断结果是否定的时,请求条件设置调度单元113将请求条件记录到请求条件记录单元114(步骤S205)。当步骤S204的判断结果是肯定的时,请求条件设置调度单元113将请求条件记录到请求条件记录单元114(步骤S206),在请求条件设置单元116中设置请求条件(步骤S207),并允许数据采集单元507开始数据采集(步骤S208)。
数据采集单元507判断数据是否被采集到(步骤S209)。若步骤S209的判断结果是否定的,数据采集单元507重复执行步骤S209。若步骤S209的判断结果是肯定的,数据采集单元507则将采集到的数据发送给数据传送单元508。数据传送单元508将采集到的数据发送给请求方(步骤S210)。
图6给出了根据优先级来调度请求条件的主要过程流程图。
数据采集请求接收单元501接收新的数据采集请求和请求的优先级别,并将数据采集请求及其优先级发送给数据条件产生单元112(步骤S300)。
如图2所示,数据条件产生单元112产生与所接收到的数据采集请求相应的请求条件(步骤S301),并将相应的优先级加入到所产生的请求条件中(步骤S302)。
请求条件设置调度单元113判断是否接收到来自定时器单元115的中断信号(步骤S303),如果请求条件设置调度单元113没有接收到中断信号,则重复执行步骤S303。
当请求条件设置调度单元113接收到中断信号(步骤S303的判断结果为“是”),请求条件设置调度单元113从请求条件记录单元114提取目前的请求条件(步骤S304),并判断新的请求条件的优先级是否高于目前的请求条件(步骤S305)。如果判断结果是否定的,请求条件设置调度单元113将新的请求条件存储到请求条件记录单元114并且对请求条件重新排序,以便新的请求条件在目前的请求条件之后处理(步骤S306)。
如果步骤S305的判断结果是肯定的,请求条件设置调度单元113将新的请求条件存储到请求条件记录单元114,并且对请求条件重新排序,以便使新的请求条件在目前的请求条件之前被处理(步骤S307)。
由于已经完成了对新的请求条件和目前请求条件的重排序,所以,请求条件设置调度单元113向请求条件设置单元116发出一个请求,按照从上到下的顺序逐一的注册与请求条件相应的数据采集(步骤S308),其中请求条件是存储在可以设置所述数据采集的请求条件记录单元114中。更具体地说,请求条件设置调度单元113从请求条件记录单元114读出满足上述条件的请求条件,并将这些请求条件送到请求条件设置单元116单元。
已经接收到请求条件的请求条件设置单元116将接收到的请求条件转化为设置的参数,并将设置的参数放在数据采集单元507中。通过这个操作,数据采集单元507开始查询与请求条件相关的数据(步骤S309)。
如上所述,当数据采集设备110一次从应用程序接收到多个数据采集请求时,本实施例中的数据采集设备110允许请求条件设置调度单元113单元调度接收到的数据采集请求,这样数据采集请求结果可以获得一个总体上有效的数据采集。
同样本实施例的数据采集设备110调度数据采集请求,以便数据采集请求可以按照优先权的顺序进行处理,这样可防止具有高度紧急或优先执行的数据被延时处理。
下面详细描述由数据采集设备110执行的一次数据采集控制,以便数据采集请求的执行状态由“正在执行”改变为“等待”,并进一步改变为“执行”。
请求条件设置调度单元113为每个请求条件分配一个超时时间,并且当超时时间到达时,请求条件设置调度单元113将处于“正在执行”状态下的请求条件改变为“等待”状态。同时,请求条件设置调度单元113给处于“等待”状态的请求条件分配一个超时取消时间,并且当超时取消时间到达时,请求条件设置调度单元113将处于“等待”状态的请求条件改变为“执行”状态。
例如,请求条件设置调度单元113给具有优先极为“1”的请求条件分配10秒作为超时时间和超时取消时间。更具体地说,在这种情况下,当请求条件从“可执行”状态改变为“正在执行”状态之后的10秒过去时,请求条件改变为“等待”状态,;当请求条件从“正在执行”状态改变为“等待”状态之后的10秒过去时,请求条件改变为“执行”状态。同样的,请求条件设置调度单元113给优先级别为“2”和“3”的请求分配20秒和30秒,分别作为超时时间和超时取消时间。
为了达到上述的管理操作,请求条件设置调度单元113通过给存储在请求条件记录单元114中的每个请求条件附加诸如执行状态、超时时间、超时取消时间这样的管理信息来控制每个请求条件的数据采集。
图7给出了被请求条件设置调度单元113附加有各种类型的管理信息的表格。如图7所示,每个请求条件1101包括执行状态信息1104、超时时间1105和超时取消时间1106。
图8给出了从定时器单元115读出“当前”时间的例子。在这个例子中,当前时间是由年、月、天、小时、分和秒表示的。
图9给出了数据采集请求执行状态由“正在执行”状态改变为“等待”状态,并进一步改变为“可执行”状态的整个过程的流程图。
请求条件设置调度单元113从请求条件记录单元114中提取一个请求条件(步骤S700),并判断请求条件的执行状态信息1104是否为“正在执行”(步骤S701)。当请求条件不是在“正在执行”状态时,认为超时控制处理的对象不在这个流程图中,超时控制处理结束。
当判断所述请求条件处于“正在执行”状态时,请求条件设置调度单元113判断是否接收到来自定时器单元115的中断信号(步骤S702),定时器单元115是被预先安排每隔固定时间发出一个中断信号。当请求条件设置调度单元113没有接收到中断信号(步骤S702的判断结果为否定)时,则重复执行步骤S702。
当请求条件设置调度单元113接收到中断信号(步骤S702的判断结果为肯定),请求条件设置调度单元113从定时器单元115读出当前时间(步骤S703),将当前时间和附加在请求条件中的超时时间相比较(步骤S704),并判断定时时间是否适合超时处理(即判断超时时间是否到达当前时间)(步骤S705)。当判断的结果是否定时,则重复执行步骤S702至步骤S704。
当步骤S705的判断结果为肯定时,请求条件设置调度单元113单元更新请求条件的执行状态信息1104为“等待”(步骤S706),并且将超时取消时间1106附加到请求条件中(步骤S707),向请求条件设置单元116提出一个请求来删除与请求条件相应的数据采集请求的设置(步骤S708)。这样与请求条件相应的数据采集就结束了(步骤S709),实际上运行状态从“等待”状态改变为“执行”状态。
同样的,经过这些步骤,当超时时间到达时,请求条件设置调度单元113将请求条件从“等待”状态改变为“可执行”状态。更具体地说,当从请求条件记录单元114中读出的请求条件具有“等待”的执行状态信息1104时,当超时取消时间1106到达当前时间时,请求条件设置调度单元113将执行状态信息1104更新为“可执行”,并输出一个请求条件到上述的基于优先级别的队列。
如上所述,根据本实施例的数据采集设备110,即使数据采集请求处于“正在执行”状态,如果用于请求的数据在预定的时间段内没有采集到,运行状态也会经过“等待”变为“可执行”,并且将请求条件输入到队列中。这样会阻止由于广播站或广播节目的变化所带来的机器故障而使广播数据不能被传输时所引起的硬件资源的浪费。
下面详细介绍由数据采集设备110执行的用于使所述数据采集请求执行状态从“可执行”到“暂时中止”变化的数据采集控制。
请求条件产生单元112如上所述地产生与所接收的数据采集请求对应的请求条件。数据条件产生单元112还将新产生的请求条件与存储在请求条件记录单元114中的目前请求条件相结合以产生一个请求条件。
更具体地说,如果多个请求条件的数据采集条件1102共用一个条件,数据条件产生单元112则判断多个请求条件是否能被连接,并产生一个仅仅由共用条件所组成的请求条件(请求条件通过逻辑和而结合)。
图10给出了请求条件是如何通过数据条件产生单元112连接的。在这个例子中,请求包含ID1=0x001的表格的“请求条件A”是通过将(a)和(b)连接而产生的,其中(a)是请求具有ID1(例如,表格ID)=0x001和ID2(例如,节号)=0x01的表格的“请求1”,(b)是请求具有ID1=0x001和ID2=0x02的表格的“请求2”。
假定具有ID1=0x001的表格有ID2=0x01-0x09其中的一个值,并且由共用ID1=0x001的多个请求条件的连接而产生的“请求A”是一个数据采集请求,请求10种类型表格的采集具有ID1=0x001和ID2=0x00的表格;具有ID1=0x001和ID2=0x01的表格;……具有ID1=0x001和ID2=0x09的表格。
当数据条件产生单元112通过共用一个条件的请求条件的连接而产生一个新的请求条件时,请求条件设置调度单元113将每个连接的请求条件的运行状态经过“可执行”状态变为”暂时中止”,并且新产生的请求条件的运行状态经过“可执行”状态变为“正在执行”。
图11给出了请求条件的连接过程流程图。
数据条件产生单元112产生一个新的请求条件(步骤S600),从请求条件记录单元114提取目前的请求条件(步骤S601),将两个请求条件的数据采集条件1102相互比较(步骤S602),并且判断这两个请求条件是否已连接(步骤S603)。当两个请求条件没有共用条件时,在步骤S603中判断这两个请求条件没有建立连接,连接处理结束。
当两个请求条件共用一个条件时,数据条件产生单元112在步骤S603中判断这两个请求条件有连接,并通过两个请求条件的连接产生一个新的请求条件(步骤S604)。数据条件产生单元112将新产生的请求条件存储到请求条件记录单元114中,并从请求条件设置调度单元113提出一个请求来注册新产生的请求条件作为控制对象(步骤S605)。
请求条件设置调度单元113向数据采集单元507提出一个请求,来中止同处于“正在执行”状态的两个相连接的请求条件的运行(步骤S606),并注册新产生的请求条件到“可执行”状态的队列中,其中新产生的请求条件是由数据条件产生单元112提出的、并作为控制对象被注册(步骤S607)。
请求条件设置单元113将两个相连接的请求条件的运行状态从“可执行”变为“暂时中止”(步骤S608)。也就是说,直到两个相连接的请求条件被分解(下文将进行述)相连接的请求条件才从数据采集对象中删除。
如上所述,本实施例的数据采集设备110通过利用逻辑和连接在其数据采集条件1102中具有共用条件的多个请求条件产生一个新的请求条件,并使用该新产生的请求条件而不是所述多个请求条件来采集数据。这减少了数据采集单元507中请求条件设置的数目,允许更多的数据采集在有限的硬件资源环境中同时执行。
下面详细介绍由数据采集设备110执行的使数据采集请求运行状态由”暂时中止”变为“可执行”的数据采集控制过程。
请求条件设置调度单元113在一个预定的时间周期之后判断是否已经采集到了与在所述连接之后已经变成“暂时中止”状态的请求条件相对应的数据。当确认还没有采集到数据时,请求条件设置调度单元113取消连接,并恢复先前的请求条件。这是因为,除了与被连接的请求条件相应的数据是通过新产生的请求条件而采集到之外,由于新产生的请求条件具有和被连接的请求条件相同或更低的精确度,所以恐怕在采集与所述被连接的请求条件对应的数据之前要占用相当长的时间。
为达到上述控制功能,当通过连接具有共用条件的多个请求条件产生一个请求条件时,数据条件产生单元112还产生请求识别信息、请求产生时间和后连接请求识别信息,并把这些信息附加到请求条件中,再把请求条件送至请求条件设置调度单元113,并存储在请求条件记录单元114。请求条件设置调度单元113通过附加管理信息到每个请求条件的方式来控制存储在请求条件记录单元114中的每个请求条件下的数据采集过程。管理信息是指诸如以从数据采集单元507获得的数据采集确认信息为依据而形成的数据确认信息。
值得注意的是,“请求识别信息”用于识别某个请求条件,“请求产生时间”是指产生一个新的请求条件的时间,“后连接请求识别信息”用于识别通过连接多个请求条件而产生的一个请求条件,“数据采集确认信息”则表示与请求条件记录单元114中存储的请求条件相应的数据是否已被采集到(即“数据已采集”或“数据未采集”)。
图12给出了被请求条件设置调度单元113而附加有各种管理信息的请求条件表格。每个请求条件1101包括请求识别信息1110、数据采集条件1102、请求产生时间1111、执行状态信息1104、后连接请求识别信息1112和数据采集确认信息1113。
所述表格表明被请求识别信息1110标识为“0x004”,“0x005”,“0x008”和被标识为“0x001”的请求条件已经被连接起来,以产生一个被标识为“0x0001”的请求条件,且所述请求条件处于“暂时中止”状态;与标识为“0x001”的请求条件相应的数据采集正在处理中;并且标识为“0x004”的请求条件的数据已经被采集到,但是标识为“0x005”和“0x008”的请求条件的数据还没有采集到。
图13是分解数据采集请求过程的流程图,该数据采集请求是由众多数据采集请求连接而产生的。
请求条件设置调度单元113从请求条件记录单元114提取一个与新产生的请求条件相连接的请求条件(步骤S800),并判断相连接的请求条件的数据采集确认信息1113是否表明“数据未采集到”(步骤S801)。当判断结果是否定的时,请求条件设置调度单元113就从流程图中除去此请求条件,结束这个处理过程。
当步骤S801判断的结果是肯定时,请求条件设置调度单元113判断是否接收到来自定时器单元115的中断信号(步骤S802),定时器单元115被预先安排成每隔固定时间发出一个中断信号。当请求条件设置调度单元113没有接收到中断信号(步骤S802的判断结果为否定)时,则重复执行步骤S802。
当请求条件设置调度单元113接收到中断信号(步骤S802的判断结果为肯定)时,请求条件设置调度单元113从定时器单元115读出当前时间(步骤S803),将当前时间和请求条件的请求产生时间1111相比较(步骤S804),并判断预定的时间已经过去但没有采集到数据(步骤S805)。当未消耗掉预定的时间(步骤S805的判断结果为否定)时,重复执行步骤S802至步骤S804。
当预定的时间被消耗,请求条件设置调度单元113单元更新请求条件的执行状态信息1104为“暂时中止”,来存储通过分解新产生的请求条件而产生的请求条件(步骤S806),并且向请求条件设置单元116提出一个请求来删除与新产生的请求条件相应的数据采集请求的设置(步骤S807)。请求条件设置调度单元113更新前一个请求条件的执行状态信息1104为“可执行”(步骤S808),然后当此请求条件在队列之首时,将会向请求条件设置单元116提出一个请求,为此请求条件注册数据采集(步骤S809),并开始数据采集(步骤S810)。
上述操作的结果是,与图12中的被请求识别信息1110标识为“0x001”的请求条件相应的数据采集的状态从“正在执行”变为“等待”,再进一步变为“可执行”,并且与被标识为“0x005”和“0x008”的请求条件相应的数据采集状态则从“暂时中止”变为“可执行”,并进一步变为“正在执行”。
如上所述,根据本发明实施例的数据采集设备110,当与请求条件相应的数据在超出了从连接开始的预设时间而仍没有采集到数据时,此次连接将被取消,同时前一请求条件的运行状态将被会保存,其中的请求条件是已经建立了连接而来产生新的请求条件的。这就避免了这样一个问题要花费相当长的一段时间来采集与已连接的请求条件相应的数据。
<第二实施例>
下面介绍一下本发明的第二个实施例。
图14给出了本发明第二个实施例的数据采集设备120的结构功能框图。数据采集设备120具有根据从应用程序发来的指令来改变数据采集频率的特征。数据采集设备120包括数据采集请求接收单元501,请求条件产生单元122,请求条件设置调度单元123,请求条件记录单元114,定时器单元115,请求条件设置单元116,数据采集单元507和数据传送单元508。包含在第一个实施例的数据采集设备110中的上述相同单元使用相同的附图标记。以下着重描述与第一个实施例的不同之处。
本实施例假定每个应用程序通过向数据采集设备120提出一个数据采集请求,同时还发出用来指定数据采集类型的数据采集监控状态信息。数据采集监控状态信息是用来指定“持续监控采集”、“间歇监控采集”、“无监控采集”中的一个状态,其中持续监控采集表明数据一直在采集;间歇监控采集表明每隔固定间隔对数据进行采集;无监控采集表明一旦获得所需的数据,对所需数据的监控便不再执行。
当应用程序向数据采集设备120(数据采集请求接收单元501)提出一个数据采集请求时,上述三种数据采集的使用举例如下。持续监控采集被指定为NIT,必须被无误接收并且立刻传送;间歇监控采集被指定为EIT,由于EIT具有过长的数据长度所以不必一直接收,但是必须在固定间隔接收;无监控采集被指定为SDT,它在固定间隔被传送但是很少更新。
请求条件产生单元122为每一对数据采集请求和从数据采集请求接收单元501接收到的数据采集监控信息产生一个请求条件,请求条件是附加有数据采集状态信息的,同时将产生的请求条件发送到请求条件设置调度单元123,并存储在请求条件记录单元114。
图15是请求条件产生单元122产生的请求条件表格。这个例子以数据采集请求的产生顺序列出了8个请求条件。每个请求条件1201包括一个数据采集条件1102和一个数据采集监控状态信息1202。
请求条件设置调度单元123与其他单元相连并通过请求条件产生单元122产生的请求条件控制数据采集。出于此目的,请求条件设置调度单元123(a)通过请求条件记录单元114监控和管理每个请求条件的数据采集状态(b)具有控制作用,以便与新产生的请求条件相应的数据能被数据采集监控状态信息1202指定的数据采集类型采集到。
图16给出了请求条件设置调度单元123是如何控制与图15所示的请求条件相应的数据采集。更具体地说,图16还给出了数据如何根据监控状态信息而被采集,监控状态信息是由数据采集监控状态信息1202指定的。图16还列出了属于同一条数据采集监控状态信息1202的请求条件。
一旦“持续监控采集”的请求条件被设置为“执行”状态,请求条件设置调度单元123就一直维持此状态直到它从另一个应用程序中收到一个明确的删除指令。而对于被指定为“间歇监控采集”的请求条件,请求条件设置调度单元123固定间隔的以“正在执行”、“等待”、“可执行”的顺序循环的改变运行状态。对于被指定为“无监控采集”的请求条件,一旦采集到目标数据,请求条件设置调度单元123的运行状态就从“正在执行”变为“被删除”。
现在描述一下由上述指令引起的数据采集设备120的操作过程。
图17是由数据采集设备120所完成的数据采集整个过程的流程图。
数据采集请求接收单元501接收新的数据采集请求和相关的数据采集监控状态信息1202,将它们发送到请求条件产生单元122(步骤S400)。请求条件产生单元122产生与接收到的数据采集请求相应的请求条件(步骤S401),将从数据采集监控状态信息1202收到的数据采集监控信息附加到相应的请求条件中,并将具有数据采集监控状态信息1202的请求条件存储到请求条件记录单元114中,然后再将同样的数据发送到请求条件设置调度单元123(步骤S402)。
请求条件设置调度单元123判断接收到的请求条件中的数据采集监控状态信息1202是否指定为“持续监控采集”(步骤S403)。当判断的结果为肯定时,请求条件设置调度单元123执行一次控制以便持续采集数据(步骤S404)。更具体地说,通过请求条件设置单元116,请求条件设置调度单元123指示数据采集单元507将请求条件置为“正在执行”状态,并持续此状态直到它收到一个明确的删除指令。
若步骤S403的判断结果是否定,请求条件设置调度单元123将会判断接收到的请求条件中的数据采集监控状态信息1202是否指定为“间歇监控采集”(步骤S405)。当判断的结果是肯定时,请求条件设置调度单元123执行一次控制以便在固定间隔采集到数据(步骤S406)。更具体地说,请求条件设置调度单元123能通过请求条件设置单元116控制数据采集单元507,将请求条件置为“正在执行”状态,并能通过控制定时器单元115提供的时间以“正在执行”、“等待”、“可执行”的顺序以固定间隔循环改变状态。
若步骤S405的判断结果是否定,请求条件设置调度单元123将判断接收到的请求条件的数据采集监控状态信息1202是否是“无监控采集”(步骤S407)。若步骤S405的判断结果是肯定,请求条件设置调度单元123控制只采集一次数据(步骤S408-S409)。
更具体地说,请求条件设置调度单元123判断是否接收到来自定时器单元115的中断信号(步骤S408),定时器单元115是被预先安排每隔固定时间发出一个中断信号。当请求条件设置调度单元123没有接收到中断信号(步骤S408的判断结果为“是”),请求条件设置调度单元113调度请求条件以便不固定的采集数据(步骤S409)。更为具体地说,请求条件设置调度单元123通过请求条件设置单元116通知数据采集单元507将请求条件设置为“正在执行”状态,监控数据采集单元507是否采集到与请求条件相应的数据,然后当检测到数据采集时,从请求条件记录单元114中删除请求条件。
当步骤S407的判断结果是否定,请求条件设置调度单元123判断请求条件没有被指定监控状态,然后结束流程图中的过程,不再采集数据。
如上所述,本实施例中的数据采集设备120通过被应用程序指定的监控状态来采集数据。这其中排除了不得不调整定时时间和频率来提出与被传送数据类型一致的数据采集请求的应用程序。
这也解决了同一类型的数据采集请求被重复提出的问题,提供了根据传送数据的大小(带宽)、传送频率、接收的重要性或类似的指标而很好调整过的数据采集,并且提高单位时间的数据采集量。
接下来详细描述了在数据采集监控状态信息1202被指定为“无监控采集”状态下,数据采集设备120控制的一次数据采集(从“等待”变为“可执行”)。
当确认请求条件中的数据采集监控状态信息1202被指定为“无监控采集”,并且执行状态信息为“等待”时,请求条件设置调度单元123监控是否到达超时取消时间,如果到达,则控制运行状态经由“可执行”变为“正在执行”。为实现这些功能,请求条件设置调度单元123通过附加诸如执行状态信息或超时取消时间或数据采集监控状态信息1202到存储在请求条件记录单元114中的每个请求条件,并且存储带有这类信息的请求条件并更新它们,以此来控制每次请求条件下的数据采集。
图18是被请求条件设置调度单元123附加有各类管理信息的请求条件表格。每个请求条件1201包括一个数据采集条件1102、一个数据采集监控状态信息1202、执行状态信息1104和超时取消时间1106。
许多问题都可以从图18中得到解答。例如数据采集条件1102为“请求2”时的请求条件包括指定为“无监控采集”的数据采集监控状态信息1202,执行状态信息1104为“等待”、超时取消时间1106是“1999/4/11:00:50”表明当取消超时时间到达时,“可执行”状态已经被存储。
图19是在数据采集监控状态信息1202为“无监控采集”的请求条件下,由数据采集设备120控制的数据采集过程的流程图(由“等待”变为“可执行”)请求条件设置调度单元123从请求条件产生单元122接收到一个通知,要求根据由应用程序所提出的数据采集请求产生一个请求条件(步骤S900),判断请求条件的数据采集监控状态1202是否指定为“无监控采集”(步骤S901)。当判断的结果是否定,请求条件设置调度单元123认为此请求条件不是作为流程图的一个目标条件,终止当前处理。
当步骤S901判断的结果是肯定的时,请求条件设置调度单元123将判断执行状态信息1104是否为“等待”(步骤S902),若判断为否,结束流程处理。
若在步骤S902的判断结果是肯定的,请求条件设置调度单元123从定时器单元115中提取“当前时间”(步骤S903),并将与超时取消时间1106相比较(步骤S904),判断是否当前时间是否已经到达超时取消时间(步骤S905)。如果判断的结果是否定,请求条件设置调度单元123则认为该请求条件不是作为流程图的一个目标条件,结束当前处理。
若在步骤S905的判断结果是肯定的,请求条件设置调度单元123将执行状态信息1104改为“可执行”(步骤S906),并且当此请求条件被设置在队列顶端时,就向请求条件设置单元116提出注册此次数据采集的请求(步骤S907),并开始本次数据采集(步骤S908)。
如上所述,当确认请求条件中的数据采集监控状态信息1202为“无监控采集”时,本实施例中的数据采集设备120允许运行状态在超时时从“正在执行”变为“等待”,并且当超时时间到时允许“正在执行”状态通过“可执行”状态被存储,这样可使数据采集重复执行。这就避免了无效数据采集而导致的硬件资源的被持续占用的浪费。
接下来详细描述一下在请求条件的数据采集监控状态信息1202被指定为“无监控采集”的状态下,由数据采集设备120控制的一个数据采集过程(从“可执行”变为、“正在执行”状态)。
当请求条件中的数据采集监控状态信息1202被指定为“无监控采集”且处于“正在执行”状态、并具有表示“已采集到数据”的数据采集确认信息时,请求条件设置调度单元123便寻找比当前请求条件具有更高优先级的请求条件。更高优先级的请求条件是处于“可执行”状态的并具有表示“未采集到数据”的数据采集确认信息。当请求条件设置调度单元123寻找到符合的请求条件时,请求条件设置调度单元123便控制这些请求条件的运行状态以相互交替的方式转变。
为实现上述目的,请求条件设置调度单元123通过附加例如数据采集确认信息、优先级以及数据采集检验监控信息和执行状态信息到请求条件记录单元114,并将这些信息和请求条件一起存储起来并不时更新,以此来控制每一请求条件下的数据采集。
图20是被请求条件设置调度单元123附加有各类管理信息的请求条件的表格。每个请求条件1201包括一个数据采集条件1102、数据采集监控状态信息1202、执行状态信息1104、数据采集结果信息1113和优先级别1103。
图20表明被数据采集条件1102标识为“请求3”的请求条件的“正在执行”状态应被标识为“请求6”的请求条件的“可执行”状态代替。
图21为表示由数据采集设备120执行的数据采集控制的流程图。数据采集设备120是用于数据采集监控状态信息1202指定的“无监控采集”请求条件(从“可执行的”转变为“正在执行”)。
请求条件设置调度单元123从请求条件记录单元114中(步骤S1000)提取一个请求条件,然后判断请求条件的数据采集监控状态信息1202是否为“无监控采集”(步骤S1001)。如果步骤S1001的判断结果为“否”,那么请求条件设置调度单元123不识别请求条件,这一流程结束。
如果步骤S1001的判断结果为“是”,那么请求条件设置调度单元123判断执行状态信息1104是否为“正在执行”(步骤S1002)。如果步骤S1002的判断结果为“否”,这一流程结束。
如果步骤S1002的判断结果为“是”,那么请求条件设置调度单元123判断数据采集结果信息1113是否为“数据已采集”(步骤S1003)。如果步骤S1003的判断结果为“否”,这一流程结束。
如果步骤S1003的判断结果为“是”,那么请求条件设置调度单元123判断请求条件记录单元114是否存储了具有比第一请求条件优先权级别1103更高级别优先权的请求条件(步骤S1004),如果步骤S1004的判断结果为“否”,这一流程结束。因为没有可以代替第一请求条件的处于执行状态的请求条件。
如果步骤S1004的判断结果为“是”,那么请求条件设置调度单元123从请求条件记录单元114中提取较高优先权级别的请求条件(步骤S1005),然后再判断第二请求条件的数据采集监控状态信息1202是否为“无监控采集”(步骤S1006)。如果步骤S1006的判断为“否”,这一流程结束。因为第二请求条件是不能够代替第一请求条件的处于执行状态的请求条件。
如果步骤S1006的判断结果为“是”,请求条件设置调度单元123则判断执行状态信息1104是否为“可执行的”(步骤S1007)。如果步骤S1007的判断结果为“否”,这一流程结束。
如果步骤S1007的判断结果为“是”,请求条件设置调度单元123则将第二请求条件执行状态信息1104更新为“正在执行”(步骤S1008)。向请求条件设置单元116提出请求,为这一请求条件注册数据采集(步骤S1009),然后开始数据采集(步骤S1010)。
请求条件设置调度单元123将第一个请求条件执行状态信息1104更新为“可执行的”(步骤S1011),向请求条件设置单元116提出请求,为这一请求条件注册数据采集(步骤S1010),然后停止数据采集(步骤S1013)。
正如以上所述,当找到一个处于“可执行”状态的请求条件,尽管数据采集确认信息1113为“数据已采集”,数据采集设备120在当前实施例设定的带有具有较高优选权级别并且处于“可执行”状态的请求条件。这一方案解决了这样的问题避免较高优先权级别的数据采集被延迟,因为较低优先权级别的数据采集不断被延迟,从而获得一个有效的数据采集。
下面描述本发明的实施例3图22是本发明实施例3的数据采集设备130的结构功能框图。数据采集设备130的特征为能够根据由应用程序提出的数据采集请求类型对每个数据采集执行“超时”处理。数据采集设备130包括数据采集请求接收单元501,请求条件产生单元132,请求条件设置调度单元133,请求条件记录单元114,定时器单元115,请求条件设置单元116,数据采集单元507,数据传送单元508,其中那些与实施例1的数据采集设备110中相同的单元,用相同的附图标记标识。下面着重描述与实施例1相区别的部分。
请求条件产生单元132产生一个请求条件,根据包括在从数据采集接收单元501接收的一个数据采集请求的标题信息确定一个超时时间,然后把超时时间附加到所产生的请求条件中。应该注意的是在当前实施例中,超时时间用于将一个请求条件从“正在执行”状态强制转换到“等待”状态,再到“删除”状态。
图23给出了一个由请求条件产生单元132产生的请求条件的表格。本例中6个请求条件是按照数据采集请求的产生顺序给出的。每个请求条件1301包括包含在标题信息中的用来识别数据采集类型的标题识别信息1302;采集条件1102和超时时间1303。
当标题识别信息1302表明一个以诸如NIT这样的高重要性(importance)采集一个表的请求时,请求条件产生单元132通过向产生一个请求条件的时间附加一个相对短的时间段(例如10秒)来确定一个超时时间,然后当标题识别信息1302表明一个以诸如SDT这样的低重要性(importance)采集一个表的请求时,请求条件产生单元132通过向产生一个请求条件的时间附加一个相对长的时间段(例如30秒)来确定一个超时时间。
请求条件设置调度单元133与其他组件相连并且控制与请求条件产生单元132产生的请求条件相对应的数据采集调度。为了实现这一目的,请求条件设置调度单元133(a)监控和管理每个利用请求条件单元114的请求条件的数据采集状态(b)根据由请求条件产生单元132配置的超时时间的请求条件,监控超时时间是否在数据采集条件开始进入“正在执行”状态之后到达,如果超时时间到,则将请求条件从“正在执行”状态转换为“等待”状态,然后更进一步地转换为“删除”状态。
下面将描述具有上述结构的数据采集设备130的操作。
图24的流程图表示产生超时时间和执行超时处理的过程,在这一过程中,数据采集状态从“正在执行”转换为“等待”。
数据采集请求接收单元501接收一个新的包括标题信息的数据采集请求,然后将数据采集请求发送到请求条件产生单元132(步骤S500)。请求条件产生单元132对从数据采集请求接收单元501接收到的数据采集请求的标题信息和存储在请求条件记录单元114中的所有请求条件的标题识别信息1302作比较(步骤S501),然后判断现有的标题识别信息1302是否包含在当前接收的标题信息中(步骤S502)。
如果步骤S502的判断结果为“否”,请求条件产生单元132正常地处理接收到的数据采集请求,也就是说,无需对其附加超时时间,即产生一个新的请求条件,将产生的请求条件存储于请求条件记录单元114中,然后将请求条件发送到请求条件设置调度单元133。请求条件设置调度单元133将收到的请求条件放入“可执行”状态队列中,然后开始数据采集控制。
如果步骤S502的判断结果为“是”,那么请求条件产生单元132识别那些重复提出的相同的数据采集请求,产生一个新的请求条件,将其存储在请求条件记录单元114中(步骤S503),然后给新产生的请求条件附加一个与标题识别信息1302指示的数据采集请求类型相应的超时时间(步骤S504)。
请求条件设置调度单元133将这一请求条件的执行状态转换为“正在执行”,根据查找比较请求条件记录单元114和定时器单元115以当前时间附加给请求条件的超时时间,然后判断超时时间是否已到(步骤S505)。
如果步骤S505的判断结果为“否”,则请求条件设置调度单元133重复处理步骤S505。如果步骤S505的判断为“是”,则请求条件设置调度单元133将请求条件的执行状态由“正在执行”强制转换为“等待”(步骤S506),然后转换为“删除”(步骤S507)。具体地说,请求条件设置调度单元133对请求条件设置单元116提出删除(与这一请求条件相应的)数据采集请求的设置的请求(步骤S507),然后从请求条件记录单元114中删除请求条件,停止数据采集(步骤S508)。
正如以上所述,当前实施例的数据采集设备130根据包括在由应用程序提出的数据采集请求中的标题信息判断是否是重复提出的同一数据采集请求,并且在判断为“是”时,延迟预设时间段的数据采集。这提供了一个有效的数据采集方式,解决了持续占用硬盘资源,甚至由于请求数据低频传送而重复提出同一数据采集请求的问题。
<实施例4>
下面描述本发明的实施例4。
图25的流程图表示了本发明实施例4的数据采集设备140的结构。数据采集设备140的特征为接收版本信息,根据接收到的版本信息并且择优地采集一条与在2个或多个相同优先权级别和数据采集设备140处理过的数据采集状态为“可执行的”请求条件中具有最大版本更新序号请求条件相应的数据。数据采集设备140包括数据采集请求接收单元501,请求条件产生单元112,请求条件设置调度单元143,请求条件记录单元114,定时器单元115,请求条件设置单元116,数据采集单元507,数据传送单元508。其中那些与实施例1的数据采集设备110中相同的单元,用相同的附图标记标识。下面着重描述与实施例1相区别的部分。
在当前实施例中假定由数据采集单元507进行的数据采集的标题信息包括版本信息。在这里“版本信息”用于标识一个数据单元的版本(例如一个表)。甚至有同样的标识信息的数据的两个单元,如果它们有不同的版本,则它们之间内容互不相同。(也就是,每次版本更新时,其内容都会有改变)。
根据数据采集单元507接收由请求条件设置单元116的请求条件设置,请求识别信息用于识别请求条件。数据采集单元507利用请求识别信息管理数据采集状态或类似的状态。同时数据采集单元507也向外输出数据采集状态或类似的状态。
请求条件设置调度单元143根据请求条件产生单元112产生的请求条件与其他组件相连并且控制数据采集调度。为了实现这一目的,请求条件设置调度单元143(a)利用请求条件记录单元114监控和管理每个请求条件的数据采集状态。(b)将版本信息附加到存储在请求条件记录单元114中的请求条件。(c)更新版本信息,(d)将一个在具有相同级别优先权和数据采集状态的2个或多个“可执行的”请求条件中具有最大版本更新序号的请求条件的执行状态择优地从“可执行的”改变为“正在执行”。
为达到这样的目的,请求条件设置调度单元143通过附加了管理信息控制每一个请求条件的数据采集,管理信息例如版本信息,版本更新确认信息,每个存储在请求条件存储单元114的请求条件的版本更新信息,以及请求识别信息,数据采集监控状态信息,执行状态信息,数据采集确认信息,优先权级别,记录和更新这些信息。
这里应当注意,“版本更新确认信息”指示出请求的数据在相应的请求条件产生之后是否至少更新过一次(“已更新”或“未更新”)。同时,“版本更新序号信息”指明更新的序号。
图26给出了由请求条件设置调度单元143附加的各种管理信息的请求条件的表格。如图26所示,每个请求条件1401包括请求识别信息1110,数据采集条件1102,数据采集监控状态信息1202,执行状态信息1104,数据采集确认信息1113,优先权级别1103,版本信息1402,版本更新确认信息1403,以及版本更新序号信息1404。
本例给出了由请求识别信息1110分别标识为“ox0006”和“ox0007”的2个请求条件,从数据采集监控状态信息1202来看,二者均处于“无监控采集”状态,从执行状态信息1104来看是“可执行的”,并且具有同样的数据采集确认信息1113和优先权级别1103,但是从版本更新序号信息1404来看,二者却是不相同的。
下面我们将对具有上述结构的数据采集设备140的特征进行述。
图27的流程图给出了接收的数据版本已处理的数据采集控制的过程。
请求条件设置调度单元143从数据采集单元507接收一条请求识别信息和一条已采集数据(步骤S1100),从接收到的数据的标题信息提取版本信息(步骤S1101),然后判断请求条件记录单元114是否存储了一个与接收到的一条请求识别信息相应的请求条件(步骤S1102)。如果步骤S1102的判断结果为“否”,这一流程结束。
如果步骤S1102的判断结果为“是”,请求条件设置调度单元143将版本信息附加到请求条件作为版本信息1402(步骤S1103),产生新一条版本更新确认信息1403和版本更新序号信息1404,或将信息1403和1404更新,然后将此信息1403和1404附加到请求条件(步骤S1104),然后用请求条件记录单元114注册请求条件(步骤S1105)。
请求条件设置调度单元143从请求条件记录单元114中提取任意一个请求条件(步骤S1106),然后判断请求条件的数据采集监控状态信息1202是否为“非监控采集”(步骤S1107),如果步骤S1107的判断结果为“否”,重复步骤S1106的操作。
如果步骤S1107的判断结果为“是”,则请求条件设置调度单元143判断请求条件的执行状态信息1104是否为“可执行的”(步骤S1108)。如果步骤S1108的判断结果为“否”,则重复步骤S1106和S1107的操作。
如果步骤S1108的判断结果为“是”,请求条件设置调度单元143判断请求条件的优先权级别1103与预先提取的请求条件是否相同(步骤S1109)。如果步骤S1109的判断结果为“否”,重复步骤S1106至步骤S1108的操作。如果步骤S1109的判断结果为“是”,请求条件设置调度单元143判断请求条件的数据采集确认信息1113与预先提取的请求条件是否一致(步骤S1110)。如果步骤S1110的判断结果为“否”,这一流程结束。
如果步骤S1110的判断结果为“是”,则请求条件设置调度单元143判断请求条件的版本更新序号信息1404是否为最大(步骤S1111)。如果步骤S1111的判断结果为“否”,则重复步骤S1106至步骤S1110的操作。
请求条件设置调度单元143向请求条件设置单元116提出一个请求,为请求条件注册数据采集(步骤S1112),然后开始数据采集(步骤S1113)。例如,如图26所示,由请求识别信息1110标识为“ox0006”和“ox0007”的两个请求条件,相互比较后,根据版本更新信息1404,具有较大值的请求条件“ox0006”的数据采集开始执行。
正如以上所述,当前实施例数据采集设备140接收版本信息,根据接收到的版本信息,记录应用程序的每一条数据请求版本更新的序号。数据采集设备140择优地在两个或多个优先权级别和数据采集状态相同的“可执行的”请求条件中采集一条与版本更新序号值最大的请求条件相应的数据。也就是说,一条改变最频繁的数据是预先采集出来的。这提供了有效的数据采集方式,解决相同的一条数据重复采集时硬件资源使用浪费的问题。
<实施例5>
图30是表示本发明实施例5的数据采集设备200结构的功能框图。数据采集设备200的特征为接收从多个应用程序发出的数据采集请求(下文称之为采集条件)并规定将被采集的数据,通过按顺序将它们存储在所述表中接收采集信息管理它们,根据从应用程序提取的重新排列的请求将表中的数据采集条件重新排列,依照重新排列的采集条件有效地采集数据。具体地说,数据采集设备200与数字广播接收机的硬件和软件部分相对应,这些部分执行有关数据接收的基本操作,例如广播数据接收,复用,解码,滤波。数据采集设备200包括一个采集条件接收单元201,一个数据采集单元507,一个数据传送单元508,一个采集条件存储单元202,一个重新排序请求单元203以及一个采集条件设置调度单元204。其中,那些与包含在实施例1中的数据采集设备中相同的单元以相同的附图标记标识。下面着重描述与实施例1相区别的部分。
采集条件接收单元201从应用程序接收采集条件,并将接收到的采集条件发送到采集条件设置调度单元204。
一旦采集条件设置调度单元204设置了一个采集条件,除非采集条件被采集条件设置调度单元204删除,否则数据采集单元507就继续监控是否已经接收到了满足所述采集条件的一段数据,并在接收了一条数据以后,将其提取出来。
数据传送单元508从数据采集单元507接收它所采集的数据,通过参考存储在采集条件存储单元202中的所述采集条件识别已经发出用于请求所述数据的请求的应用程序,然后将数据发送到已标识的应用程序。
采集条件存储单元202存储了多组采集条件、设置信息以及顺序值。这里应该注意到每一条“设置信息”为“有效”或“无效”,用于指出在数据采集单元507中是否设置了同一组中的采集条件。“有效”表明采集条件设置在数据采集单元507中;“无效”则表明采集条件不设置在数据采集单元507中。同时,每一个“顺序值”在采集条件接收单元201接收到的采集条件中对应一个顺序。当新接收的采集条件新存储在一个采集条件设置调度单元204的表中时,初始值为“0”表明采集条件是最新接收并附加到采集条件中的。每当另一个采集条件存储在同一个表中,或者每当重新排序请求单元203发出一个请求来对表中的采集条件重新排序,或每当发现采集条件存储单元202中存储了一组包括当接收到已经成功地进行了数据采集的采集条件时表示为“无效”的一段设置信息时,初始值加“1”。当采集条件的设置从数据采集单元507中删除后,这个值复位为初始值“0”。
重新排序请求单元203提供了设置在数据采集单元507中的重新排列采集条件的定时,并根据来自应用程序的请求向采集条件设置调度单元204发出一个用于重新排列采集条件的请求。这里应该说明的是,重新排列序请求单元203可以根据由定时器等在固定的时间间隔传送的标志信息发出采集条件重新排序请求。
由CPU或者存储了控制程序的ROM实现的采集条件设置调度单元204通过监控存储在采集条件存储单元202的表中每一组内的设置信息和顺序值来调度数据采集单元507中每个采集条件的设置,并根据重新排序请求单元203传送的采集条件重新排序请求控制在数据采集单元507中设置的采集条件的重新排序。
当从采集条件接收单元201接收一个采集条件时,采集条件设置调度单元204给存储在采集条件存储单元202内的表中的每一个顺序值进行加“1”操作。然后,采集条件设置调度单元204判断接收到的采集条件能否设置在数据采集单元507中,通过检查包括设置信息为“有效”(在数据采集单元507中设置了相同组的采集条件)的组的总数是否少于能够设置在数据采集单元507中的采集条件数量上限(在本实施例中,为方便起见假设上限为“3”)。当包含在设置信息为“有效”的组的总数小于“3”时,采集条件设置调度单元204把接收到的采集条件存储在采集条件存储单元202内的表中,允许与采集条件一起包括在一个组中的设置信息表示“有效”,将同一组中的顺序值设置为初始值“0”,然后,利用数据采集单元507注册采集条件。当包括表示“有效”的设置信息的组的总数为“3”时,采集条件设置调度单元204包接收到的采集条件存储在采集条件存储单元202内的表中,允许与采集条件一起包括在一个组中的设置信息表示“无效”,将同一组中的顺序值设置为初始值“0”。
采集条件设置调度单元204根据采集条件重新排序请求对采集条件存储单元202内的表中的每一个顺序值加“1”操作,然后将利用数据采集单元507注册的采集条件重新排序。
下面,将参照流程图31、32来描述采集条件设置调度单元204如何调度从数据采集单元507中的应用程序接收的采集条件的设置。
图31为将一个从应用程序接收到的采集条件存储在采集条件存储单元202表中的过程的流程图。采集条件设置调度单元204从采集条件接收单元201接收一条采集条件(步骤S1201),然后判断采集条件存储单元202内的表中是否存储了一个或多个采集条件(步骤S1202)。如果步骤S1202的判断结果为“是”,采集条件设置调度单元204给每个顺序值加“1”(步骤S1203)。
如果步骤S1202的判断结果为“否”,采集条件设置调度单元204判断接收到的采集条件能否通过检查包括表示“有效”的设置信息的组的总数是否少于“3”而设置在数据采集单元507中(步骤S1204)。如果步骤S1204的判断结果为“是”,采集条件设置调度单元204在采集条件存储单元202内的表中存储接收到的采集条件,允许与采集条件一起包括在一个组中的设置信息表示“有效”,将同一组中顺序值设置为初始值“0”,然后在数据采集单元507中设置采集条件(步骤S1205)。如果步骤S1204的判断结果为“否”,采集条件设置调度单元204将接收到的采集条件存储在采集条件存储单元202内表中,允许与采集条件一起包括在一个组中的设置信息表示“无效”,将同一组中顺序值设置为初始值“0”(步骤S1206),然后等待直到接收到下一个采集条件,接收到下一个采集条件后,重复以上步骤。
图32的流程图表示了采集条件设置调度单元204在数据采集单元507中设置一条存储在采集条件存储单元202内的表中的采集条件的过程。
采集条件设置调度单元204接收一条发自重新排序请求单元203的采集条件重新排序请求(步骤S1301),然后判断在采集条件存储单元202内的表中是否存储了一组包含表示“无效”的设置信息(步骤S1302)。如果步骤S1302的判断结果为“否”,采集条件设置调度单元204等待另一条采集条件重新排序请求,因为不必对采集条件重新排序,然后重复以上步骤,直到发现采集条件存储单元202内的表中存储了一组包括表示“无效”的设置信息的表。
如果步骤S1302的判断结果为“是”,采集条件设置调度单元204为存储在采集条件存储单元202内的表中的每一个顺序值进行加“1”操作(步骤S1303),然后判断采集条件能否通过检查表示“有效”的设置信息的组的总数是否小于“3”而重新设置在采集单元507中(步骤S1304)。
如果步骤S1304中的判断结果为“否”,采集条件设置调度单元204从采集条件存储单元202内的表中选择在一个组中同时包括表示“有效”的设置信息和具有最大顺序值的采集条件,从数据采集单元507中删除所选择的采集条件的设置,允许与采集条件一起包括在一个组中的设置信息表示“无效”,然后将同一组中顺序值设置为初始值“0”(步骤S1305),然后从表中选择一组同时包括表示“无效”的设置信息和最大顺序值的采集条件,允许与采集条件一起包括在一个组中的设置信息表示“有效”,并且将同一组中顺序值设置为初始值“0”(步骤S1306),然后将所选的采集条件设置在数据采集单元507中。
如果步骤S1304的判断结果为“是”,采集条件设置调度单元204从采集条件存储单元202内的表中选择一组同时包括表示“无效”的设置信息和具有最大顺序值的设置的采集条件,允许设置信息表示“有效”,并将顺序值设置为初始值“0”(步骤S1306),然后在数据采集单元507中设置选择的采集条件。在以上步骤中,步骤S1301到步骤S1306将举例详细说明。
图33给出了存储在采集条件存储单元202内的表的一个例子,采集条件存储单元202存储了多组采集条件,设置信息,以及顺序值。在本例中,表中存储了6个采集条件1到6。其中,采集条件1到3为在数据采集单元507中设置的。
图34表示了图33中所列的表的内容,这些内容是由采集条件设置调度单元204执行以上步骤更新之后的内容。图33中的表存储了采集条件4到6,每一条采集条件与表示“无效”的设置信息的采集条件一起包括在一个组中(“是”判断在步骤S1302中执行)。因此,采集条件设置调度单元204对存储在表中的每一个顺序值进行加“1”操作。同时,因为包括“有效”的设置信息的组的总数为“3”,采集条件设置调度单元204判断采集条件不能被重新设置在数据采集单元507中(“否”判断在步骤S1304中执行),从图33所示的表中选择一组同时包括表示“有效”的设置信息和最大顺序值的采集条件1,从数据采集单元507中删除采集条件1的设置,允许与采集条件1一起存储在一个组中的设置信息表示“无效”,然后将同一组中顺序值设置为初始值“0”(步骤S1305),然后从表中选择采集条件4,采集条件4同时包括设置信息表示“无效”和最大顺序值的设置,然后允许同一个组中的设置信息表示“有效”和将同一组中顺序值设置为初始值“0”(步骤S1306),然后将所选的采集条件4设置在数据采集单元507中。这一过程的结果为图33所示的表被更新为图34所示的表。
下面将描述由采集条件设置调度单元204设置在数据采集单元507中的数据采集条件之后在数据采集设备200执行的过程。
图35是表示在一条采集条件由采集条件设置调度单元204设置在数据采集单元507之后由数据采集设备200执行的过程的流程图。数据采集单元507接收数据(步骤S1401),然后判断接受到的数据是否满足被设置的采集条件(步骤S1402)。如果步骤S1402的判断为“是”,数据采集单元507提取数据(步骤S1403)。提取出来的数据被传送到数据发送单元508中。数据发送单元508将数据发送到需要数据的应用程序中(步骤S1404)。如果步骤S1402的判断为“否”,数据采集单元507重复上述判断直到数据满足接收到的采集条件。
在当前实施例中,在图31所示的流程图中,如果判断接收到的采集条件不能被设置在数据采集单元507中,采集条件设置调度单元204不在数据采集单元507中设置采集条件,但是在采集条件存储单元202内的表中存储接收到的采集条件,允许与采集条件一起在一个组中的设置信息表示“无效”,然后将同一组中的顺序值设置为初始值“0”(步骤S1206)。而且,步骤S1206也可以由步骤S1207替代,步骤S1207即采集条件设置调度单元204从采集条件存储单元202内的表中选择在一组中包括表示“有效”的设置信息的和最大顺序值的采集条件,从数据采集单元507中删除所选的采集条件的设置,允许与所选的采集条件一起存储在一个组中的设置信息表示“无效”,将同一组中顺序值设置为初始值“0”。步骤S1207紧随步骤S1205,在步骤S1205中,采集条件设置调度单元204将接收到的采集条件存储在采集条件存储单元202内的表中,允许与采集条件一起在一个组中的设置信息表示“无效”,将同一组中顺序值设置为初始值“0”,在数据采集单元507中设置采集条件。这一流程图表示在图36中。再此省略这一流程图中与图31所示的相同的步骤S1201至S1205以及对这些步骤的解释。
由于这样一种结构,只要从应用程序中接收一个采集条件,则一个数据采集就预先执行。这样就会提高从应用程序提出相应请求的速度。
由于上面的描述,根据当前实施例中的数据采集设备,它为接收比用于数据可以同时实际提取或监控的采集条件数目大的更多的采集条件提供了可能。也为自动地调整数据采集和监控调度提供了可能。
<实施例6>
图37是表示本发明实施例6的数据采集设备300的结构的功能框图。数据采集设备设备300的特征为接收从多个应用程序中发出的采集条件,通过在表中按顺序存储,管理接收到的采集条件,根据成功采集的数据的定时对表中的采集条件重新排序,根据重新排序的采集条件有效地采集数据。具体的说,数据采集设备200与数字广播接收机的硬件和软件部分相对应,这些部分执行有关数据接收的基本操作,例如广播数据接收,多路复用,解码,以及滤波。数据采集设备300包括采集条件接收单元201,数据采集单元507,数据发送单元508,采集条件存储单元202,以及采集条件设置调度单元204。其中,那些与实施例5中包括在数据采集设备200中的相同的单元采用相同的附图标记标识。下面描述与实施例5相区别的部分。
当从数据采集单元507接收到数据已成功提取的采集条件的通知时,采集条件设置调度单元204判断采集条件存储单元202内的表中是否存储了一组包括表示“无效”的设置信息,如果判断结果为“是”,表中的每一个顺序值都执行加“1”操作,然后判断采集条件能否重新设置在数据采集单元507中。如果这一判断结果为“是”,采集条件设置调度单元204在数据采集单元507中新设置一条采集条件,如果这一判断为“否”,采集条件设置调度单元204对被设置的采集条件重新排序。
下面,将根据流程图31和38,对采集条件设置调度单元204是如何对在数据采集单元507从应用程序接收到的采集条件的设置调度进行描述。
图31已经在实施例5中描述过了,这里不再加以描述。
图38是表示采集条件设置调度单元204在数据采集单元507中设置存储在采集条件存储单元202内的表中的采集条件的过程流程图。采集条件设置调度单元204从数据采集单元507中接收一个数据已被成功提取的采集条件的通知(步骤S1501),然后判断采集条件存储单元202内的表中是否存储有一组包括表示“无效”的设置信息(步骤S1502)。如果步骤S1502的判断结果为“否”,由于它不必对采集条件重新排序,所以采集条件设置调度单元204等待另一个通知,并且重复上述步骤,直到找到存储了一组包括表示“无效”的设置信息的表。
如果步骤S1502的判断结果为“是”,采集条件设置调度单元204对存储在表中的每一个顺序值执行加“1”操作(步骤S1503),然后判断一条采集条件能否通过检查包括表示“有效”的设置信息的组的总数是否小于“3”而被重新设置在数据采集单元507中(步骤S1504)。
如果步骤S1504的判断结果为“否”,采集条件设置调度单元204从采集条件存储单元202内的表中选择一个与表示“有效”的设置信息和最大顺序值一起包括在一个组中的采集条件,从数据采集单元507中删除所选择采集条件的设置,允许与所选采集条件一起存储在同一组中的设置信息表示“无效”,将同一组中顺序值设置为初始值“0”(步骤S1505),然后从表中选择一条采集条件,这条采集条件包括一组表示“无效”的设置信息和最大顺序值,然后允许同一组中的设置信息表示“有效”,将同一组中顺序值设置为初始值“0”,然后在数据采集单元507中设置所选择的采集条件。
如果步骤S1504的判断结果为“是”,采集条件设置调度单元204从采集条件存储单元202内的表中选择一条与表示“有效”的设置信息和最大顺序值一起包括在一个组中的采集条件,允许这一个设置信息表示“有效”,并将这一顺序值设置为初始值“0”(步骤S1506),然后在数据采集单元507中设置所选择的采集条件。
在采集条件设置调度单元204在数据采集单元507中设置采集条件之后,由数据采集单元507执行的过程,与在实施例5流程图35所述那些步骤相同,因此这里不再描述。
在当前实施例中,在图31的流程图中,如果判断出接收到的采集条件不能设置在数据采集单元507中,采集条件设置调度单元204不会在数据采集单元507中设置采集条件,但是在采集条件存储单元202中存储接收到的采集条件,允许与采集条件包括在同一个组中的设置信息表示“无效”,然后将同一组中的顺序值设置为初始值“0”(步骤S1206)。但是,步骤S1206可以用步骤S1207替代,在步骤S1207中,采集条件设置调度单元204从采集条件存储单元202内的表中选择一条与表示“有效”的采集信息和最大顺序值包括在一个组中的采集条件,从数据采集单元507中删除所选的采集条件,允许与存储在同一个组中的所选采集条件设置信息表示“无效”,将同一组中顺序值设置为“0”。这一流程图在图36中已表示了。注意,这一流程图中步骤S1201至S1205与图31中那些步骤相同,因此,在此省略对这些步骤的解释。
利用这种结构,只要从应用程序中接收到一条采集条件,就会预先执行一个数据采集。这就提高了响应从应用程序发出的请求的速度。
在当前实施例中,图38流程图所示,如果判断出接收到的采集条件不能被设置在数据采集单元507中,采集条件设置调度单元204从采集条件存储单元202内的表中选择一条与表示“有效”的设置信息和最大顺序值一起包括在一个组中的采集条件,从数据采集单元507中删除选择采集条件的设置,允许与存储在同一个组中的所选采集条件设置信息表示“无效”,然后将同一组中的顺序值设置为初始值“0”(步骤S1505)。而且,步骤S1505可以用步骤S1507所替代,在步骤S1507中,采集条件设置调度单元204从数据采集单元507中删除数据已被成功提取的采集条件设置,允许与存储在同一组中的采集条件设置信息表示“无效”,将同一组中的顺序值设置为初始值“0”。这一流程图表示在图39中。注意到此流程图中步骤S1501至S1505与图38中的那些相同,在此省略对这些步骤的解释。
利用这种结构,数据已被成功提取的采集条件已预先从数据采集单元507所执行的数据监控和提取的对象中删除。提供了一个到数据还未被采集的另外采集条件的有效数据采集机会。
如果流程图36所示的过程与流程图39所示的过程结合起来执行来调度数据采集单元507中从应用程序接收的采集条件的设置,可能会在图39中所示流程图中步骤S1503和S1504之间插入步骤S1508,在步骤S1508中,采集条件设置调度单元204为存储在一组中带有数据已成功提取的采集条件设置的顺序值执行加“2”操作。这一流程图见图40所示。注意到这一流程图中的步骤S1501至S1504和S1506至S1507,与图39中那些步骤相同,在此省略对这些步骤的解释。
利用这种结构,即使是数据已成功提取的采集条件的设置在步骤S1507中也没有从数据采集单元507中删除,数据已被成功提取的采集条件从数据采集单元507所执行的数据监控和提取的对象上更快地删除(步骤S1504的判断为“是”)。
到目前为止,本发明的数据采集设备已根据多个实施例加以描述。但是不用说,本发明并不限于这些实施例。
在以上实施例中假设数据采集设备应用于数字广播接收机。但是不仅限于此,本发明也可以应用于连接到与诸如因特网的通信网络的计算机,有线电视,或者利用了视频分区系统的接收机。
在实施例1中,由请求条件产生单元112产生的请求条件,通过请求条件设置调度单元113调度,并存储在请求记录单元114中。这一流程可能加以改变以便于一个由请求条件产生单元112产生的请求条件通过请求条件记录单元114发送到请求条件设置调度单元113中。也就是说,请求条件记录单元114可能用作为存储单元,用来存储在数据采集设备执行调度之前和之后的请求条件。
在以上实施例中,如果两个请求条件共用一个相同条件时,请求条件产生单元112判断两个请求条件是否能够连接,并且通过逻辑求和连接这两个条件新产生一个请求条件。而且,三个或更多的请求条件能够以同样的逻辑求和的方式产生一个请求条件。这是因为,当多个相互独立的应用程序提出采集多条包括相同部分的数据的请求时,可以为整个有效的数据采集分别预先采集相同的部分。
在请求条件的连接方面,希望尽可能多的请求条件被连接到一起。为此,请求条件的连接可以通过研究记录在请求条件记录单元114中的全部请求条件连接的可能性来最优化。
在以上实施例中,当通过共用一个的请求条件而建立连接产生一个请求条件时,请求条件产生单元产生附加信息,例如,请求识别信息,请求产生时间以及后连接请求识别信息。而且,请求条件设置调度单元代替了请求条件产生单元,可以产生和存储这些附加信息。
在以上实施例中,请求条件设置调度单元根据绝对时间执行调度,例如请求产生时间,超时时间和超时取消时间。而且,请求条件设置调度单元根据相对时间(消耗时间),通过产生诸如超时时间,超时取消时间和请求条件配置时间这样的时间信息以及给请求条件附加时间信息来执行调度。
有可能提供一种数据采集设备,它执行由实施例1-4中描述的请求条件产生单元和请求条件设置调度单元结合起来的功能的各种高性能调度。例如请求条件设置调度单元可以提供以上在实施例1-4中描述的功能的全部结合,以及必要时即可动态选择一项的最合适的功能。
请求条件设置调度单元可以不删除一个数据已采集的请求条件,但是可以用队列中的最后一个位置替代它。例如当请求条件的数据采集监控状态信息已为“无监控状态”的采集数据时,数据采集设备就像以上实施例中描述的一样可能不延迟数据采集,但是可以以不固定的时间间隔重复采集数据。
数据采集设备可能在数据采集监控状态信息为“持续监控采集”的数据采集之间高速转换。
请求条件设置调度单元可能改变在根据数据采集状态转换或在某一状态中保持的时候要求附加在每个请求条件上的数据采集监控状态信息。利用这种结构,监控状态根据数据采集状态或类似状态是动态确定的。这样可以实现能够在传送数据内容、传送频率或类似信息的相应转换的数据采集设备。
本发明的独特的组件(例如请求条件产生单元和请求条件设置调度单元)可以通过硬件实现,例如特定的电子电路或通过通用目标的CPU执行的程序实现。
在实施例5-6中,直到3的采集条件可以在数据采集单元507中设置。而且,以上数目的上限不限于“3”。如实施例5的例子中所示(图33、34),采集条件存储在数据采集条件存储单元202内的表中。而且,数目上限也不限于“6”。
在实施例5-6中,顺序值初始值为“0”。而且,初始值可以采用其他值而不是“0”。在这些实施例中,顺序值是加“1”操作,(a)当其他采集条件在表中存储时,或者(b)当包括表示“无效”的设置信息的组存储在采集条件存储单元202的表中时,(b-1)当重新排序单元203发出采集条件重新排序请求时,或者(b-2)当接收到数据已成功采集的采集条件通知时。而且,顺序值的增加值也不仅限于“1”,同时顺序值可以用减少操作代替增加操作。
本发明根据相应的附图,已通过实例全部描述了,很明显,对于本领域普通技术人员可以进行改变和修改。因此,除非这些改变和修改脱离了本发明的范围,这些改变和修改均可以解释为包括在本发明范围之内。
权利要求
1.一种数据采集设备,用于根据从多个数据处理装置接收的请求,从传送数据流中采集数据,该数据采集设备包括条件采集装置,用于从多个数据处理设备中采集与请求对应的多个条件;表控制装置,用于控制一个表示(a)(b)(c)三者之间关系的表,其中(a)为多个条件,(b)为多条设置信息,每一条表示数据提取装置中的条件是“设置”还是“未设置”状态,及(c)表示已经被采集的多个条件的顺序的顺序值,当对应的条件从数据提取装置中被删除时,每一个顺序值被初始化为一个值,指示其对应的条件最近被采集过;调度装置,在每次条件采集装置采集一个新条件时,就写下一组(a1)新条件,(b1)与新条件对应的设置信息,表示数据提取装置中的条件是“设置”还是“未设置”状态,及(c1)顺序值,指示最近被采集的新条件,并参照记录在表中的设置信息和顺序值来监控数据提取装置中的条件设置;数据提取装置,用于从数据流中提取满足多个条件的一组或多组数据;及输出装置,用于输出数据提取装置提取的一组和多组数据给多个数据处理装置中发送过采集数据请求的数据处理装置。
2.如权利要求1所述的数据采集设备,其中调度装置包括条件检测装置,用于从表中检测与表示“未设置”状态的设置信息对应的条件;及确定装置,用于参照与检测的条件对应的顺序值来确定检测到的条件中将要被新设置在数据提取装置中的一个条件。
3.如权利要求2所述的数据采集设备,其中调度装置还包括设置判断装置,用于通过判断与表示为“设置”状态的设置信息相对应的条件的数目是否少于数据提取装置中可以设置的条件数目的上限值,来判断数据提取装置中是否设置了新条件;及设置监控装置,用于当设置判断装置判断出设置了一个新条件时,在数据提取装置中设置确定的条件,当设置判断装置判断出没有设置新条件时,则选择条件中与表示为“设置”状态的设置信息相对应的条件,从数据提取装置中删除所选择的条件,并在数据提取装置中设置确定的条件。
4.如权利要求3所述的数据采集设备,其中确定装置可以在与表示为“未设置”状态的设置信息相对应的条件中确定一个条件,作为一个在数据提取装置中新设置的条件,表中与之对应的顺序值表明该条件最近最少被采集过,当设置判断装置判断出这个条件不是新设置的,则设置监控装置在与表示为“设置”状态的设置信息对应的条件中选择一个条件,表中与之对应的顺序值表明该条件最近最少被采集过,然后从数据提取装置中删除该选择的条件。
5.如权利要求3所述的数据采集设备,其中确定装置可以在与表示为“未设置”状态的设置信息相对应的条件中确定一个条件,作为一个在数据提取装置中新设置的条件,表中与之对应的顺序值表明该条件最近最多被采集过,当设置判断装置判断出这个条件不是新设置的,则设置监控装置在与表示为“设置”状态的设置信息对应的条件中选择一个条件,表中与之对应的顺序值表明该条件最近最少被采集过,然后从数据提取装置中删除该选择的条件。
6.如权利要求1所述的数据采集设备,该设备还包括重新排序请求装置,用于发送重新排序请求,请求调度装置根据来自多个数据处理装置的指令对设置在数据提取装置中的条件重新排序,其中,调度装置在接到来自重新排序请求装置的重新排序请求时,参照记录在表中的设置信息和顺序值来监控设置在数据提取装置中的条件的重新排序。
7.如权利要求6所述的数据采集设备,其中调度装置包括条件检测装置,用于当接收到来自重新排序请求装置的重新排序请求时从表中检测与表示“未设置”状态的设置信息相对应的条件;及确定装置,用于参照与检测的条件对应的顺序值来确定检测到的条件中将要被新设置在数据提取装置中的一个条件。
8.如权利要求7所述的数据采集设备,其中调度装置还包括设置判断装置,用于通过判断与表示为“设置”状态的设置信息相对应的条件的数目是否少于数据提取装置中可以设置的条件数目的上限值,来判断数据提取装置中是否设置了新条件;及设置监控装置,用于当设置判断装置判断出设置了一个新条件时,在数据提取装置中设置确定的条件,当设置判断装置判断出没有设置新条件时,则选择条件中与表示为“设置”状态的设置信息相对应的条件,从数据提取装置中删除所选择的条件,并在数据提取装置中设置确定的条件。
9.如权利要求8所述的数据采集设备,其中确定装置可以在与表示为“未设置”状态的设置信息相对应的条件中确定一个条件,作为一个在数据提取装置中新设置的条件,表中与之对应的顺序值表明该条件最近最少被采集过,当设置判断装置判断出这个条件不是新设置的,则设置监控装置在与表示为“设置”状态的设置信息对应的条件中选择一个条件,表中与之对应的顺序值表明该条件最近最少被采集过,然后从数据提取装置中删除该选择的条件。
10.如权利要求1所述的数据采集装置,其中数据提取装置当成功地提取到满足某一条件的数据时,将满足成功提取数据的条件通知给调度装置,调度装置在接收到通知时,参照记录在表中的设置信息和顺序值来监控设置在数据提取装置中的条件的重新排序。
11.如权利要求10所述的数据采集设备,其中条件检测装置,用于当接收到通知时从表中检测与表示“未设置”状态的设置信息相对应的一个或多个条件;及确定装置,用于参照与检测的条件对应的顺序值来确定检测到的条件中将要被新设置在数据提取装置中的一个条件。
12.如权利要求11所述的数据采集设备,其中调度装置还包括设置判断装置,用于通过判断与表示为“设置”状态的设置信息相对应的条件的数目是否少于数据提取装置中可以设置的条件数目的上限值,来判断数据提取装置中是否设置了新条件;及设置监控装置,用于当设置判断装置判断出设置了一个新条件时,在数据提取装置中设置确定的条件,当设置判断装置判断出没有设置新条件时,则选择条件中与表示为“设置”状态的设置信息相对应的条件,从数据提取装置中删除所选择的条件,并在数据提取装置中设置确定的条件。
13.如权利要求12所述的数据采集设备,其中确定装置可以在与表示为“未设置”状态的设置信息相对应的条件中确定一个条件,作为一个在数据提取装置中新设置的条件,表中与之对应的顺序值表明该条件最近最少被采集过,当设置判断装置判断出这个条件不是新设置的,则设置监控装置在与表示为“设置”状态的设置信息对应的条件中选择一个条件,表中与之对应的顺序值表明该条件最近最少被采集过,然后从数据提取装置中删除该选择的条件。
14.如权利要求12所述的数据采集设备,其中确定装置可以在与表示为“未设置”状态的设置信息相对应的条件中确定一个条件,作为一个在数据提取装置中新设置的条件,表中与之对应的顺序值表明该条件最近最多被采集过,当设置判断装置判断出这个条件不是新设置的,则设置监控装置在与表示为“设置”状态的设置信息对应的条件中选择一个条件,表中与之对应的顺序值表明该条件最近最少被采集过,然后从数据提取装置中删除该选择的条件。
15.如权利要求12所述的数据采集设备,其中确定装置可以在与表示为“未设置”状态的设置信息相对应的条件中确定一个条件,作为一个在数据提取装置中新设置的条件,表中与之对应的顺序值表明该条件最近最少被采集过,当设置判断装置判断出这个条件不是新设置的,则设置监控装置在与表示为“设置”状态的设置信息对应的条件中选择一个条件通知数据提取装置,并从数据提取装置中删除选择的条件。
16.如权利要求12所述的数据采集设备,其中确定装置可以在与表示为“未设置”状态的设置信息相对应的条件中确定一个条件,作为一个在数据提取装置中新设置的条件,表中与之对应的顺序值表明该条件最近最多被采集过,当设置判断装置判断出这个条件不是新设置的,则设置监控装置在与表示为“设置”状态的设置信息对应的条件中选择一个条件通知数据提取装置,并从数据提取装置中删除选择的条件。
全文摘要
一种数据采集设备,包括数据采集单元507,接收数据采集条件,当传送的数据包含满足任何请求条件的数据时,从传送数据中提取数据;数据采集请求接收单元501,接收来自多个应用程序的采集数据请求及指定数据的条件;请求条件设置调度单元113,通过为所有接收到的请求产生一个请求队列来监控数据采集的启动,并依据队列,在数据采集单元507中设置相应的条件。
文档编号G06F17/40GK1716260SQ20051007901
公开日2006年1月4日 申请日期2001年5月30日 优先权日2000年5月30日
发明者石川义朗, 小寺贵, 神门磨 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1