用于可扩展性数据处理的电脑系统及其方法与流程

文档序号:12801431阅读:232来源:国知局
用于可扩展性数据处理的电脑系统及其方法与流程

本发明是关于一种电脑系统及其方法,用于扩展性的数据处理;具体而言,本发明是关于一种用于处理自远端设备来的视讯数据的电脑系统及其方法。



背景技术:

通过与另一个远端电脑装置连接,传统的电脑系统可远端控制远端电脑装置。一般远端电脑装置可产生视讯输出,可通过电脑系统接收并播放给使用者观看。此视讯输出一般是以远端电脑装置的原始分辨率进行编码并且传送至电脑系统中。

如图1所示,传统的电脑系统20是与显示器10连接,并且可通过网络连接至远端电脑装置40。远端电脑装置40一般可产生视讯输出供电脑系统20接收并显示于显示器10上。通过此方式,使用者可经由电脑系统20控制及管理远端电脑装置40。随着科技发展,较高分辨率的需求已迫使使用者将电脑系统20的硬件/软件进行升级,以致使能使电脑系统20可支援新的远端电脑装置40所输出的较高分辨率视讯。然而,对于大型企业来说,会有大批量的电脑系统20必须被更换;在此情况下,会有许多旧的电脑系统20被丢弃或在库存中累积灰尘。

因此,势必需要有新的方法可利用那些快要被遗弃的旧硬件来显示现有较新远端电脑装置所输出的视讯。



技术实现要素:

本发明的一个目的在于提供一电脑系统及其方法,可动态/扩展性进行数据处理。

本发明的另一个目的是在于提供一种电脑系统及其方法,可克服单一数据处理装置的硬件限制。

根据本发明的一实施方式,提供一种用于处理自远端电脑装置接收的数据的电脑系统。电脑系统包含主装置及至少一从装置。主装置是与远端电脑装置通讯耦接,并且具有显视器及存储器。主装置会将数据分隔为一或多个子数据。从装置是耦接至主装置。主装置委托一或多个子数据的数据处理给一或多个从装置,从装置则是相对的将子数据产生处理过子数据。主装置将处理过子数据并且将其输出至显示器。

如上所述的电脑系统,其中,该主设备进一步包含一处理单元。

如上所述的电脑系统,其中,该主设备包含精简型电脑(thinclientcomputer)、桌上型电脑、平板电脑或手持式电脑。

如上所述的电脑系统,其中,该主设备进一步包含一通讯模块,该通讯模块作为该主设备与该远端设备以及该至少一从设备间的一个通讯介面。

如上所述的电脑系统,其中,该存储器包含挥发性存储器(volatilememory)、非挥发性存储器(non-volatilememory)或其组合。

如上所述的电脑系统,其中,该从设备包含精简型电脑(thinclientcomputer)、桌上型电脑、平板电脑或手持式电脑。

根据本发明的另一实施方式,提供一种方法,其包含:连接主设备至远端设备;自远端设备接收数据;将数据分隔为多个子数据;将一或多个子数据委托给一或多个从设备;将一或多个从设备所处理过子数据储存于共有存储器;转送共有存储器中的所有处理过子数据至帧缓冲器;以及输出帧缓冲器中的数据至显示器。

如上所述的方法,其中,将该主设备与该远端设备进行连接的步骤 进一步包含:以互联网通讯协议与该远端设备进行连接。

如上所述的方法,其中,从该远端设备接收数据的步骤进一步包含:从该远端设备接收的多个数据包解码为该数据。

如上所述的方法,其中,将该数据分隔为多个子数据的步骤进一步包含:判断与该主设备连接的从设备的数目;依据所判断的数目,将该数据分隔为相对应数目的子数据。

如上所述的方法,其中,将该子数据委托给一或多个从设备的步骤进一步包含:基于一对一的关系,将每该子数据分配给每该从设备进行数据处理。

如上所述的方法,其中,将从设备传来的处理过子数据储存于该共有存储器的步骤进一步包含:提供存储器来当作该共有存储器;从每该从设备接收处理过子数据,其中处理过子数据对应于传送至从设备并且被从设备处理过的子数据;以及储存处理过子数据于该共有存储器。

如上所述的方法,其中,将每个该处理过子数据从该共有存储器转送至该帧缓冲器的步骤进一步包含:将共有存储器中的每个处理过子数据映射至该帧缓冲器中。

如上所述的方法,其中,将该多个子数据委托给该一或多个从设备的步骤进一步包含:该一或多个从设备其中之一至少将所接收到的子数据进行分隔并且将分隔的子数据委托给另一或多个从设备。

附图说明

图1为传统电脑系统与远端装置的示意图;

图2为本发明电脑系统的一实施例的示意图;

图3为本发明主装置及从装置的一实施例的示意图;

图4为数据于主装置中流通的一实施例的示意图;

图5为图3中电脑系统的另一实施例的示意图;

图6为电脑系统的数据处理的方法的流程图。

主要元件符号说明:

10:显示器20:电脑系统

30:网络40:远端电脑装置

100:电脑系统110:显示器

120m:主设备120s1:从设备

120s2:从设备120sx:从设备

121:处理单元122:通讯模块

123:共有存储器124:帧缓冲器

130:网络140:远端设备

221:处理单元223:储存模块

300:可扩展性数据处理方法301~307:步骤

d:视讯数据d1、d2:子数据

i:指令r1、r2:处理过子数据

具体实施方式

本发明的实施例提供,经由共有存储器结构,提供支援视讯数据的平行数据处理的系统及其数据处理方法。以下的详细描述中,将会引用到附图进行各种实施例的解说。然而,此些实施例仅是为了解释本发明;因此,不应该将此些实施例视为限制本发明的范围的条件。

本文公开一种使用平行数据处理的电脑系统及其方法,用于支援分隔视讯数据并委托给多个从设备(slavedevices)同时进行数据处理。较佳的,电脑系统可包含(但不限于此)精简型电脑(thinclientcomputer)、笔记型电脑、个人电脑、服务器、手持式电脑装置,例如手机、平板电脑及可穿戴设备(wearabledevices)。

图2及以下的说明旨在提供一个简单说明来介绍本发明可被实施的适当环境。然而,本技术领域具有通常知识者应可轻易认知本发明可实施于其他适当的环境。此外,本技术领域具有通常知识者也能轻易体会到本发明可与其电脑结构的形态实施,例如多处理器系统、基于微处理器或可程序的消费性电子产品、小型电脑(minicomputers)、大型电脑(mainframecomputers)等。本发明亦可使用分布式电脑环境,其中任务/工作(tasks)可由有经由一通讯网连接的远端处理设备执行。

图2为本发明的电脑系统100的一实施例。如图2所示,电脑系统100包含主设备120m、显示器110以及至少一从设备120s1。在本实施例中,主设备120m较佳为精简型电脑(thinclientcomputer),用于经由网络130连接至远端设备140。然而,主设备120m并非仅限于为精简型电脑;在其他不同实施例中,主设备120m亦可为平板电脑、手持式电脑装置或其他具有数据处理功能的电脑设备。

如图2所示,主设备120m是经由网络130连接至远端设备140。在本实施例中,远端设备140较佳为服务器电脑;然而,在其他不同实施例中,远端设备140亦可为桌上电脑或其他任何的电脑装置。通过将主设备120m连接至远端设备140,主设备120m可远端的传送指令i至远端设备140,并且接收到远端设备140所输出的视讯数据d。主设备120m一般接着会显示视讯数据d于显示器110上。通过此方式,使用者可经由主设备120及显示器110的介面在远端的控制远端设备140。具例而言,当经由网络130与远端设备140建立连接后,主设备120m可自远端设备140接收到远端设备140所输出的桌面显示的串流视讯数据d。在本实施例中,就主设备130与远端设备140间经由网络130的数据通讯而言,主设备130与远端设备140间的数据通讯较佳是以tcp/ip通讯协议进行通讯。具体而言,指令i及视讯数据d会被编码为网络封包(networkpackets),并且会经由网络130于主设备120m及远端设备140间传送。当主设备120从远端设备140接收到网络封包时,主设备120会将网络封包解码为视讯数据d。相对的,远端 设备140会将其接收到的网络封包解码为指令i。

如图2所示,在远端设备140所输出的视讯分辨率超出主设备120m可单独有效应付范围(且不会有任何显示或速度上的性能下降)的情况下,主设备120m可能无法显示远端设备140所输出的视讯数据d。举例而言,远端设备140所输出并且被主设备120m接收的视讯数据d可能需要以分辨率1920x1080像素及60hz的帧速率显示,但在不超出硬件的限制下(例如:数据处理性能、存储器容量及存取速度限制等条件)的情况下,若主设备120m在最佳情况下只能负担得起720x480的分辨率时,主设备120m一般是无法以视讯数据d所指定的分辨率设定播放/显示视讯数据d。在此情况下,主设备120m只能缩减(scaledown)视讯数据d或请求远端设备140传送缩减版的视讯数据d给主设备120m。

为了克服上述主设备120m硬件上的限制,在本实施例中,主设备120m可与一或多个从设备(例如:从设备120s1及从设备120s2)连接。虽然图2中只有画出两个从设备(120s1及120s2)是连接至主设备120m,但在其他不同实施例中主设备120m亦可与更多的从设备连接。在本实施例中,从设备可包含精简型电脑(thinclientcomputer)、桌上型电脑、平板电脑、手持式电脑或其他数据处理设备。虽然在图2中从设备120s1及120s2看似是直接以电路线连接至主设备120m,但电脑系统100并非仅是限于此形式。在其他不同实施例中,从设备可经由网络与主设备120m连接,以及/或从设备可经由切换器或路由器(例如:ipkvm切换器)间接的与主设备120m连接。

如图2所示,当从设备120s1及120s2是连接到主设备120m时,主设备120m可以侦测到有两个从设备与其进行连接。在此情况下,主设备120m可对应的将视讯数据d分隔或切割成较小的子数据d1及d2,并且将子数据d1及d2分别分配给从设备120s1及120s2以进一步进行数据处理。换言之,主设备120m可利用、引用或驾驭从设备120s1及120s2的数据处理功能,通过此方式可经由从设备120s1及120s2分别共同处理视讯数据d。当从设备120s1及120s2处理完子数据d1及d2后(亦即,完成子数据d1 及d2的数据处理),从设备120s1及120s2会分别将处理过的子数据r1(处理过的子数据d1)及r2(处理过的子数据d2)回传给主设备120m。主设备120m随后会将处理过的子数据r1及r2以视讯数据输出至显示器110。

图3为图2中主设备120m及从设备120s1及120s2的一实施例。如图3所示,主设备120m包含处理单元121(亦即,处理器)、通讯模块122、共有存储器123以及帧缓冲器124。在本实施例中,处理单元121可包含一或多个微处理器、微控制器、现场可编程门阵列(fieldprogrammablegatearray,亦即fpga)、复杂可编程逻辑器件(complexprogrammablelogicdevice,亦即cpld)、特殊应用集成电路(applicationspecificintegratedcircuit,亦即asic)及/或任何其他数据处理器。共有存储器123及帧缓冲器124可被视为主设备120m的数据储存器,并且可包含挥发性存储器(volatilememory)、非挥发性存储器(non-volatilememory)或其组合,例如随机存储器(randomaccessmemory)、硬盘(harddrivediskmemory)、固态硬盘(solid-statedrivememory)等存储器。随然在图3中共有存储器123及帧缓冲器124是显示为两个独立的结构,但在其他不同实施例中共有存储器123及帧缓冲器124亦可为同一实体或位于主设备120m中同一个储存器单元。此外,如图3所示,从设备120s1及120s2分别具有处理单元221及储存模块223,其中处理单元221及储存模块223可与处理单元121及共有存储器123/帧缓冲器124相似或相同的结构。

主设备120m是经由通讯模块122与远端设备140、从设备120s1及120s2进行通讯。在本实施例中,通讯模块122可包含(但不限于此)网络介面控制器(网络接口控制器),并且可有无线或有线的功能。在其他不同实施例中,通讯模块122亦可包含其他数据传输介面或接口,例如通用串行总线接口(universalserialbusinterface)、串行端口(serialports)、rs-232连接器端口等介面或接口。

请参考图2及3,当主设备120m在通讯模块122从远端设备140接收到视讯数据d时,主设备120m的处理单元121会先判断目前具有两个从设 备是与主设备120m连接。基于此判断,主设备120m可将视讯数据d分隔或切割为两等份的子数据d1及d2,并且将子数据d1及d2分别传送至从设备120s1及120s2。当从设备120s1接收到子数据d1时,从设备120s1可将子数据d1暂存于储存模块223,并且将子数据d1进行数据处理,以产生处理过的子数据r1。随后从设备120s1会将处理过子数据r1回传给主设备120m。相同的,从设备120s2也会将子数据d2进行处理并且回传处理过子数据给主设备120m。当主设备120m接收到从设备120s1及120s2的处理过子数据r1及r2时,主设备120m接着会将处理过子数据r1及r2以视讯串流方式输出至显示器110。

在前述实施例中,主设备120m会根据侦测到的从设备的数目来将视讯数据d分隔为同等分的多个子数据。然而,在其他不同实施例中,主设备120m可将视讯数据d分隔为不同等份的多个子数据(亦即,不同大小的子数据),并且可选择性传送或不传送子数据给特定的从设备。举例而言,在一实施例中,主设备120m可侦测或接收到各个从设备的负载状况,并且依据每个从设备的负载状况判断对每个从设备能应付的最佳子数据量。在其他不同实施例中,主设备120m可侦测或接收到有关从设备的数据处理速度以及/或预计数据处理完成时间。由此,处设备120m可相对的动态性分配或委托子数据给能以最快速度完成数据处理的从设备。以此方式,在处理视讯数据d上,主设备120m可动态性的扩展或降低其所利用到的从设备的数目来完成视讯数据d的处理,以确保可提供最佳的视讯显示效能。

图4为图2及3中视讯数据d经由主设备120m进行数据处理的抽象结构及流程的一实施例。如图2~4所示,当主设备120m接收到视讯数据d时,视讯数据d会被分隔为一或多个子数据,其中此些子数据(例如子数据d1及d2)会被传送至从设备120s1及120s2以进一步进行数据处理。当主设备120m分别从从设备120s1及120s2接收到处理过子数据r1及r2时(处理过的部分视讯数据),主设备120m将会依据视讯数据d被分隔(并委托给从设备)的顺序把处理过子数据r1及r2记录或储存于共有存储器123中。此 外,主设备120m亦可记录其他任何有关处理过子数据r1及r2的编码/解码格式的资讯及/或有关显示器110上显示的桌面数据。

在本实施例中,共有存储器123为一种虚拟存储器,其是位于主设备120m中,并且是用于储存所有从从设备接收到的处理过子数据。具体而言,由于所有的从设备实质上是经由主设备120m分别将处理过子数据储存于共有存储器123中,共有存储器123实质上像是作为分享给所有从设备使用的存储器。当所有处理过子数据(例如:处理过子数据r1及r2)被聚合在共有存储器123中,并且相对于原子数据(例如:子数据d1及d2),当每个处理过子数据被点齐了时,主设备120m会将共有存储器123中的数据以存储器映对或存储器映射(memorymapping)方式储存至帧缓冲器124中。在本实施例中,储存于帧缓冲器124的数据是用于驱动显示器110的视讯显示。换言之,在处理过子数据r1及r2从虚拟存储器被映射至帧缓冲器124的实体存储器后,帧缓冲器124中的数据会直接被输出至显示器110进行视讯显示。通过此方式,由于每个从设备分别已经对视讯数据d各部分进行数据处理,主设备120m基本上没有对视讯数据d进行任何视讯数据的处理的动作。通过此方式,主设备120m可经由动态性的建立一群从设备的系统,主设备120m可利用此些从设备的处理功能来帮忙处理视讯数据d,以致使能达成输出较高分辨率的视讯给显示器110,并且克服原本主设备120m自己单一无法应付信号数据d的处理的问题。

图5为图3的另一实施例,其中多个从设备120sx可作为从设备120s1及120s2的子节点(childnode)。如图5所示,从设备120s1及120s2是直接连接于主设备120m。因此,在图5中的层次结构中,以主设备120m位于层0,从设备120s1及120s2会是位于层1。在本实施例中,层1的每个从设备120s1及120s2可分别与更多从设备120sx连接。为了能加快视讯数据d2的处理速度,从设备120s1及120s2也可将子数据d1及d2进一步的分隔为更小部分并将此些部分的影像处理委托给分别的从设备120sx。此外,应当轻易了解的是,主设备120m以下的每个层级可包含任何数目的从 设备。举例而言,除了从设备120s1及120s2以外,亦可有其他更多的从设备是直接连接至主设备120m(相同的,从设备底下的层次亦可包含更多的从设备)。换言之,图5所显示的结构可依据电脑系统100的性能需求,在每个层级中,于水平方向或垂直方向被动态性的扩大/扩展或缩小。

图6为本发明的数据处理方法的流程图的一实施例。如图6所示,方法300包含步骤301~307,并且以下将会搭配图1~5进行说明:

步骤301包含连接处设备120m至远端设备140。在本实施例中,主设备120m可与远端设备140进行直接或间接的通讯连接,由此连接可传送指令给远端设备140,并且可从远端设备140接收回应及视讯数据d。换言之,在本实施例中,主设备120m可被使用者当作为一种介面来控制或操作远端设备140。

步骤302包含自远端设备140接收数据。具体而言,主设备120m可从远端设备140接收到视讯数据d来显示于显示器110上。视讯数据d为远端设备140产生的视讯输出,并且此产生可能是因应主设备120m传给远端设备140的指令i所产生的。举例而言,主设备120m可传送鼠标输入指令给远端设备140,远端设备140则是可依据指令i产生并回传具有相对的鼠标动画的视讯数据d。

步骤303包含将数据分隔为多个子数据。在本实施例中,当主设备120m接收到远端设备140的视讯数据d,主设备120将会把视讯数据d分隔为一或多个部分的子数据。在一实施例中,主设备120m可先判断有直接连接至主设备120m的从设备的数目。依据此数目的判断,主设备120m可对应判断的数目将视讯数据d分隔为多个子数据,其中每个子数据的大小可为相同或不相同。在另一实施例中,主设备120m可判断每个连接的从设备的负载状况以及/或数据处理功能,并且可依据此判断,依据每个从设备能应付的量来计算,将视讯数据d分隔为不同大小的子数据。

步骤304包含将一或多个子数据委托给一或多个从设备。在本实施例中,视讯数据d的每个子数据的影像处理将会被委托给各个从设备处理。 基于从设备的负载状况及/或处理功能,主设备120m可动态性的判断并选择要委托哪些从设备进行影像处理。

步骤305包含将从设备的处理过子数据储存于共有存储器123中。在本实施例中,当每个从设备完成其负责的影像处理工作,主设备120m会接着接收到所有的处理过子数据。此些处理过子数据将会被储存于共有存储器123中。

步骤306包含转送共有存储器123中的数据至帧缓冲器124。在本实施例中,共有存储器123为虚拟存储器,其是用于提供地方给所有从设备储存处理过子数据。因此,为了能输出此聚合的处理过子数据,共有存储器123的虚拟存储器会被映射至帧缓冲器124以供步骤307可进行输出至显示器110。然而,在其他不同实施例中,共有存储器123及帧缓冲器124亦可为同一个实体,其中处理过子数据可被储存、聚合在其中,并且直接被输出至显示器110。

应当理解的是,本文所描述的实施例和实施方案仅用于说明本案的目的,并且各种修改或变化对于本技术领域的人应可轻易理解,并且被包含在本申请的精神及范围内和所附的权利要求书的范围。

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