CN101729392B - 一种操作服务质量的方法和装置 - Google Patents
一种操作服务质量的方法和装置 Download PDFInfo
- Publication number
- CN101729392B CN101729392B CN2008102248453A CN200810224845A CN101729392B CN 101729392 B CN101729392 B CN 101729392B CN 2008102248453 A CN2008102248453 A CN 2008102248453A CN 200810224845 A CN200810224845 A CN 200810224845A CN 101729392 B CN101729392 B CN 101729392B
- Authority
- CN
- China
- Prior art keywords
- qos
- packet
- operational order
- content
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明涉及通信技术领域,特别涉及一种操作服务质量的方法和装置,用以解决现有技术中存在的在操作服务质量QoS时,需要进行频繁的解锁和加锁操作,从而增加系统负担,降低系统效率的问题。本发明实施例的方法包括:QoS操作模块将收到的QoS操作指令封装成数据包,发送给协议栈;数据处理模块获取协议栈中的数据包,在获取的数据包包含QoS操作指令时,根据所述QoS操作指令,对QoS映射表进行操作,在获取的数据包不包含QoS操作指令时,从QoS映射表中查找所述数据包对应的QoS内容,将查找到的QoS内容与数据包一起封装,并发送。采用本发明实施例的方法能够减轻系统的负担,提高系统的效率,提升系统性能。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种操作服务质量的方法和装置。
背景技术
随着通信技术的不断发展,QoS(Quality of Service,服务质量)对于通信传输显得尤为重要。
一般在数据需要发送时,都会查看QoS映射表,从中查找对应的内容并与数据一起发送,而QoS映射表的内容并不是一成不变的,根据需要可以对QoS映射表的内容进行添加,修改和删除操作。
目前在通信系统中,应用层涉及到的QoS操作,一般需要多任务(即多线程)进行操作。如图1所示,
在QoS映射表的内容需要进行变化时,会生成QoS操作指令并发送给QoS操作任务,QoS操作任务会根据收到的QoS操作指令对QoS映射表进行相应的操作。
数据获取和发送任务查看流经协议栈的数据流,并获取对应的数据流,然后数据获取和发送任务会读取QoS映射表,从中查找获取的数据包对应的QoS,并将查找到的QoS与数据包一起发送。
但是目前在操作QoS映射报表和读取QoS内容分别是由两个任务完成的,这样就必须使用加锁保护,从而造成每次操作和读取时,都必须先解锁,在处理完成后再加锁,从而在频繁的读写情况下,会增加系统的负担,降低系统的效率。
综上所述,目前在操作QoS时,需要进行频繁的解锁和加锁操作,从而增加系统的负担,降低系统的效率。
发明内容
本发明实施例提供一种操作服务质量的方法和装置,用以解决现有技术中存在的在操作QoS时,需要进行频繁的解锁和加锁操作,从而增加系统负担,降低系统效率的问题。
本发明实施例提供的一种操作服务质量QoS的方法包括:
QoS操作模块将收到的QoS操作指令封装成数据包,发送给协议栈;
数据处理模块获取协议栈中的数据包,在获取的数据包包含QoS操作指令时,根据所述QoS操作指令,对QoS映射表进行操作,在获取的数据包不包含QoS操作指令时,从QoS映射表中查找所述数据包对应的QoS内容,将查找到的QoS内容与数据包一起封装,并发送。
本发明实施例提供的一种操作服务质量QoS的装置包括:
QoS操作模块,用于将收到的QoS操作指令封装成数据包,发送给协议栈;
数据处理模块,用于获取协议栈中的数据包,在获取的数据包包含QoS操作指令时,根据所述QoS操作指令,对QoS映射表进行操作,在获取的数据包不包含QoS操作指令时,从QoS映射表中查找所述数据包对应的QoS内容,将查找到的QoS内容与数据包一起封装,并发送。
本发明实施例QoS操作模块将收到的QoS操作指令封装成数据包,发送给协议栈;数据处理模块获取协议栈中的数据包,在获取的数据包包含QoS操作指令时,根据所述QoS操作指令,对QoS映射表进行操作,在获取的数据包不包含QoS操作指令时,从QoS映射表中查找所述数据包对应的QoS内容,将查找到的QoS内容与数据包一起封装,并发送。由于本发明实施例在一个任务中完成操作QoS映射报表和读取QoS内容,从而不需要进行频繁的解锁和加锁操作,减轻了系统的负担,提高了系统的效率,提升了系统性能。
附图说明
图1为现有技术多任务进行QoS操作的示意图;
图2为本发明实施例操作QoS的装置结构示意图;
图3为本发明实施例操作QoS的方法流程示意图;
图4为本发明实施例单任务进行QoS操作的示意图。
具体实施方式
本发明实施例数据处理模块获取协议栈中的数据包,并在数据包包含QoS操作指令时,对QoS映射表进行操作,在数据包不包含QoS操作指令时,从QoS映射表中查找数据包对应的QoS内容,将查找到的QoS内容与数据包一起封装,并发送,由于数据处理模块完成操作QoS映射报表和读取QoS内容,从而不需要进行频繁的解锁和加锁操作,减轻了系统的负担。
下面结合说明书附图对本发明实施例作进一步详细描述。
如图2所示,本发明实施例操作QoS的装置包括:QoS操作模块10和第一数据处理模块20。
QoS操作模块10,用于将收到的QoS操作指令封装成数据包,发送给协议栈。
在具体实施过程中,QoS操作模块10在收到QoS操作指令后,根据设定的格式将QoS操作指令封装成数据包,根据预先设定的业务IP地址,将包含QoS操作指令的数据包发给协议栈。
其中,QoS操作指令包括:QoS映射表操作类型和QoS操作内容。
QoS映射表操作类型是指使需要对QoS映射表进行何种操作(比如添加、修改、删除);QoS操作内容是指使对QoS的什么内容进行操作。比如需要添加一个业务类型,则QoS映射表操作类型为添加,QoS操作内容为业务类型的内容。
封装成的数据包的是第一数据处理模块20可以识别的格式。具体的,可以在QoS操作模块10中预先设定格式,也可以由QoS操作模块10向第一数 据处理模块20发送消息,询问第一数据处理模块20能够识别的格式。
具体的格式包括但不限于下列格式中的一种:
UDP(User Datagram Protocol,用户数据报协议)、TCP(TransmissionControl Protocol,传输控制协议)、ICMP(ICMP Internet Control MessageProtocol,因特网控制报文协议)、RTP(Real-time Transport Protocol,实时传输协议)和RTCP(Realtime Transport Control Protocol,实时传输控制协议)中的一种。
第一数据处理模块20,用于获取协议栈中的数据包,在获取的数据包包含QoS操作指令时,根据该QoS操作指令,对QoS映射表进行操作,在获取的数据包不包含QoS操作指令时,从QoS映射表中查找获取的数据包对应的QoS内容,将查找到的QoS内容与数据包一起封装,并发送。
在具体实施过程中,确定数据包中是否QoS操作指令的方式有多种:
方式一、第一数据处理模块20可以查看数据包中是否有QoS操作指令;
方式二、QoS操作模块10将QoS操作指令封装成数据包时,加入标志位(比如某些位设置为0x01010101),则第一数据处理模块20可以查看是否存在标志位,如果存在,则确定数据包中有QoS操作指令,否则,确定数据包中不含有QoS操作指令。
而本实施例并不局限于上述两种方式,任何能够确定数据包中是否QoS操作指令的方式都适用本实施例。
在具体实施过程中,具体用哪种方式可以根据需要预先设定。
其中,第一数据处理模块20还可以进一步包括:数据获取模块200、数据判断模块210、QoS处理模块220和数据发送模块230。
数据获取模块200,用于获取协议栈中的数据包。
其中,数据获取模块200还可以进一步包括:数据查看模块2000和第二数据处理模块2001。
数据查看模块2000,用于查看流经协议栈的数据包是否满足设定条件。
第二数据处理模块2001,用于在数据查看模块2000确定流经协议栈的数据包满足设定条件时,获取该数据包。
具体的,可以通过Winpcap驱动获取数据包,Winpcap可将一个高层的布尔过滤表达式编译成一个能够被过滤引擎所解释的低层的字节码。
比如“ip and dst host 10.0.0.192”,就是说数据包的目的IP地址是10.0.0.192。
设定的条件可以是目的Ip的范围,比如10.0.0.50~10.0.0.192中的Ip保都获取。
设定的条件可以根据需要进行设定,并不限于Ip地址的范围,还可以是数据包的格式、类型等。当然还可以设定条件为无,也就是说,任何流经协议栈的数据包都获取。
需要说明的是,本实施例并不局限于通过Winpcap驱动获取数据包,任何能够获取数据包的方式都适用本实施例。
数据判断模块210,用于在数据获取模块200获取的数据包包含QoS操作指令时,将该QoS指令发送给QoS处理模块220,在数据获取模块200获取的数据包不包含QoS操作指令时,将数据获取模块200获取的数据包发送给数据发送模块230。
在具体实施过程中,流经协议栈的数据包有QoS操作模块10发送的包含QoS操作指令的数据包,还有APP(Application,应用程序)模块发送的数据包(不包含QoS操作指令的数据包)。
QoS处理模块220,用于在收到来自数据判断模块210的QoS操作指令后,根据该QoS操作指令,对QoS映射表进行操作。
对QoS映射表的具体操作过程与QoS操作指令相关。
比如:QoS操作指令中的QoS映射表操作类型为添加,QoS操作内容为业务内容,则QoS处理模块220在QoS映射表的业务类型中添加相应的业务内容。
数据发送模块230,用于在收到来自数据判断模块210的数据包后,从QoS映射表中查找该数据包对应的QoS内容,将查找到的内容与数据包一起封装,并发送。
其中,数据发送模块230还可以进一步包括:查找模块2300和数据封装模块2310。
查找模块2300,用于根据收到的数据包的类型,从QoS映射表中查找对应的QoS内容。
其中,数据包的类型包括但不限于下列类型中的一种或几种:
会话类型、流类型、交互类型、背景类型。
数据封装模块2310,用于将查找模块2300查找到的QoS内容与数据包一起封装,并发送。
如图3所示,本发明实施例操作QoS的方法包括下列步骤:
步骤300、QoS操作模块将收到的QoS操作指令封装成数据包,发送给协议栈。
在具体实施过程中,QoS操作模块在收到QoS操作指令后,根据设定的格式将QoS操作指令封装成数据包,根据预先设定的业务IP地址,将包含QoS操作指令的数据包发给协议栈。
其中,QoS操作指令包括:QoS映射表操作类型和QoS操作内容。
QoS映射表操作类型是指使需要对QoS映射表进行何种操作(比如添加、修改、删除);QoS操作内容是指使对QoS的什么内容进行操作。比如需要添加一个业务类型,则QoS映射表操作类型为添加,QoS操作内容为业务类型的内容。
封装成的数据包的格式是数据处理模块可以识别的格式。具体的,可以在QoS操作模块中预先设定格式,也可以由QoS操作模块向数据处理模块发送消息,询问数据处理模块能够识别的格式。
具体的格式包括但不限于下列格式中的一种:
UDP、TCP、ICMP、RTP和RTCP中的一种。
步骤301、数据处理模块获取协议栈中的数据包,在获取的数据包包含QoS操作指令时,根据QoS操作指令,对QoS映射表进行操作,在获取的数据包不包含QoS操作指令时,从QoS映射表中查找数据包对应的QoS内容,将查找到的QoS内容与数据包一起封装,并发送。
在具体实施过程中,确定数据包中是否QoS操作指令的方式有多种:
方式一、数据处理模块可以查看数据包中是否有QoS操作指令;
方式二、QoS操作模块将QoS操作指令封装成数据包时,加入标志位(比如某些位设置为0x01010101),则数据处理模块可以查看是否存在标志位,如果存在,则确定数据包中有QoS操作指令,否则,确定数据包中不含有QoS操作指令。
而本实施例并不局限于上述两种方式,任何能够确定数据包中是否QoS操作指令的方式都适用本实施例。
在具体实施过程中,具体用哪种方式可以根据需要预先设定。
步骤301中,获取协议栈中的数据包的步骤具体包括:
1)查看流经协议栈的数据包是否满足设定条件;
2)在确定流经协议栈的数据包满足设定条件时,获取该数据包。
具体的,可以通过Winpcap驱动获取数据包,Winpcap可将一个高层的布尔过滤表达式编译成一个能够被过滤引擎所解释的低层的字节码。
比如“ip and dst host10.0.0.192”,就是说数据包的目的IP地址是10.0.0.192。
设定的条件可以是目的Ip的范围,比如10.0.0.50~10.0.0.192中的Ip保都获取。
设定的条件可以根据需要进行设定,并不限于Ip地址的范围,还可以是数据包的格式、类型等。当然还可以设定条件为无,也就是说,任何流经协议栈的数据包都获取。
需要说明的是,本实施例并不局限于通过Winpcap驱动获取数据包,任何能够获取数据包的方式都适用本实施例。
在具体实施过程中,流经协议栈的数据包有QoS操作模块发送的包含QoS操作指令的数据包,还有APP模块发送的数据包(不包含QoS操作指令的数据包)。
步骤301中,对QoS映射表的具体操作过程与QoS操作指令相关。
比如:QoS操作指令中的QoS映射表操作类型为添加,QoS操作内容为业务内容,则QoS处理模块在QoS映射表的业务类型中添加相应的业务内容。
步骤301中,根据收到的数据包的类型,从QoS映射表中查找对应的QoS内容。
其中,数据包的类型包括但不限于下列类型中的一种或几种:
会话类型、流类型、交互类型、背景类型。
如图4所示,本发明实施例单任务进行QoS操作的示意图中,QoS操作模块会将收到的QoS操作指令封装成数据包,发给协议栈。
APP模块如果有数据需要发送会向协议栈发送数据包。
QoS处理模块会根据获取的数据包中是否含有QoS操作指令,操作QoS映射报表或读取QoS内容,并进行相应操作。
由于操作QoS映射报表和读取QoS内容都由QoS处理模块完成,不需要两个模块完成,从而可以不进行频繁的加锁和解锁操作。
从上述实施例中可以看出:本发明实施例QoS操作模块将收到的QoS操作指令封装成数据包,发送给协议栈;数据处理模块获取协议栈中的数据包,在获取的数据包包含QoS操作指令时,根据所述QoS操作指令,对QoS映射表进行操作,在获取的数据包不包含QoS操作指令时,从QoS映射表中查找所述数据包对应的QoS内容,将查找到的QoS内容与数据包一起封装,并发送。由于本发明实施例在一个任务中完成操作QoS映射报表和读取QoS内容,从而不需要进行频繁的解锁和加锁操作,减轻了系统的负担,提高了系统的效 率,提升了系统性能。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种操作服务质量QoS的方法,其特征在于,该方法包括:
QoS操作模块将收到的QoS操作指令封装成数据包,发送给协议栈;
数据处理模块获取协议栈中的数据包,在获取的数据包包含QoS操作指令时,根据所述QoS操作指令,对QoS映射表进行操作,在获取的数据包不包含QoS操作指令时,从QoS映射表中查找所述数据包对应的QoS内容,将查找到的QoS内容与数据包一起封装,并发送。
2.如权利要求1所述的方法,其特征在于,所述QoS操作指令包括:QoS映射表操作类型和QoS操作内容。
3.如权利要求1所述的方法,其特征在于,所述QoS操作模块封装成的数据包的格式为用户数据报协议UDP、传输控制协议TCP、因特网控制报文协议ICMP、实时传输协议RTP和实时传输控制协议RTCP中的一种。
4.如权利要求1所述的方法,其特征在于,所述数据处理模块获取协议栈中的数据包包括:
所述数据处理模块查看流经所述协议栈的所有数据包,并获取满足设定条件的数据包。
5.如权利要求1所述的方法,其特征在于,所述从QoS映射表中查找所述数据包对应的QoS内容包括:
根据所述数据包的类型,从QoS映射表中查找对应的QoS内容。
6.一种操作服务质量QoS的装置,其特征在于,该装置包括:
QoS操作模块,用于将收到的QoS操作指令封装成数据包,发送给协议栈;
第一数据处理模块,用于获取协议栈中的数据包,在获取的数据包包含QoS操作指令时,根据所述QoS操作指令,对QoS映射表进行操作,在获取的数据包不包含QoS操作指令时,从QoS映射表中查找所述数据包对应的QoS内容,将查找到的QoS内容与数据包一起封装,并发送。
7.如权利要求6所述的装置,其特征在于,所述数据第一处理模块包括:
数据获取模块,用于获取协议栈中的数据包;
数据判断模块,用于在获取的数据包包含QoS操作指令时,将所述QoS指令发送给QoS处理模块,在获取的数据包不包含QoS操作指令时,将获取的数据包发送给数据发送模块;
QoS处理模块,用于根据所述QoS操作指令,对QoS映射表进行操作;
数据发送模块,用于从QoS映射表中查找收到的数据包对应的QoS内容,将查找到的QoS内容与数据包一起封装,并发送。
8.如权利要求7所述的装置,其特征在于,所述QoS操作指令包括:QoS映射表操作类型和QoS操作内容。
9.如权利要求7所述的装置,其特征在于,所述数据获取模块包括:
数据查看模块,用于查看流经所述协议栈的数据包是否满足设定条件;
第二数据处理模块,用于在流经所述协议栈的数据包满足设定条件时,获取所述数据包。
10.如权利要求7所述的装置,其特征在于,所述数据发送模块包括:
查找模块,用于根据所述数据包的类型,从QoS映射表中查找对应的QoS内容;
数据封装模块,用于将查找到的QoS内容与数据包一起封装,并发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102248453A CN101729392B (zh) | 2008-10-23 | 2008-10-23 | 一种操作服务质量的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102248453A CN101729392B (zh) | 2008-10-23 | 2008-10-23 | 一种操作服务质量的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101729392A CN101729392A (zh) | 2010-06-09 |
CN101729392B true CN101729392B (zh) | 2011-11-16 |
Family
ID=42449638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102248453A Active CN101729392B (zh) | 2008-10-23 | 2008-10-23 | 一种操作服务质量的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101729392B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223312B2 (en) * | 2016-10-18 | 2019-03-05 | Analog Devices, Inc. | Quality of service ordinal modification |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179423A (zh) * | 2006-11-10 | 2008-05-14 | 华为技术有限公司 | 一种获取服务质量映射表的方法、装置及系统 |
CN101179421A (zh) * | 2006-11-10 | 2008-05-14 | 华为技术有限公司 | 一种区分服务质量映射表的方法、装置及系统 |
-
2008
- 2008-10-23 CN CN2008102248453A patent/CN101729392B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179423A (zh) * | 2006-11-10 | 2008-05-14 | 华为技术有限公司 | 一种获取服务质量映射表的方法、装置及系统 |
CN101179421A (zh) * | 2006-11-10 | 2008-05-14 | 华为技术有限公司 | 一种区分服务质量映射表的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101729392A (zh) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2933955B1 (en) | Deep packet inspection method, device, and coprocessor | |
US9432283B2 (en) | Communication control system and communication control method | |
TWI394049B (zh) | 直接記憶體存取系統及其傳送/接收封包之方法 | |
CN102202093B (zh) | 一种实现传感器适配的方法和系统 | |
US8332486B2 (en) | Apparatus and method for multimedia file streaming in portable terminal | |
CN103795622B (zh) | 一种报文转发方法及其装置 | |
CN101051891A (zh) | 一种安全网关中进行安全策略统一处理的方法及装置 | |
CN104965700B (zh) | VxWorks操作系统下实现驱动SPI设备的方法和系统 | |
WO2024067336A1 (zh) | 报文处理方法、可编程网卡设备、物理服务器及存储介质 | |
CN103442015B (zh) | 一种基于linux虚拟网卡的在无线网络控制器上对capwap隧道数据的处理方法及系统 | |
CN103401850A (zh) | 一种报文过滤方法及装置 | |
CN102902654A (zh) | 异构平台间数据联动方法及装置 | |
CN102185925B (zh) | 一种支持通过计算机处理终端数据的系统、终端及方法 | |
CN101729392B (zh) | 一种操作服务质量的方法和装置 | |
CN103281335A (zh) | 一种基于WinPcap的嵌入式网络协议栈开发方法 | |
CN110225061A (zh) | 基于流表驱动的异构协议转换方法和装置 | |
CN103561317B (zh) | 一种条件接收卡cam及数据处理方法 | |
US20070002860A1 (en) | Method and system for a digital home network trace and debug tool | |
CN103780469B (zh) | 多核平台上IPv6隧道的实现方法以及报文转发方法 | |
CN115883255B (zh) | 数据过滤方法、设备以及计算机可读介质 | |
CN102647347B (zh) | 实现基于连接的流量的处理方法及系统 | |
Borkmann | Advanced programmability and recent updates with tc’s cls bpf | |
CN104301352A (zh) | 双卡终端的适配方法和装置 | |
CN102695049B (zh) | 码流发送方法和装置 | |
CN109257372B (zh) | 基于网络融合的报文转发方法、设备、存储介质及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |