CN101599966A - 一种多虚拟机应用的数据过滤方法 - Google Patents

一种多虚拟机应用的数据过滤方法 Download PDF

Info

Publication number
CN101599966A
CN101599966A CNA2009100838910A CN200910083891A CN101599966A CN 101599966 A CN101599966 A CN 101599966A CN A2009100838910 A CNA2009100838910 A CN A2009100838910A CN 200910083891 A CN200910083891 A CN 200910083891A CN 101599966 A CN101599966 A CN 101599966A
Authority
CN
China
Prior art keywords
packet
address
filtering
data
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.)
Granted
Application number
CNA2009100838910A
Other languages
English (en)
Other versions
CN101599966B (zh
Inventor
曾宇
方信我
郑臣明
杜哲峰
吴平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing City Cloud Computing Center Co., Ltd.
Original Assignee
Dawning Information Industry Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN2009100838910A priority Critical patent/CN101599966B/zh
Publication of CN101599966A publication Critical patent/CN101599966A/zh
Application granted granted Critical
Publication of CN101599966B publication Critical patent/CN101599966B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种多虚拟机应用的高速网卡的数据包硬件过滤方法,在网卡采用FPGA和DDR2的硬件结构,在硬件中对接收到的数据包进行单播过滤、组播过滤、广播过滤、VLAN过滤、IP地址过滤、端口过滤、ARP过滤及硬件checksum,根据过滤结果将数据包送到不同的虚拟机硬件队列,并通过并行数据通道策略来保证数据线速传输,可以在多虚拟应用的情况下减少虚拟机平台软交换对***CPU资源的消耗,降低CPU使用率,通过硬件过滤可以大大提高数据包的过滤速度,提高数据包传输速率。

Description

一种多虚拟机应用的数据过滤方法
技术领域
本发明涉及一种高速网卡的数据包过滤方法,具体涉及一种多虚拟机应用的高速网卡的数据包硬件过滤方法。
背景技术
在服务器网卡的虚拟化应用中,需要通过虚拟化层软件实现物理网卡的共享,使每个虚拟机都认为自己是独占这块物理网卡的。这就需要实现对数据包的过滤及路由来保证每个虚拟机都能正确接收到发给自己的数据包。目前,很多网卡数据包的过滤和路由都是通过驱动软件和虚拟化层的软交换来实现的,内存数据移动开销、操作***切换开销、上层软件开销非常大,特别是通信负荷比较重的情况下***的性能很差。由此引入的开销占用大量的CPU资源,明显降低***的I/O通讯性能,也使得数据包的响应时间增长,如图1所示。正是由于这样才使得服务器网卡越来越成为虚拟化网络部署的瓶颈。
发明内容
为了解决上述问题,降低***资源的占用和CPU的使用率,缩短数据包处理响应时间,本发明提供了一种多虚拟机应用网卡的数据过滤传输方法,其改进在于:所述网卡上设有FPGA和网卡内存模块,所述FPGA包括过滤通道、数据通道、接收控制器和寄存器模块,所述过滤通道包括信息提取模块、目的MAC地址过滤模块、VLAN过滤模块、管理过滤模块和紧急中断过滤模块,所述网卡内存模块中为每个虚拟机创建一个虚拟机队列,所述方法采用如下步骤:
A、网卡的MAC模块收到数据包以后,将数据包同时发送到过滤通道和数据通道。
B1、所述数据通道对数据包数据进行拼接,将MAC模块接收到的8位宽的数据包数据拼接成128位宽,并在接收控制器中给出相应虚拟机队列地址。
B2、所述过滤通道对收到的数据包进行过滤,首先通过信息提取模块提取数据包目的MAC地址,然后通过目的MAC地址过滤模块对数据包的目的MAC地址进行过滤判断,并根据数据包的目的MAC地址过滤判断结果对数据包进行滤过处理;
所述数据包目的MAC地址包括:单播地址、组播地址和广播地址,所述单播地址数据包的过滤处理步骤包括:先将用单播地址数据包的MAC地址与管理MAC地址寄存器内预设的MAC地址信息进行比较,判断该数据包是否为管理包,是管理包的单播地址数据包直接进入管理过滤模块,否则通过HASH算法计算出所述单播地址数据包MAC地址的HASH值,根据所述HASH值判断是通过还是丢弃,通过的单播地址数据包进入VLAN过滤模块,所述VLAN过滤模块根据单播地址数据包的VLAN信息判断是通过还是丢弃,通过的单播地址数据包进入管理过滤模块,所述管理过滤模块对单播地址数据包进行checksum校验和决定过滤,通过checksum校验和决定过滤的单播地址数据包发送到相应的虚拟主机,所述决定过滤是将单播地址数据包的管理VLAN值、TCP/UDP端口、ARP及IP地址信息与主机中相应的寄存器内的预设信息进行比较判断是否通过;
所述广播地址数据包的过滤处理步骤包括:将所述广播地址数据包直接送入管理过滤模块,所述管理过滤模块对所述广播地址数据包进行checksum校验和决定过滤,通过checksum校验和决定过滤的广播数据包发送到相应的虚拟主机队列中;
所述组播地址数据包过滤处理步骤包括:将所述组播地址数据包直接送入管理过滤模块,所述管理过滤模块根据上层驱动设定的组播寄存器内预设的组播过滤算法判断组播地址数据包是否通过,通过的组播地址数据包直接发送到相应的虚拟主机队列中;
C、所述接收控制器将拼接后的数据包根据过滤结果发送到相应的虚拟机队列中,并且在一个数据包完成发送操作后将所述数据包对应的描述符写入到相应虚拟机队列预留的位置,当所述数据包的数据和对应的描述符都写到网卡内存模块中后根据MAC模块的good/bad frame信号及过滤结果对各个虚拟机队列的状态进行修改,保证上层主机能正确接收到有用的数据包。
本发明进一步优选技术方案为:所述虚拟机应用的数据过滤传输方法的步骤B2中,所述过滤通道还设有紧急中断过滤模块,所述紧急中断模块预设有紧急中断信息条件值,当数据包的TCP端口号,数据包长度符合所述中断信息条件值时,所述紧急中断模块将所述数据包立即上传并触发中断。
本发明更进一步优选技术方案为:所述虚拟机应用的数据过滤方法中,所述紧急中断模块中预设的紧急中断条件值还包括:当所述数据包的TCP头中的控制位URG、ACK、PSH、RST、SYN和FIN任何一位为1时都会触发立即中断。
本发明另一优选技术方案为:所述虚拟机应用的数据过滤方法的步骤A中,所述MAC模块通过FIFO实现数据包的时钟域的转换,FIFO出来的数据包同时送到过滤通道和数据通道。
本发明进一步优选技术方案为:所述虚拟机应用数据过滤方法中,所述网卡内存模块采用DDR2存储器。
本发明有益效果:利用硬件快速、高效的特点,通过在硬件中对接收到的数据包进行单播过滤、组播过滤、广播过滤、VLAN过滤、IP地址过滤、端口过滤、ARP过滤及硬件checksum校验,并根据过滤结果将数据包送到不同的虚拟机硬件队列中,在多虚拟应用的情况下减少虚拟机平台软交换对***CPU资源的消耗,降低CPU的使用率,减少CPU负担。同时由于硬件级别的处理速度远高于软件层次的处理速度,所以大大提高了数据处理速度,缩短数据处理时间。并行数据传输通道策略能保证数据线速传输,提高数据包传输速率。尤其在万兆网卡的虚拟机应用网络中,大大减少了***资源的浪费,提高虚拟机网络中整体的数据处理速率。
附图及附图说明
图1:传统的VMM的软交换示意图;
图2:TCP/IP数据包格式;
图3:本发明网卡硬件过滤示意图;
图4:本法发明过滤通道结构图。
具体实施方式
根据图2~4所示,在网卡上设有FPGA和DDR2存储器的硬件结构,对接收到的数据包的过滤处理通过FPGA逻辑来实现的,数据队列放在FPGA外部的DDR2存储器中的,FPGA内包括过滤通道、数据通道和接收控制器,过滤通道又包括信息提取模块、目的MAC地址过滤模块、VLAN过滤模块、管理过滤模块和紧急中断过滤模块,DDR2存储器为每个虚拟机创建一个虚拟机队列,本发明方法采用如下步骤:
A、网卡的MAC模块收到数据包以后,通过FIFO实现MAC125M时钟域到逻辑内部200M时钟域的转换,FIFO出来的数据包同时送到过滤通道和数据通道
B1、数据通道主要实现将MAC接收到的8位宽的数据数据拼接成128位宽,并在接收控制器中给出相应虚拟机队列地址,以满足DDR2数据接口宽度和突发接收时序;
B2、过滤通道对收到的数据包进行过滤,首先通过信息提取模块提取数据包目的MAC地址,然后通过目的MAC地址过滤模块对数据包的目的MAC地址进行过滤,并根据数据包的目的MAC地址过滤结果对数据包进行滤过处理;
数据包目的MAC地址包括:单播地址、组播地址和广播地址,单播地址数据包的过滤处理步骤包括:先用该数据包的MAC地址与管理MAC地址寄存器进行比较,判断该数据包是否为管理包,如果是管理包则直接进入管理过滤模块,否则通过设计好的HASH算法计算出该MAC地址对应的HASH值,该HASH值和存放虚拟机MAC地址的buffer的地址一一对应,这些MAC地址是由***在配置完虚拟机后由驱动写下来的,这样就可以由HASH值读出相应地址处的MAC地址,通过将提取出来的MAC地址和该MAC地址比较,如果一致则进入VLAN过滤模块,否则将该数据包丢弃;VLAN过滤模块中根据信息提取模块中提取出的播地址数据包的VLAN信息与主机的VLAN过滤寄存器内预设进行比较判断是否一致,VLAN信息一致的单播地址数据包进入管理过滤模块,否则将数据包丢弃;管理过滤模块对所有进入的数据包进行checksum校验和决定过滤,通过checksum校验和决定过滤的单播地址数据包发送到相应的虚拟主机,所述决定过滤是将单播地址数据包的管理VLAN值、TCP/UDP端口、ARP及IP地址信息与主机中相应的寄存器内的预设信息进行比较判断是否通过;
广播地址数据包的过滤处理步骤包括:将广播地址数据包直接送入管理过滤模块,管理过滤模块对所有进入的数据包进行checksum校验和决定过滤,通过checksum校验和决定过滤的广播数据包发送到相应的虚拟主机队列中;
组播地址数据包过滤处理步骤包括:祖播过滤寄存器来判断该数据包是接收还是丢弃。将组播地址数据包直接送入管理过滤模块,管理过滤模块根据根据上层驱动设定的组播寄存器内预设的组播过滤算法判断组播地址数据包是否通过,通过的数据包直接将数据包发送到相应的虚拟主机队列中;
过滤通道还设有紧急中断过滤模块,当***需要对一些特殊的包进行紧急处理时,在紧急中断模块预设有紧急中断信息条件值,当接收到数据包的TCP端口号,数据包长度符合所述中断信息条件值,或数据包TCP头中的控制位如URG、ACK、PSH、RST、SYN和FIN任何一位为1时时,紧急中断模块将所述数据包立即上传并触发中断。同样首先通过信息提取模块提取上述信息,然后与立即中断控制寄存器比较,如果匹配则会将控制描述符中的对应位置1,则pcie会根据该位触发立即中断。
C、所述接收控制器将通过过滤通道和数据通道后的数据包根据过滤结果发送到DDR2存储器中相应的虚拟机队列中,并且在一个数据包完成发送操作后将所述数据包对应的描述符写入到相应虚拟机队列预留的位置,当一个数据包的数据和对应的描述符都写到DDR2中后,根据MAC模块的good/bad frame信号及过滤结果对各个虚拟机队列的状态进行修改,保证上层主机能正确接收到有用的数据包。
本申请所有过滤环节的寄存器的值都是在芯片初始化的时候由上层软件配置在寄存器模块里来实现,该模块实现***中所有寄存器的配置和读写控制,过滤通道中用到的寄存器都是从寄存器模块读出来的。

Claims (5)

1、一种多虚拟机应用网卡的数据过滤传输方法,其特征在于:所述网卡上设有FPGA和网卡内存模块,所述FPGA包括过滤通道、数据通道、接收控制器和寄存器模块,所述过滤通道包括信息提取模块、目的MAC地址过滤模块、VLAN过滤模块、管理过滤模块和紧急中断过滤模块,所述网卡内存模块中为每个虚拟机创建一个虚拟机队列,所述方法采用如下步骤:
A、网卡的MAC模块收到数据包以后,将数据包同时发送到过滤通道和数据通道。
B1、所述数据通道对数据包数据进行拼接,将MAC模块接收到的8位宽的数据包数据拼接成128位宽,并在接收控制器中给出相应虚拟机队列地址。
B2、所述过滤通道对收到的数据包进行过滤,首先通过信息提取模块提取数据包目的MAC地址,然后通过目的MAC地址过滤模块对数据包的目的MAC地址进行过滤判断,并根据数据包的目的MAC地址过滤判断结果对数据包进行滤过处理;
所述数据包目的MAC地址包括:单播地址、组播地址和广播地址,所述单播地址数据包的过滤处理步骤包括:先将用单播地址数据包的MAC地址与管理MAC地址寄存器内预设的MAC地址信息进行比较,判断该数据包是否为管理包,是管理包的单播地址数据包直接进入管理过滤模块,否则通过HASH算法计算出所述单播地址数据包MAC地址的HASH值,根据所述HASH值判断是通过还是丢弃,通过的单播地址数据包进入VLAN过滤模块,所述VLAN过滤模块根据单播地址数据包的VLAN信息判断是通过还是丢弃,通过的单播地址数据包进入管理过滤模块,所述管理过滤模块对单播地址数据包进行checksum校验和决定过滤,通过checksum校验和决定过滤的单播地址数据包发送到相应的虚拟主机,所述决定过滤是将单播地址数据包的管理VLAN值、TCP/UDP端口、ARP及IP地址信息与主机中相应的寄存器内的预设信息进行比较判断是否通过;
所述广播地址数据包的过滤处理步骤包括:将所述广播地址数据包直接送入管理过滤模块,所述管理过滤模块对所述广播地址数据包进行checksum校验和决定过滤,通过checksum校验和决定过滤的广播数据包发送到相应的虚拟主机队列中;
所述组播地址数据包过滤处理步骤包括:将所述组播地址数据包直接送入管理过滤模块,所述管理过滤模块根据上层驱动设定的组播寄存器内预设的组播过滤算法判断组播地址数据包是否通过,通过的组播地址数据包直接发送到相应的虚拟主机队列中;
C、所述接收控制器将拼接后的数据包根据过滤结果发送到相应的虚拟机队列中,并且在一个数据包完成发送操作后将所述数据包对应的描述符写入到相应虚拟机队列预留的位置,当所述数据包的数据和对应的描述符都写到网卡内存模块中后根据MAC模块的good/bad frame信号及过滤结果对各个虚拟机队列的状态进行修改,保证上层主机能正确接收到有用的数据包。
2、如权利要求1所述的一种虚拟机应用的数据过滤传输方法,其特征在于:所述步骤B2中,所述过滤通道还设有紧急中断过滤模块,所述紧急中断模块预设有紧急中断信息条件值,当数据包的TCP端口号,数据包长度符合所述中断信息条件值时,所述紧急中断模块将所述数据包立即上传并触发中断。
3、如权利要求2所述的一种虚拟机应用的数据过滤方法,其特征在于:所述紧急中断模块中预设的紧急中断条件值还包括:当所述数据包的TCP头中的控制位URG、ACK、PSH、RST、SYN和FIN任何一位为1时都会触发立即中断。
4、如权利要求1所述的一种虚拟机应用的数据过滤方法,其特征在于:所述步骤A中,所述MAC模块通过FIFO实现数据包的时钟域的转换,FIFO出来的数据包同时送到过滤通道和数据通道。
5、如权利要求1所述的一种虚拟机应用数据过滤方法,其特征在于:所述网卡内存模块采用DDR2存储器。
CN2009100838910A 2009-05-11 2009-05-11 一种多虚拟机应用的数据过滤方法 Active CN101599966B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100838910A CN101599966B (zh) 2009-05-11 2009-05-11 一种多虚拟机应用的数据过滤方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100838910A CN101599966B (zh) 2009-05-11 2009-05-11 一种多虚拟机应用的数据过滤方法

Publications (2)

Publication Number Publication Date
CN101599966A true CN101599966A (zh) 2009-12-09
CN101599966B CN101599966B (zh) 2012-01-18

Family

ID=41421213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100838910A Active CN101599966B (zh) 2009-05-11 2009-05-11 一种多虚拟机应用的数据过滤方法

Country Status (1)

Country Link
CN (1) CN101599966B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098289A (zh) * 2010-12-17 2011-06-15 天津曙光计算机产业有限公司 一种基于fpga的网络安全连接封堵处理方法
CN102546582A (zh) * 2010-12-30 2012-07-04 中国科学院声学研究所 一种提高嵌入式数据传输***传输速率的方法及***
CN102609298A (zh) * 2012-01-11 2012-07-25 中国科学技术大学苏州研究院 基于硬件队列扩展的网卡虚拟化***及其方法
CN103067270A (zh) * 2013-01-08 2013-04-24 杭州华三通信技术有限公司 一种虚拟机互访安全控制方法及装置
CN103795621A (zh) * 2013-12-12 2014-05-14 华为技术有限公司 一种虚拟机的数据交换方法、装置及物理主机
CN105141547A (zh) * 2015-07-28 2015-12-09 华为技术有限公司 数据处理的方法、网卡和主机
GB2556636A (en) * 2016-11-21 2018-06-06 The Sec Dep For Foreign And Commonwealth Affairs Method and device for filtering packets
CN108885566A (zh) * 2016-03-31 2018-11-23 日本电气株式会社 网络***中的控制方法、控制设备以及服务器
CN110300081A (zh) * 2018-03-21 2019-10-01 大唐移动通信设备有限公司 一种数据传输的方法和设备
CN114615022A (zh) * 2022-02-17 2022-06-10 奇安信科技集团股份有限公司 云内流量牵引方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100435514C (zh) * 2006-03-10 2008-11-19 中国科学院软件研究所 以太网驱动级底层过滤方法和***
US8250641B2 (en) * 2007-09-17 2012-08-21 Intel Corporation Method and apparatus for dynamic switching and real time security control on virtualized systems

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098289B (zh) * 2010-12-17 2014-08-27 曙光信息产业股份有限公司 一种基于fpga的网络安全连接封堵处理方法
CN102098289A (zh) * 2010-12-17 2011-06-15 天津曙光计算机产业有限公司 一种基于fpga的网络安全连接封堵处理方法
CN102546582A (zh) * 2010-12-30 2012-07-04 中国科学院声学研究所 一种提高嵌入式数据传输***传输速率的方法及***
CN102609298A (zh) * 2012-01-11 2012-07-25 中国科学技术大学苏州研究院 基于硬件队列扩展的网卡虚拟化***及其方法
CN103067270A (zh) * 2013-01-08 2013-04-24 杭州华三通信技术有限公司 一种虚拟机互访安全控制方法及装置
CN103067270B (zh) * 2013-01-08 2016-12-28 杭州华三通信技术有限公司 一种虚拟机互访安全控制方法及装置
CN103795621B (zh) * 2013-12-12 2017-02-15 华为技术有限公司 一种虚拟机的数据交换方法、装置及物理主机
CN103795621A (zh) * 2013-12-12 2014-05-14 华为技术有限公司 一种虚拟机的数据交换方法、装置及物理主机
CN105141547A (zh) * 2015-07-28 2015-12-09 华为技术有限公司 数据处理的方法、网卡和主机
CN105141547B (zh) * 2015-07-28 2019-05-24 华为技术有限公司 数据处理的方法、网卡和主机
CN108885566A (zh) * 2016-03-31 2018-11-23 日本电气株式会社 网络***中的控制方法、控制设备以及服务器
GB2556636A (en) * 2016-11-21 2018-06-06 The Sec Dep For Foreign And Commonwealth Affairs Method and device for filtering packets
US11184256B2 (en) 2016-11-21 2021-11-23 The Secretary Of State For Foreign And Commonwealth Affairs Method and device for filtering packets
CN110300081A (zh) * 2018-03-21 2019-10-01 大唐移动通信设备有限公司 一种数据传输的方法和设备
CN114615022A (zh) * 2022-02-17 2022-06-10 奇安信科技集团股份有限公司 云内流量牵引方法及装置

Also Published As

Publication number Publication date
CN101599966B (zh) 2012-01-18

Similar Documents

Publication Publication Date Title
CN101599966B (zh) 一种多虚拟机应用的数据过滤方法
CN1770734B (zh) 网络装置的通信量控制方法
CN101540727B (zh) 一种ip报文的硬件分流方法
WO2016187813A1 (zh) 一种光电混合网络的数据传输方法及装置
US20140078902A1 (en) Scalable Low Latency Multi-Protocol Networking Device
CN101645832B (zh) 一种基于fpga的虚拟机网络数据包处理方法
CN102647370B (zh) WiFi网络和ZigBee网络之间的通信方法
CN103391256A (zh) 一种基于Linux***的基站用户面数据处理优化方法
CN101267361A (zh) 一种基于零拷贝技术的高速网络数据包捕获方法
CN106155960A (zh) 基于gpio握手和edma的uart串口通信方法
CN103731409B (zh) 用于具有tcp加速的嵌入式汽车采集设备的分布式测量装置
CN102404414B (zh) 基于mmc/sd接口的以太网通信***及方法
CN101158930A (zh) 一种外部控制dma控制器的方法及其装置
CN101540764A (zh) 一种基于fpga的面向虚拟机的数据传输和路由方法
CN103136163A (zh) 可配置实现fc-ae-asm和fc-av协议的协议处理器芯片
CN103338158B (zh) 一种goose报文传输时延抖动抑制方法
US10142228B2 (en) Device and method for retransmitting data in a network switch
CN109828943A (zh) 一种低速率通信网络的提高串口传输速率处理***及方法
CN102413054B (zh) 数据流量控制方法、装置及***、网关设备、交换机设备
CN109714128A (zh) 数据传输方法、设备及计算机存储介质
CN101437033B (zh) 一种支持可变速率的方法和网络设备
CN115118668A (zh) 流控制技术
CN106304188B (zh) 一种am rlc对于重传数据的优化的接收处理方法
CN101938297A (zh) 蓝牙链路的数据传输方法及蓝牙主设备
CN101950279B (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
ASS Succession or assignment of patent right

Owner name: NANJING CITY CLOUD COMPUTING CENTER CO., LTD.

Free format text: FORMER OWNER: SHUGUANG INFORMATION INDUSTRIAL (BEIJING) CO., LTD.

Effective date: 20130326

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100084 HAIDIAN, BEIJING TO: 211153 NANJING, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20130326

Address after: 211153, 1, 37, general road, Jiangning economic and Technological Development Zone, Nanjing, Jiangsu

Patentee after: Nanjing City Cloud Computing Center Co., Ltd.

Address before: 100084 Beijing Haidian District City Mill Street No. 64

Patentee before: Dawning Information Industry (Beijing) Co., Ltd.