利用线程处理数据的方法及装置制造方法及图纸

技术编号:9733459 阅读:112 留言:0更新日期:2014-02-28 18:32
提供一种利用线程处理数据的方法和装置。该方法包括:当第一线程接收到需要执行指定处理的数据时,检测对该数据执行指定处理所需的临界资源是否已经被另一线程占用,以及当检测结果为肯定时,将该数据发送给所述另一线程的处理等待队列。利用该方法及装置,可以提高数据的处理性能。

【技术实现步骤摘要】
【国外来华专利技术】利用线程处理数据的方法及装置
本专利技术涉及通信
,特别涉及一种利用线程处理数据的方法及装置。
技术介绍
异步传输模式(ATM,AsynchronousTransferMode)技术是在分组交换原理的基础上发展起来的一种面向连接的通信技术,其以ATM信元为单位在物理链路上传输数据。在ATM技术中,一条物理链路通常划分成多条虚通道(VP,VirtualPath),每条VP用虚通道标识符(VPI)标识,每条VP又可以承载多条虚通路(VC,VirtualChannel),每条VC用虚通路标识符(VCI)标识。不同VP上的VC构成用于传输ATM信元的VC连接(VCC),其由VC的VCI和承载该VC的VP的VPI一起来唯一标识。传输ATM信元的信头部分包括有用于识别传输其的VC连接的标识符,即VCI和VPI。ATM网络分为三层:ATM适配层(AAL,ATMAdaptationLayer)、ATM层和物理层。AAL层位于ATM的上层,负责将高层传来的数据拆分成ATM信元并传送给ATM层,以及将来自ATM层的ATM信元重组成数据并传送给高层。AAL层进一步分成两个子层,即会聚(CS,ConvergenceSublayer)子层和拆装(SAR,SegmentationAndReassembly)子层,其中,CS子层主要实现会聚功能,用于将数据变换成CS数据单元,而SAR子层主要用于以ATM信元为单位对CS数据进行分段或重组。AAL层具有不同的AAL协议,其中各个AAL协议用于支持在ATM网络上使用的不同的流量或服务类型。ATM适配层2(AAL2)是AAL协议的其中一种,其支持面向连接的比特率可变的业务。AAL2协议应用广泛,常见的业务为压缩的分组语音通信和压缩的视频传输。AAL2协议处理比较复杂。具体地,在AAL2协议中,当来自高层(应用层)的业务特定拆装子层(SSSAR,ServiceSpecificSegmentationandReassembly)报文(例如语音报文)要经由VC连接进行发送时,需要对该SSSAR报文执行AAL2分片处理,即:首先将该SSSAR报文拆分为公用部件子层(CPS,CommonPartSublayer)报文,然后再所拆分的CPS报文填写到ATM信元中并把其发送给ATM层,其中,一个CPS报文可以跨多个ATM信元填充,而单个ATM信元可以包含多个CPS报文。当来自ATM层的经由VC连接接收的ATM信元要传递给高层时,需要对ATM信元执行AAL2重组处理,即:首先从ATM信元中提取CPS报文,然后把所提取的CPS报文重组成SSSAR报文并发送给高层。由于AAL2协议的复杂性,导致其数据处理性能较低。
技术实现思路
考虑到现有技术的上述缺陷,本专利技术的实施例提出一种利用线程处理数据的方法及装置,其使用多个线程来并行处理数据,从而提高数据的处理性能。本专利技术实施例提供一种用于在第一线程中处理数据的方法,包括步骤:当所述第一线程接收到需要执行指定处理的数据时,检测对所述数据执行所述指定处理所需的资源是否已经被另一线程占用;以及,当所述检测结果为肯定时,将所述数据发送给所述另一线程的处理等待队列。本专利技术实施例提供一种用于在第一线程中处理数据的装置,包括:检测模块,用于当所述第一线程接收到需要执行指定处理的数据时,检测对所述数据执行所述指定处理所需的临界资源是否已经被另一线程占用;以及,发送模块,用于当所述检测结果为肯定时,将所述数据发送给所述另一线程的处理等待队列。本专利技术实施例的方法和装置,采用多个线程来并行处理数据,并且需要使用相同的临界资源来处理的数据将仅由其中一个线程来处理,不同的线程处理需要不同临界资源的数据,因此线程之间不需要同步和保序,从而提高了数据的处理性能。附图说明本专利技术的目的、特点、特征和优点通过以下结合附图的详细描述将变得显而易见。其中:图1示出了根据本专利技术实施例一的利用线程来处理数据的方法的流程示意图;图2示出了利用本专利技术实施例一的方法来对数据进行AAL2分片处理的一个具体示例;图3示出了利用本专利技术实施例一的方法来对数据进行AAL2重组处理的一个具体示例;以及图4示出了按照本专利技术实施例的在第一线程中处理数据的装置。具体实施方式本专利技术的实施例提供一种利用线程来处理数据的方法和装置,其采用多个线程来并行处理数据,并且需要使用相同的临界资源来处理的数据将仅由其中一个线程来处理,不同的线程处理需要不同临界资源的数据,因此线程之间不需要同步和保序,从而加快了数据处理的速度。这里,如本领域技术人员所理解的,临界资源是指每次仅允许一个线程占用的资源,包括但不局限于打印机、磁带机、消息缓冲队列、变量、数组和/或缓冲区等。下面将结合附图详细描述本专利技术的各个实施例。图1示出了根据本专利技术实施例一的利用线程来处理数据的方法的流程示意图。在本实施例中,使用多个线程来并行处理多个需要执行指定处理的数据流,每个数据流的各个数据需要使用相同的临界资源来处理,但各个数据流需要使用不同的临界资源来处理,每一个线程具有用于保存待处理数据的处理等待队列。如图1所示,在步骤S110,当该多个线程中的任意一个线程P接收到需要执行指定处理的数据D时,线程P检测对数据D执行指定处理所需的临界资源R是否已经被另一线程所占用。在步骤S120,当步骤S110的检测结果为肯定,即临界资源R已经被另一线程所占用时,线程P将数据D发送给该另一线程的处理等待队列,以由该另一线程对数据D进行处理。然后,线程P继续接收下一个需要执行指定处理的数据D。在步骤S130,当步骤S110的检测结果为否定,即临界资源R还没有被另一线程所占用时,线程P占用临界资源R。在步骤S140,线程P利用所占用的临界资源R对数据D执行指定处理。在步骤S150,在利用临界资源R对数据D执行指定处理之后,线程P检查其处理等待队列中是否保存有其它线程发送的数据。在本实施例中,在线程P占用了临界资源R之后,当其它线程接收到需要使用临界资源R来处理的数据时,都会把该数据发送到线程P的处理等待队列,以由线程P进行处理。在步骤S160,当步骤S150的检查结果为肯定,即线程P的处理等待队列中保存有其它线程发送的数据时,线程P利用临界资源R对线程P的处理等待队列中所保存的数据执行指定处理。在步骤S170,当步骤S150的检查结果为否定,即线程P的处理等待队列中没有保存有其它线程发送的数据,或者已经处理完线程P的处理等待队列中所保存的数据时,线程P释放对临界资源R的占用。然后,线程P继续接收需要执行指定处理的其它数据。从上面的描述可知,按照本实施例一的方案,使用多个线程来并行处理数据,并且需要使用相同的临界资源来处理的数据将仅由其中一个线程来处理,不同的线程处理需要不同临界资源的数据,因此线程之间不需要同步和保序,从而加快了数据处理的速度。下面给出利用本实施例一所公开的方法来处理数据的具体示例。图2示出了利用本专利技术实施例一的方法来对数据进行AAL2分片处理的一个具体示例。在本示例中,利用多个线程来对多个需要经由不同的VCC进行发送的数据流并行地进行AAL2分片处理,其中,每一个数据流包括多个SSSAR报文。如图2所示,在步骤S210,当该多个线程中的任意一个线程C从高层接收到本文档来自技高网
...
利用线程处理数据的方法及装置

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于在第一线程中处理数据的方法,包括步骤:当所述第一线程接收到需要执行指定处理的数据时,检测对所述数据执行所述指定处理所需的临界资源是否已经被另一线程占用;当检测结果为肯定时,将所述数据发送给所述另一线程的处理等待队列。2.如权利要求1所述的方法,其中,还包括步骤:当所述检测结果为否定时,占用所述所需的临界资源用于所述第一线程;利用所述占用的用于所述第一线程的临界资源对所述数据执行所述指定处理。3.如权利要求2所述的方法,其中,还包括步骤:在对所述数据执行所述指定处理后,检查所述第一线程的处理等待队列中是否还有保存的数据未处理完;当检查结果为肯定时,按照所述第一线程的处理等待队列的优先级从高到低的顺序,利用所述占用的用于所述第一线程的临界资源对所述第一线程的处理等待队列所保存的数据执行所述指定处理;当检查结果为否定时,释放所述占用的用于所述第一线程的临界资源。4.如权利要求1所述的方法,其中,所述发送步骤进一步包括:当所述检测结果为肯定时,识别所述数据的优先级;将所述数据发送给所述另一线程的与所述数据的所述优先级相对应的处理等待队列。5.如权利要求1所述的方法,其中,所述检测步骤进一步包括:对所述临界资源施加所述第一线程的互斥锁;当施加所述互斥锁失败时,确定所述临界资源已经被另一线程占用。6.如权利要求1-5的任意一个所述的方法,其中,所述数据是需要拆分为ATM信元的SSSAR报文,所述指定处理是AAL2分片处理,所述临界资源是与发送所述SSSAR报文的所述ATM信元的虚通路连接有关的临界资源,或者,所述数据是需要重组为SSSAR报文的ATM信元,所述指定处理是AAL2重组处理,所述临界资源是与接收所述SSSAR报文的所述ATM信元的虚通路连接有关的临界资源。7.一种用于在第一线程中处理数据的装置,包括:检测模块,用于当所述第一线程接...

【专利技术属性】
技术研发人员:周毅
申请(专利权)人:华为技术有限公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1