书签 分享 收藏 举报 版权申诉 / 31

流数据处理装置.pdf

  • 上传人:1***
  • 文档编号:4580069
  • 上传时间:2018-10-21
  • 格式:PDF
  • 页数:31
  • 大小:1.66MB
  • 摘要
    申请专利号:

    CN03157772.5

    申请日:

    2003.08.28

    公开号:

    CN1489071A

    公开日:

    2004.04.14

    当前法律状态:

    终止

    有效性:

    无权

    法律详情:

    未缴年费专利权终止IPC(主分类):G06F 13/14申请日:20030828授权公告日:20080723终止日期:20100828|||授权|||实质审查的生效|||公开

    IPC分类号:

    G06F13/14; G06F13/42

    主分类号:

    G06F13/14; G06F13/42

    申请人:

    松下电器产业株式会社;

    发明人:

    稻见聪; 前田茂则; 宫崎秋弘; 小野正; 关根福太郎; J·弗格勒; G·普法伊弗; 高木利匡

    地址:

    日本国大阪府门真市

    优先权:

    2002.08.30 JP 2002-254340

    专利代理机构:

    上海专利商标事务所

    代理人:

    李家麟

    PDF完整版下载: PDF下载
    内容摘要

    在正常操作状态下,连接管理部分(21)将第一个处理部分(13)发送来的数据写入到数据临时存储部分(22),并从数据临时存储部分(22)读取将由第二个处理部分(14)接收的数据。一旦接收到指示改变处理内容的控制信号(31)和(32)时,第一个处理部分(13)和第二个处理部分(14)分别输出一个发送端清除请求(41)和一个接收端清除请求(42)。在接收到发送端清除请求(41)之后及直到接收到接收端清除请求(42)时,连接管理部分(21)从空数据存储部分(23)读数据;在接收到接收端清除请求(42)之后并且直到接收到发送端清除请求(41)时,连接管理部分(21)将数据写入到空数据存储部分(23)。

    权利要求书

    1: 一种用于对流数据进行多步处理的流数据处理装置,所述装置包括: 发送端处理部分(13),用来对流数据中获得的数据进行的多步处理中的一 步处理,并发送处理过的数据; 接收端处理部分(14),用来接收从发送端处理部分发送的数据,并对接收 到的数据进行多步处理中的下一步处理; 控制部分(11),用来向发送端处理部分和接收端处理部分指示处理内容的 改变; 数据临时存储部分(22),用来临时存储从发送端处理部分发送的数据; 空数据存储部分(23),用来删除任何写到其上的数据,以响应数据写入操 作,并且返回空数据,以响应数据读取操作;及 连接管理部分(21),用来通过对数据临时存储部分和空数据存储部分进行 数据写入和数据读取从而允许从发送端处理部分发送的数据被接收端处理部 分接收; 其特征在于, 如果控制部分指示改变处理的内容,发送端处理部分(13)和接收端处理部 分(14)分别向连接管理部分输出发送端清除请求(41)和接收端清除请求(41); 及 连接管理部分(21)根据连接管理部分是否处于正常操作状态、在接收到发 送端清除请求并直到接收到接收端清除请求期间的接收端清除等待状态,或在 接收到接收端清除请求并直到接收到发送端清除请求期间的发送端清除等待 状态,来切换从发送端处理部分发送的数据的写入目的地和由接收端处理部分 接收的数据的读取源。
    2: 如权利要求1所述的流数据处理装置(10),其特征在于,所述连接管 理部分(21)的操作包括: 选择数据临时存储部分作为在正常操作状态下写入操作的目的地和读取 操作的源(201); 如果在正常操作状态下接收到发送端清除请求或接收端清除请求,则删除 存储在数据临时存储部分中的数据(S211,S221); 选择空数据存储部分作为在接收端清除等待状态下读取操作的源(S212); 及 选择空数据存储部分作为在发送端清除等待状态下写入操作的目的地 (S222)。
    3: 如权利要求1所述的流数据处理装置(10),其特征在于,所述连接管 理部分(21)的操作包括: 选择数据临时存储部分作为在正常操作状态下写入操作的目的地和读取 操作的源(S201); 如果在正常操作状态下接收到接收端清除请求,则删除存储在数据临时存 储部分中的数据(S221); 选择空数据存储部分作为在发送端清除等待状态下写入操作的目的地 (S222); 在接收端清除等待状态下,将存储在数据临时存储部分中的任何数据作为 旧数据,当接收到发送端清除请求时,选择数据临时存储部分中未存储旧数 据的一个区域作为写入操作的目的地,并且选择数据临时存储部分中存储旧数 据且其中有旧数据的一个区域作为读取操作的源,并且一旦旧数据不再存在时 选择空数据存储部分作为读取操作的源(S231);及 如果在接收端清除等待状态下接收到接收端清除请求,则删除旧数据 (S233)。
    4: 如权利要求1所述的流数据处理装置(10),其特征在于,所述发送端 处理部分(13)和接收端处理部分(14)输出发送端清除请求和接收端清除请求 并通过使用具有对连接管理部分访问功能的数据发送/接收部分(24,25)来进 行数据发送和接收。
    5: 如权利要求1所述的流数据处理装置(10),其特征在于,所述连接管 理部分(21)包括: 如果从发送端处理部分发送的数据不能写入数据临时存储部分,能够选择 是否立即进行向发送端处理部分通知错误的处理,或进行等待直到有可能将数 据写入到数据临时存储部分并通知发送端处理部分将数据写入到数据临时存 储部分的结果的处理。
    6: 如权利要求1所述的流数据处理装置(10),其特征在于,所述连接管 理部分(21)包括: 如果不能从数据临时存储部分中读取将由接收端处理部分接收的数据,能 够选择立即进行向接收端处理部分通知错误的处理,或进行等待直到有可能从 数据临时存储部分中读取数据并通知接收端处理部分从数据临时存储部分中 读取数据的结果的处理。
    7: 如权利要求1所述的流数据处理装置(10),其特征在于,进一步包括 通过其输入流数据的数据输入部分(12)。
    8: 如权利要求7所述的流数据处理装置(10),其特征在于,所述数据输 入部分(12)从可移动记录媒介输入流数据。
    9: 如权利要求1所述的流数据处理装置(10),其特征在于,进一步包括 用来输出对流数据进行多步处理的结果的数据输出部分(15)。
    10: 如权利要求9所述的流数据处理装置,其特征在于,所述数据输出部 分(15)输出对流数据进行多步处理的结果到可移动记录媒介。

    说明书


    流数据处理装置

        【发明领域】

        本发明涉及一种对流数据进行多步处理的流数据处理装置。更特别地,本发明涉及一种在多个处理部分之间发送或接收数据并且在它们之间实现同步化的流数据处理装置。

        发明技术背景

        众所周知,流数据处理装置适用于对诸如音频数据或视频数据进行多步处理。一种典型的流数据处理装置包括输入部分、处理部分和输出部分,使得处理部分可对输入的流数据进行预定的处理,并输出由此获得的处理结果。在很多情况下,流数据处理装置对输入的流数据进行包据多个步骤的处理。至此,流数据处理装置包括多个用于执行相应处理步骤的处理部分,并且在这样的处理部分之间发送或接收数据。因此,流数据处理装置以流水线方式对输入的流数据执行多步处理。有时会向流数据处理装置发出指令,如中断处理或定位(即,从给定的处理数据流中的一个不同的位置开始处理)。为了确保当接收到这样的指令时的正确操作,流数据处理装置进行数据交换并且在多个处理部分之间实现同步化。

        日本专利No.3095290揭示了一种方法,在流数据处理装置中进行数据交换并且在多个处理部分之间实现同步化。根据该方法,每个处理部分都可以通过通信获取另一与之交换数据的处理部分的状态,并且根据那一处理部分的状态切换它自己的操作。例如,当向流数据处理装置发出一个定位指令,在数据接收端的处理部分必须推迟数据的接收,直到在数据发送端的处理部分开始发送对应于新位置的数据地处理结果。为了实现这样的功能,每个处理部分根据接收到数据的内容、处理的进程以及另一处理部分的状态来控制它自己的操作防止读取任何不正确的数据。因此,通过在多个处理部分之间正确交换数据并且在它们之间实现同步化,流数据处理装置能够以良好的整体完整性运行。

        然而,使用上述方法在多个处理部分之间实现同步化会存在下列问题。由于每个处理部分都需要根据接收到的数据的内容、处理的进程以及另一处理部分的状态来控制它自己的操作,所述每个处理部分的结构就变得复杂。当用软件实现各个处理部分时,构成每个处理部分的软件组件的结构变得特别复杂。再者,由于没有在上述方法中的相应的处理部分中使用统一的接口,因此就很难将构成每个处理部分的软件组件移植到另一个系统。

        【发明内容】

        因此,本发明的一个目标是提供一种在多个处理部分之间发送或接收数据并且在它们之间实现同步化的流数据处理装置,使得每个处理部分能够进行数据交换而不用考虑数据的内容、处理的进程以及另一处理部分的状态。本发明的另一个目标是统一流数据处理装置所包含的处理部分之间的接口,从而简化每个处理部分的结构并提高每个处理部分的再利用率。

        根据本发明的流数据处理装置包括:发送端处理部分、接收端处理部分、控制部分、数据临时存储部分、空数据存储部分和连接管理部分,并且对流数据进行多步处理。发送端处理部分进行多步处理中的一个处理。接收端处理部分进行多步处理中的另一个处理。连接管理部分使用数据临时存储部分作为允许从发送端处理部分发送和由接收端处理部分接收的数据缓冲器。如果由于定位或流数据的改变需要改变处理的内容,每个处理部分响应来自控制部分的指令向连接管理部分输出一个清除请求。连接管理部分根据它是否处于正常操作状态,来切换写的目的地和读的源,该操作状态可包括:在接收到发送端清除请求之后和直到接收到接收端清除请求时存在的接收端清除等待状态,或者在接收到发送端清除请求之后和直到接收到接收端清除请求时存在的发送端清除等待状态。当空数据存储部分作为这类切换的目的地时,就响应数据写操作删除任何写入空数据存储部分的数据并响应数据读操作返回空数据。

        作为切换方法的第一个例子,连接管理部分可以在接收端清除等待状态下选择空数据存储部分作为读的源,并且在发送端清除等待状态下选择空数据存储部分作为写的目的地。当采用这种切换方法时,如果在正常操作状态下收到任何一个清除请求,连接管理部分就删除存储在数据临时存储部分中的数据。

        作为切换方法的第二个例子,连接管理部分可以在发送端清除等待状态选择空数据存储部分作为写的目的地,并且在接收端清除等待状态下,将在已经接收到发送端清除请求时存储在数据临时存储部分中的任何数据都当作旧数据,选择数据临时存储部分中没有存储旧数据的一个区域作为写的目的地,并且选择在数据临时存储部分中存储旧数据而且存在旧数据(并且当旧数据不再存在时选择空数据存储部分作为读的源)的一个区域作为读的源。当采用这种切换方法时,如果在正常存在状态下接收到接收端清除请求,连接管理部分就删除存储在数据临时存储部分中的数据,并且如果在接收端清除等待状态下接收到接收端清除请求,连接管理部分就删除旧数据。

        发送端处理部分和接收端处理部分可以输出发送端清除请求和接收端清除请求并通过使用具有对连接管理部分的访问功能的数据发送/接收部分来进行数据的发送和接收。

        连接管理部分可以构建成:在发送端处理部分发送的数据不能被写入到数据临时存储部分时,能够选择是进行立即向发送端处理部分通知错误的处理,还是等待直到有可能将数据与入到数据临时存储部分并通知发送端处理部分数据写入到数据临时存储部分的结果。另一种选择是,连接管理部分可以构建成在不能从数据临时存储部分读取由接收端处理部分接收的数据时,能够选择是立即向接收端处理部分通知错误的处理,还是等待直到有可能从数据临时存储部分读取数据并通知接收端处理部分从数据临时存储部分读取数据的结果。

        流数据处理装置可以进一步包括用来输入流数据的数据输入部分和/或用来输出对流数据进行多步处理的结果的数据输出部分。数据输入部分可以从可移动记录媒介输入流数据。数据输出部分可以将进行多步处理的结果输出到可移动记录媒介。

        本发明的这些和其它的目标、特性、方面和优点将通过本发明下面的详细说明及附图来阐明。

        【附图说明】

        图1是说明根据本发明的第一和第二实施例的流数据处理装置的结构的方框图;

        图2是说明根据本发明的第一个和第二实施例的流数据处理装置在处理停止状态下指示开始处理时的操作的流程图;

        图3是说明根据本发明的第一和第二实施例的流数据处理装置在正常操作状态下指示改变处理项目时的操作流程图。

        图4是说明根据本发明的第一实施例的流数据处理装置的连接管理部分的操作的流程图;

        图5是说明根据本发明的第一和第二实施例的流数据处理装置在正常操作状态下发送或接收数据方式的示意图;

        图6是说明根据本发明的第一实施例的流数据处理装置接收端清除等待状态下发送或接收数据方式的示意图;

        图7是说明根据本发明的第一和第二实施例的流数据处理装置在发送端清除等待状态下发送或接收数据方式的示意图;

        图8是说明根据本发明的第一实施例的流数据处理装置的连接管理部分的操作;

        图9是说明根据本发明的第二实施例的流数据处理装置的连接管理部分的操作的流程图;

        图10是说明根据本发明的第二实施例的流数据处理装置在接收端清除等待状态下存在旧数据时发送或接收数据方式的示意图;

        图11是说明根据本发明的第二实施例的流数据处理装置在接收端清除等待状态下不再存在旧数据时发送或接收数据方式的示意图;

        图12是说明根据本发明的第二实施例的流数据处理装置的连接管理部分的操作的表格;及

        图13是说明根据本发明的一个变体的流数据处理装置的结构。

        首选实施例说明

        (第一个实施例)

        图1为方框图,用于说明根据本发明的第一实施例的流数据处理装置的结构。图1所示的流数据处理装置10包括:控制部分11、数据输入部分12、第一个处理部分13、第二个处理部分14、数据输出部分15、连接管理部分21、数据临时存储部分22、空数据存储部分23、数据发送部分24及数据接收部分25。流数据处理装置10对输入的流数据进行两个步骤的处理。在此,“流数据”指以时间顺序输入/输出或处理的数据,例如,音频数据或视频数据。

        控制部分11是用于控制流数据处理装置10的操作的部件。例如,当用户输入一个命令或当在装置中发生异常时,控制部分11分别将控制信号31和32输出到第一个处理部分13和第二个处理部分14。

        数据输入部分12是输入流数据的部件。例如,数据输入部分12可以为如硬盘驱动器或存储器这样的存储设备。数据输入部分12,当由这样的存储设备构成时,以预定的格式存储流数据,并以时间顺序输出包含在流数据中的数据。另一种选择,数据输入部分12可以是诸如与一个通过网络与数据输入部分12耦联的服务器(未标出)通信的通信控制设备。数据输入部分12,当由这样的通信控制设备构成时,通过通信以时间顺序接收包含在流数据中的数据,并且以所接收这些数据的顺序输出它们。

        第一个和第二个处理部分13和14对输入的数据进行两个步骤的处理。更具体地是,第一个处理部分13对以时间顺序通过数据输入部分12输入的数据进行第一个步骤的处理,并且发送处理过的数据到第二个处理部分14。第二个处理部分14接收从第一个处理部分13发送的数据,并对接收到的数据进行第二个步骤的处理。在图1所示的结构中,第一个处理部分13具有发送端处理部分的功能,以及第二个处理部分14具有作接收端处理部分的功能。

        由第一个处理部分13和第二个处理部分14所进行的处理的内容可以是任意的。第一个处理部分13和第二个处理部分14的例子可以为MPEG(运动图像专家组)编码器、MPEG解码器、用来将数字音频数据转换为模拟音频数据的D/A转换器、用来从存储器或类似设备获取数据而使用的源滤波器,或用来调整视频信号输出时间的呈现滤波器。

        数据输出部分15是输出通过对输入的流数据进行两个步骤的处理而获得的处理结果的输出部件。数据输出部分15为输出设备,如显示设备或扬声器。另一种选择,数据输出部分15可以为如硬盘驱动器或存储器这样的存储设备。数据输出部分15,当由这样的存储设备构成时,以预定的格式存储以时间顺序输出的处理结果。作为另一种选择,数据输出部分15可以为如与一个通过网络与数据输出部分15耦联的服务器(未标出)通信的通信控制设备。数据输出部分15,当由这样的通信控制设备构成时,通过通信以输出上述处理结果的顺序发送它们。

        连接管理部分21利用数据临时存储部分22来允许从第一个处理部分13发送的数据由第二个处理部分14接收。更具体地说,响应来自第一个处理部分13的发送请求,连接管理部分21将从第一个处理部分13发送的数据写入到数据临时存储部分22。响应来自第二个处理部分14的接收请求,连接管理部分21允许第二个处理部分14接收从数据临时存储部分22读取的数据。数据临时存储部分22临时地存储从第一个处理部分13发送的数据。数据临时存储部分22可以由如硬盘驱动器或存储器这样的存储设备构成。为了确保数据的有效管理和存储,可以对数据临时存储部分22采用缓冲器结构,例如,队列,双缓冲,或环形缓冲。

        如果不能将从第一个处理部分13发送的数据写入到数据临时存储部分22(例如,如果数据临时存储部分22已满),连接管理部分21等待直到有可能将数据写入到数据临时存储部分22,并向第一个处理部分13通知数据写入到临时存储部分22的结果。如果不能从数据临时存储部分22读取任何将由第二个处理部分14接收的数据(例如,如果数据临时存储部分22为空),则连接管理部分21等待直到有可能从数据临时存储部分22读取数据,并且向第二个处理部分14通知从临时存储部分22读取数据的结果。在包括以这种方式操作的连接管理部分21的流数据处理装置10中,取决于数据临时存储部分22的状态,由第一个处理部分13进行的处理可以被中断直到完成数据发送,或由第二个处理部分14进行的处理可以被中断直到完成数据接收。在这样的情况下,流数据处理装置10被称为以“块模式”工作。

        在流数据处理装置10中,当访问连接管理部分21时,数据发送部分24和数据接收部分25都被用到。数据发送部分24提供通过连接管理部分21实现的数据发送功能。数据接收部分25提供通过连接管理部分21实现的数据接收功能。由数据发送部分24提供的数据发送功能及由数据接收部分25提供的数据接收功能都是通过统一的接口来实现的。在流数据处理装置10中,第一个处理部分13在通过连接管理部分21发送数据到第二个处理部分14时使用数据发送部分24。第二个处理部分14在通过连接管理部分21接收来自第一个处理部分13的数据时使用数据接收部分25。

        下面对数据发送部分24和数据接收部分25的具体例子进行说明。例如,在一种情况下流,数据处理装置10是作为运行在特定操作系统(下面简称为“OS”)中的多线程系统来实现的。在这种情况下,可将流数据处理装置10设计成可使用由OS支持的线程间通信功能来设计。注意,通过向流数据处理装置10的设计者提供可利用OS功能的系统库,流数据处理装置10的设计者可以通过简单地使用所提供的系统库,而无需了解该OS操作原则的细节设计完成线程间通信的线程。根据图1,连接管理部分21可对应于OS中支持线程间通信功能的一部分,并且数据发送部分24和数据接收部分25对应于系统库中和使用线程间通信功能相关的一部分。因此,通过利用数据发送部分24和数据接收部分25,流数据处理装置10的设计者能够设计第一个处理部分13和第二个处理部分14使之能够通过连接管理部分21进行数据交换,而无需了解连接管理部分21的操作细节。

        在正常操作状态下,流数据处理装置的组成部分以上述方式工作。因此流数据处理装置10对所输入的流数据进行两个步骤的流水线处理。例如,假设数据输入部分12为存储MPEG视频流的存储设备;第一个处理部分13为MPEG视频解码器;第二个处理设备14为呈现滤波器;并且数据输出部分15为显示设备,流数据处理装置10可通过两个步骤进行解码和显示MPEG视频流的处理。

        在流数据处理装置10中,有时需要改变处理的内容,例如,当用户输入一个命令,或装置中出现异常时。例如,正如本文所使用的  “改变处理的内容”称之为定位(即,从给定的被处理的数据流中的一个不同的位置开始处理),或流数据的改变(即,开始处理不同于正在处理的给定数据流的另一数据流)。

        当需要改变处理的内容时,控制部分11将指示改变处理内容的控制信号31输出到第一个处理部分13,并且与此同时或稍早或稍晚将同样指示的控制信号32输入到第二个处理部分14。如果从控制部分11接收到控制信号31,第一个处理部分13通过使用数据发送部分24向连接管理部分21输出发送端清除请求41,以删除存储在数据临时存储部分22中的数据。类似地,如果从控制部分11接收到控制信号32,第二个处理部分14通过使用数据接收部分25向连接管理部分21输出接收端清除请求42。

        基于发送端清除请求41或接收端清除请求42,连接管理部分21以下列方式工作。连接管理部分21处于正常操作状态直到接收到发送端清除请求41或接收端清除请求42。在正常操作状态,从第一个处理部分13发送的数据写入到数据临时存储部分22,并且从数据临时存储部分22中读取将由第二个处理部分14接收的数据。如果在正常操作状态中接收到发送端清除请求41,连接管理部分21转换到接收端清除等待状态,其中,从空数据存储部分23中读取将由第二个处理部分14接收的数据。如果在正常操作状态接收到接收端清除请求42,连接管理部分21转换到发送端清除等待状态,其中,从第一个处理部分13发送的数据写入到空数据存储部分23。如果在接收端清除等待状态接收到接收端清除请求42或在发送端清除等待状态接收到发送端清除请求41,连接管理部分21转换到正常操作状态。连接管理部分21操作的细节将在后面说明(参考图4)。

        空数据存储部分23是缓冲器,它可删除任何写到上面的数据,并返回空数据给任何尝试从其中读取数据的设备。换句话说,任何被写到空数据存储部分23的数据都不会存储在空数据存储部分23中。即使尝试从空数据存储部分23中读取数据,也只能从空数据存储部分23中读到空数据(即0字节)。空数据存储部分23的一个具体例子是由某些OS支持的零设备。

        在此参考图2到图4对流数据处理装置10的操作细节进行说明。图2为流程图,用于说明流数据处理装置在处理停止状态下指示开始处理时的操作。图3为流程图,用于说明流数据处理装置在正常操作状态下指示改变处理内容时的操作。图4为流程图,用于说明连接管理部分的操作。

        如果在处理停止状态下指示开始处理,流数据处理装置10进行图2所示处理。图2所示处理在用户向流数据处理装置10输入开始处理命令时开始。如果用户输入开始处理命令,则控制部分11就接收所输入的开始处理命令(步骤S101)。然后,控制部分11向第一个处理部分13输出指示开始处理的控制信号31,并与此同时或稍早或稍晚将同样指示的控制信号32输出到第二个处理部分14(步骤S102)。

        在执行步骤S102后,第一个处理部分13执行步骤S111到S114,并且第二个处理部分14执行步骤S131到S134。同时,连接管理部分21独立于第一个处理部分13和第二个处理部分14进行图4所示在下面说明的处理(步骤S121)。换句话说,在执行步骤S102后,第一个处理部分13进行的处理、第二个处理部分14进行的处理及连接管理部分21进行的处理在流数据处理装置10中是并行或并发的。

        第一个处理部分13按如下所述反复执行步骤S111到S114直到它完成对流数据的处理。第一个处理部分13从数据输入部分12接收包含在流数据中将被处理的数据作为输入(步骤S111)。然后,第一个处理部分13对输入的数据进行特定于第一个处理部分13的处理(步骤S112)。然后,通过使用数据发送部分24,第一个处理部分13发送处理过的数据到连接管理部分21(步骤S113)。然后,第一个处理部分13确定它对流数据的处理是否已完成(步骤S114)。如果它确定该处理已完成,第一个处理部分13停止处理。另一方面,如果它确定该处理还未完成,第一个处理部分13继续步骤S111。

        第二个处理部分14按如下所述反复执行步骤S131到S134直到完成它对流数据的处理。通过使用数据接收部分25,第二个处理部分14从连接管理部分21接收从第一个处理部分13发送的数据(步骤S131)。然后,第二个处理部分14对接收到的数据进行特定于第二个处理部分14的处理(步骤S132)。然后,第二个处理部分14输出处理过的数据到数据输出部分15(步骤S134)。然后,第二个处理部分14确定它对流数据的处理是否已完成(步骤S134)。如果它确定该处理已完成,第二个处理部分14停止处理。另一方面,如果它确定该处理还未完成,第二个处理部分14继续步骤S131。

        如果在正常操作状态指示改变处理内容,流数据处理装置10进行图3所示的处理。图3所示处理在用户输入定位命令、流数据改变命令,或类似命令时开始。如果用户输入定位命令、流数据改变命令,或类似命令,则控制部分11就接收输入的命令(步骤S141)。然后,控制部分11输出指示开始处理的控制信号31到第一个处理部分13,并与此同时或稍早或稍晚输出同样指示的控制信号32到第二个处理部分14(步骤S142)。

        在执行步骤S142后,第一个处理部分13通过使用数据发送部分24向连接管理部分21输出发送端清除请求41(步骤S110),并且第二个处理部分14通过使用数据接收部分25向连接管理部分21输出接收端清除请求42(步骤S130)。此时,发送端清除请求41和接收端清除请求42之中的哪一个先输出取决于流数据处理装置10的结构或操作状态。

        如在图2中所示的情况,在执行步骤S110后,第一个处理部分13重复执行步骤S111到S114。同样,如在图2中所示的情况,在执行步骤S130后,第二个处理部分14重复执行步骤S131到S134。自此之后,如在图2中所示的情况,在流数据处理装置10中,第一个处理部分13进行的处理、第二个处理部分14进行的处理及连接管理部分21进行的处理在流数据处理装置10中是并行或并发的。

        如图4所示,连接管理部分21在正常操作状态执行步骤S201和S202,在接收端清除等待状态(即,接收到发送端清除请求41后并且直到接收到接收端清除请求42时的存在状态)执行步骤S211到S213,并且在发送端清除等待状态(即,接收到接收端清除请求42后并且直到接收到接收端清除请求41时的存在状态)执行步骤S221到S223。在下面的说明中,从第一个处理部分13发送的数据被称为“发送数据”,以及由第二个处理部分接收的数据被称为“将被接收的数据”。

        在正常操作状态,连接管理部分21选择数据临时存储部分22既作为写发送数据的目的地(以下称为“发送数据的写目的地”)又作为读取将被接收的数据的源(以下称为“将被接收的数据的读取源”)。因此,在正常操作状态,连接管理部分21将发送数据写入到数据临时存储部分22,并且从数据临时存储部分22读取将被接收的数据(步骤S201)。然后,连接管理部分21确定是否从第一个处理部分13或第二个处理部分14接收到清除请求(步骤S202)。如果已经接收到发送端清除请求41,连接管理部分21继续步骤S211;如果已经接收到接收端清除请求42,连接管理部分21继续步骤S221;如果未接收到任何清除请求,连接管理部分21继续步骤S201。

        图5为示意图,说明了在步骤201发送或接收数据的方式。在图5中,发送数据的写入目的地和将被接收的数据的读取源都被设为数据临时存储部分22。所说明的数据临时存储部分22存储着已从第一个处理部分13发送出但尚未由第二个处理部分14接收到的三块数据。

        参考图4,如果步骤S202发现已经接收到了发送端清除请求41,连接管理部分21就删除存储在数据临时存储部分22的数据(步骤S211)。然后,连接管理部分21选择空数据存储部分23作为将被接收的数据的读取源,而且仍然选择数据临时存储部分22作为发送数据的写目的地。因此,在接收端清除等待状态,连接管理部分21将发送数据写入到数据临时存储部分22,并且从空数据存储部分23读取将被接收的数据(步骤S212)。然后,连接管理部分21确定是否已经接收到来自第二个处理部分14的接收端清除请求42(步骤S213)。如果,接收到接收端清除请求42,连接管理部分21继续步骤S201;否则,控制转到步骤S212。

        图6为示意图,说明了在步骤212发送或接收数据的方式。在图6中,发送数据的写目的地被设为数据临时存储部分22,而将被接收的数据的读取源被设为空数据存储部分23。存储在数据临时存储部分22中的任何数据都在步骤S221被删除。在图6中,所说明的数据临时存储部分22存储着已在删除后但尚未由第二个处理部分14接收到从第一个处理部分13发送出的三块数据。

        当连接管理部分21在接收端清除等待状态,第二个处理部分14将请求连接管理部分21接收第二个处理部分14正在处理的数据的其余部分,而不管第一个处理部分13已经改变了它的处理的内容。然而,当连接管理部分21在正常操作状态时存储在数据临时存储部分22中的“其余的”数据已经由于连接管理部分21执行了步骤S211而被删除。此外,当连接管理部分21为接收端清除等待状态,第一个处理部分13请求连接管理部分21发送在改变处理的内容之后产生的新数据,并且因此连接管理部分21将这样的发送数据写入到数据临时存储部分22。因此,若不解决这个问题,第二个处理部分14会错误地接收在改变处理的内容之后产生的从第一个处理部分13发送的新数据,并将这样的数据作为第二个处理部分14正在处理的数据的其余部分来处理。作为这个问题的解决方法,如上所述,连接管理部分21在接收端清除等待状态设置将被接收的数据的读取源为空数据存储部分23。作为结果,当连接管理部分21为接收端清除等待状态时,第二个处理部分14避免接收任何东西只能接收到空数据。因此,上述问题得到解决从而流数据处理装置10不会因此出错。

        参考图4,如果步骤S202发现已经接收到接收端清除请求42,连接管理部分21删除存储在数据临时存储部分22的数据(步骤S221)。然后,连接管理部分21选择空数据存储部分23作为发送数据的写入目的地,而且仍然选择数据临时存储部分22作为将被接收的数据的读取源。因此,在发送端清除等待状态,连接管理部分21将发送数据写入到空数据存储部分23,并且从数据临时存储部分22读取将被接收的数据(步骤S222)。然后,连接管理部分21确定是否从第一个处理部分13接收到发送端清除请求41(步骤S223)。如果,已经接收到发送端清除请求41,连接管理部分21继续步骤S201;否则,控制转到步骤S222。

        图7为示意图,说明了在步骤222发送或接收数据的方式。在图7中,发送数据的写入目的地被设为空数据存储部分23,而将接收的数据的读取源被设为数据临时存储部分22。在步骤S221,存储在数据临时存储部分22中的任何数据都被删除,并且在数据删除之后从第一个处理部分13发送的任何数据都被写到空数据存储部分23。作为结果,在图7中,数据临时存储部分22未存储任何数据。

        当连接管理部分21在发送端清除等待状态,第一个处理部分13将请求连接管理部分21发送第一个处理部分13正在处理的数据的其余部分,而不管第二个处理部分14已经改变了它的处理的内容。然而,第二个处理部分14请求连接管理部分21接收在改变处理的内容之后产生的新数据。因此,若不解决这个问题,第二个处理部分14会错误地接收在第一个处理部分13正在处理的数据的其余部分,并将这些数据当作在改变处理的内容之后产生的新数据来处理。作为这个问题的解决方法,如上所述,连接管理部分21在发送端清除等待状态设置发送数据的写入目的地为空数据存储部分23。作为结果,当连接管理部分21为发送端清除等待状态,第二个处理部分14避免接收任何东西只能接收到空数据。因此,上述问题得到解决从而流数据处理装置10不会因此出错。

        图8为表格,说明了连接管理部分2 1的上述操作(图4)。在表8中,在左上列和右下列中说明的处理为正常操作状态进行的处理(步骤S201);在左下列中说明的处理为接收端清除等待状态进行的处理(步骤S212);而在右上列中说明的处理为发送端清除等待状态进行的处理(步骤S222)。

        如上所述,根据本实施例中的流数据处理装置,在正常操作状态,连接管理部分利用数据临时存储部分作为允许从第一个处理部分(作为发送端处理部分)发送的数据由第二个处理部分(作为接收端处理部分)接收的缓冲器。如果由于定位或流数据的改变需要改变处理的内容,第一个处理部分和第二个处理部分各自输出一个发送端清除请求和一个接收端清除请求,以响应来自控制部分的指令。当接收到任一种清除请求时,若在正常操作状态,连接管理部分删除存储在数据临时存储部分上的任何数据,若在接收端清除等待状态则设置将被接收的数据的读取源为空数据存储部分,若在发送端清除等待状态则设置发送数据的写目的地为空数据存储部分。

        因此,当改变处理的内容时,第二个处理部分不会错误地接收到任何在改变处理的内容后产生的新数据并且将这样的数据作为第二个处理部分14正在处理的数据的其余部分来处理,接收到第一个处理部分过去处理的数据并且将这样的数据作为在改变处理的内容之后产生的新数据来处理。因此,通过正确地在多个处理部分之间交换数据而且在它们之间实现同步化,流数据处理装置能够以良好的整体完整性运行。

        此外,每个处理部分不仅需要通过输出清除请求来响应来自控制部分的改变处理的内容的指令;而且处理部分还可以通过请求数据发送/接收继续正确地交换数据。因此,每个处理部分能够正确地进行数据交换而不用关心数据的内容或与之交换数据的另一处理部分的状态。作为结果,每个处理部分的结构得到简化。更特别地,当每个处理部分是以软件实现时,每个处理部分的软件结构可以被简化,从而有利于实现处理部分的软件组件的设计。更简单的软件结构提供的优点是降低程序代码的数量,从而提高软件质量。

        此外,每个处理部分通过使用统一的接口的方法来实现由数据发送部分的数据发送和由数据接收部分提供的数据接收功能的交换数据。其结果,每个处理部分的结构进一步得到简化。当每个处理部分是以软件实现时,每个处理部分的软件结构可以被进一步简化,并且每个处理部分的再利用率得到提高。因此,当每个处理部分是以软件实现时,这使得将构成每个处理部分的软件组件移植到另一个系统更加容易。

        (第二个实施例)

        根据本发明第一个实施例的流数据处理装置是通过在正常操作状态下当输出了发送端清除请求或接收端清除请求时删除存储在数据临时存储部分的任何数据来说明的。另一方面,根据本发明第二实施例的流数据处理装置的的特征是如果在正常操作状态先输出了发送端清除请求,则存储在数据临时存储部分中的任何数据都不被删除,并且在接收端清除等待状态,新数据和旧数据都存储在数据临时存储部分,采用新数据和旧数据区分开存储的方式。

        本实施例中的流数据处理装置和第一个实施例中的流数据处理装置有相同的结构(如图1所示),并且在处理停止状态指示开始处理(图2)或在正常操作状态指示改变处理内容(图3)时进行与第一个实施例中的流数据处理装置相同的处理。因此,这些方面的任何说明都在本实施例中略去。本实施例中的流数据处理装置与第一个实施例中的流数据处理装置不同之处在于连接管理部分21在接收端清除等待状态下的操作。

        图9为流程图,说明了根据本发明第二个实施例的流数据处理装置的连接管理部分的操作。如图9所示,连接管理部分21在正常操作状态执行步骤S201和S202;在接收端清除等待状态执行步骤S231到S233;并且在发送端清除等待状态执行步骤S221到S223。由于在正常操作状态和发送端清除等待状态进行的处理与第一个实施例中的流数据处理装置进行的处理相同,这部分说明在此略去(见图4)。在下面的说明中,在已经输出发送端清除清除41时任何存储在数据临时存储部分22中的数据将被称为“旧数据”,而从第一个处理部分13发送的任何数据在连接管理部分21处于接收端清除等待状态时将被称为“新数据”。在数据临时存储部分22中存储旧数据的区域将被称为“旧数据区域”,而在数据临时存储部分22中未存储旧数据的区域将被称为“新数据区域”。

        如图9所示,当步骤S202发现已经接收到发送端清除请求41时,连接管理部分21继续步骤S231而不删除旧数据。在这种情况下,连接管理部分21选择新数据区域作为发送数据的写入目的地,并且选择旧数据区域作为将被接收的数据的读取源。然而,值得注意的是,仅当存在任何未读取的旧数据时,旧数据区域才被选择作为将被接收数据的读取源。一旦不再存在旧数据,空数据存储部分23就被选择作为将被接收数据的读取源。因此,在接收端清除等待状态,连接管理部分21在新数据区域中写入发送数据,并且从旧数据区域读取将被接收的数据(或当不存在旧数据时,从空数据存储部分23中读取)(步骤S231)。

        接下来,连接管理部分21确定是否接收到来自第二个处理部分14的接收端清除请求42(步骤S232)。如果已经接收到接收端清除请求42,连接管理部分21继续步骤S233;否则,控制转移到步骤S231。在步骤233,连接管理部分21删除任何存在的旧数据(步骤S233),然后继续步骤S201。

        图10和11为示意图,说明了在步骤S231中发送或接收数据的方式。图10说明了旧数据存在的情况。在图10中,数据临时存储部分22存储两块旧数据(OLD_DATA5和OLD_DATA6)及一块新数据(NEW_DATA1),这两种数据以它们能够相互区分开的方式存储。如果第一个处理部分13在如图10所示的状态下请求发送下一块新数据,连接管理部分21将该数据写入数据临时存储部分22中的新数据区域(例如,在新数据NEW_DATA1的下一个空档)。如果第二个处理部分14在如图10所示的状态下请求接收下一块旧数据(OLD_DATA5),连接管理部分21将从数据临时存储部分22中的旧数据区域中读取该数据并将该数据发送到第二个处理部分14。

        图11说明了旧数据不存在的情况。如果在如图10所示的状态下第二个处理部分14请求接收两块旧数据同时第一个处理部分13请求发送一块新的数据,结果会出现图11所示的状态。在图11中,数据临时存储部分22存储两块新数据(NEW_DATA1和NEW_DATA2)。如果第一个处理部分13在如图11所示的状态下请求发送下一块新数据,连接管理部分21将该数据写入到数据临时存储部分22中的新数据区域(例如,在新数据NEW_DATA2的下一个空档)。如果第二个处理部分14在如图11所示的状态下请求接收下一块旧数据,连接管理部分21将从空数据存储部分23中读取空数据。由于流数据处理装置10以块模式工作,由第二个处理部分14进行的处理将中断直到数据接收完成。

        如在第一个实施例中,当连接管理部分21在接收端清除等待状态,第二个处理部分14将请求接收旧数据,而不管第一个处理部分13已经改变了它处理的内容。记得在第一个实施例中,连接管理部分21执行步骤S211,使得旧数据将被删除。然而在本实施例中,在这一点上旧数据不会被删除。再者,在接收端清除等待状态,连接管理部分21把发送数据作为新数据写入到数据临时存储部分22,并且从数据临时存储部分22中读取旧数据作为将被接收的数据。作为结果,当连接管理部分21在接收端清除等待状态,第二个处理部分14可以接收任何存在的旧数据,但在旧数据不再存在时只能接收到空数据。因此,第二个处理部分14可以正确地接收存储在数据临时存储部分22中的旧数据并将这些数据作为第二个处理部分14正在处理的数据的其余部分来处理。

        图12为表格,说明了连接管理部分21的上述操作(图9)。在表12中,在左上列和右下列中说明的处理为正常操作状态所进行的处理(步骤S201);在左下列中说明的处理为接收端清除等待状态所进行的处理(步骤S231);而右上列中说明的处理为发送端清除等待状态所进行的处理(步骤S222)。

        如上所述,根据本实施例中的流数据处理装置,在正常操作状态或发送端清除等待状态,连接管理部分进行与第一个实施例中的流数据处理装置相同的操作。另一方面,在接收端清除等待状态,当已经接收到发送端清除请求时,连接管理部分保留存储在数据临时存储部分中的任何数据,并设置发送数据的写入目的地为数据临时存储部分中的新数据区域,以及设置将被接收的数据的读取源为数据临时存储部分中的旧数据区域(或当旧数据不再存在时为空数据存储部分)。

        因此,除了第一个实施例的流数据处理装置提供的优点之外,本实施例的流数据处理装置提供的一个优点是第二个处理部分可以在输出发送端清除请求之后直到输出接收端清除请求期间对存储在数据临时存储部分中旧数据进行正确的处理。

        如下所述,根据本发明的每个实施例的流数据处理装置可能有不同的变体。

        上述每个实施例的流数据处理装置是用包含对输入的流数据进行两个步骤的处理的两个处理部分来说明的。作为其一种选择,流数据处理装置可以包括三个或更多的处理部分对输入的流数据进行三个或多个步骤的处理。在这种情况下,流数据处理装置可以通过连接管理部分在任何以及所有的处理部分之间实现数据交换。

        图13说明了流数据处理装置的一个变体,对输入的流数据进行三个步骤的处理。图13所示的流数据处理装置50包括:第一个处理部分53、第二个处理部分54及第三个处理部分55,用来对通过数据输入部分52输入的流数据进行三个步骤的处理,并且从数据输出部分56输出处理结果。当用户输入定位命令或类似的命令,控制部分51分别输出控制信号61、62和63到第一个处理部分53、第二个处理部分54及第三个处理部分55。第一个处理部分53使用数据发送部分24a来发送数据到第二个处理部分54。第二个处理部分54使用数据接收部分25a从第一个处理部分53接收数据。基于发送端清除请求41a和接收端清除请求42a,连接管理部分21a对数据临时存储部分22a和空数据存储部分23a进行数据写和数据读,从而允许从第一个处理部分53发送的数据由第二个处理部分54接收。第二个处理部分54和第三个处理部分55之间的数据交换以类似的方式进行。

        包含三个或多个处理部分的流数据处理装置并不一定需要通过连接管理部分来实现在任意和所有的处理部分之间的数据交换。相反,通过连接管理部分的数据交换可以仅在部分处理部分之间实现。例如,在图13所示的流数据处理装置50中,可以在第一个处理部分53和第二个处理部分54之间通过连接管理部分进行数据交换,可以在第二个处理部分54和第三个处理部分55之间进行不涉及连接管理部分的数据交换。

        虽然上述每个实施例的流数据处理装置都是以工作在块模式来说明的,流数据处理装置也可以工作在非块模式,如下所述。进一步作为另一种选择,流数据处理装置可以构建成能够选择块操作模式和非块操作模式。在那种情况下,可任意地控制由每个处理部分基于该装置的操作状态或类似状态,使得由每个处理部分所进行的处理可在数据接收/发送等待状态中断或不中断。

        在以非块模式工作的流数据处理装置中,如果发送数据不能写入到数据临时存储部分,或者不能从数据临时存储部分读取将要被接收的数据,连接管理部分马上向产生发送数据或等待接收数据的处理部分发出出错的提示。在这种情况下,在通过连接管理部分请求数据发送或接收之后,每个处理部分通过执行诸如轮询或选择的数据处理一直等待直到完成数据发送或接收。因此,即使在等待的过程中,有其它事件发生,处理部分仍能立即进行和该事件相关的处理。例如,如果用户在等待的过程中向控制部分指示中断处理,处理部分可以立即停止处理以响应从控制部分输出的处理中断指令。因此,每个处理部分即使处于数据发送/接收等待状态仍可以进行和另一个事件相关的处理。其结果,当用户输入了一个指令,流数据处理装置可以立即响应该用户的指令,而无需新激活一个进程来响应该指令。

        在上述的实施例中,提到数据输入部分12和/或数据输出部分15可以为硬盘或存储器这样的存储设备。更具体的是,可以构建数据输入部分12和/或数据输出部分15来对可移动记录媒介如存储器卡写数据或读数据。对包含这样的数据输入部分12和这样的数据输出部分15的流数据处理装置,可以将第一个装置获得的处理结果存储到可移动记录媒介,从第一个装置移至该记录媒介,并加载该记录媒介到第二个装置。采用这种方式,第二个装置能够继续第一个装置的处理来进行重现流数据、进行定位,或类似的处理。

        根据本发明的流数据处理装置,能够采用一个处理部分不需关心其它处理部分的状态的方式,在处理部分之间的数据发送或接收。因此,根据本发明的流数据处理装置可以作为一种处理流数据的设备使用,例如,音频数据或视频数据的回放设备。

        虽然在此对本发明进行了详细的说明,但上面的说明仅为示意性的而非限制性的。应理解在不偏离本发明范围的前提下可以设计出大量的其它更改和变体。

    关 键  词:
    数据处理 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:流数据处理装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4580069.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1