CN103036808B - 一种去除网络抖动的方法及系统 - Google Patents
一种去除网络抖动的方法及系统 Download PDFInfo
- Publication number
- CN103036808B CN103036808B CN201210536508.4A CN201210536508A CN103036808B CN 103036808 B CN103036808 B CN 103036808B CN 201210536508 A CN201210536508 A CN 201210536508A CN 103036808 B CN103036808 B CN 103036808B
- Authority
- CN
- China
- Prior art keywords
- buffer circle
- client
- code stream
- data
- server
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及网络通信领域,本发明公开了一种实现去除网络抖动的方法及系统,其具体包括服务器端、N个客户端,所述服务器端用于进行数据采集并编码后将码流写入环形缓冲区,并记录当前码流码率大小C;服务器对端口进行监听并记录当前客户端连接数L,并根据当前码流码率大小和当前客户端连接数L进行判断采用一个公共的环形缓冲区A存放待发送码流还是为新的客户端建立新的环形缓冲区。通过在服务器端为新的访问点建立动态内存,有效提高视频传输的可靠性,解决了视频网络传输抖动的问题。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种去除网络抖动的方法及系统。
背景技术
网络抖动,其是指网络中分组延迟的变化程度。如果网络发生拥塞,排队延迟将影响端到端的延迟,并导致通过同一连接传输的分组延迟各不相同,而抖动,就是用来描述这样一延迟变化的程度。因此,抖动将会使得数据量大的传输容易出现丢包和乱序的问题。
随着EtherNet技术的不断发展,IPC(网络视频监控设备)逐渐成为安防领域发展的一个热点。利用现有的IP宽带网络,便可以实现远程视频监控,而不用单独建设视频专线。
在实际监控应用中,通常会出现多个客户端同时连接同一个监控前端进行视频监控的案例,即多个客户端同时连接同一个前端服务器。且随着高清视频监控的普及,视频码流码率更是与日俱增,因为数据量大,就容易使传输的视频流出现丢包、乱序的问题,导致了接收客户端的解码器不能正确解码视频流,给终端用户呈现的就是解码错误的视频图像。现在主要采用的技术为连接同一个服务器的多个客户端共同使用同一个缓冲池,对同一帧码流,只有对每个客户端发送码流数据包完毕之后,再释放这片缓存,这样对数据量不大、网络环境较好的条件下可以减少网络延迟,但是,对于高清视频来说,这样的方法容易导致丢包和乱序的问题。
发明内容
本发明的目的是针对现有技术中采用缓冲池对同一帧码流在对每个客户端发送完成后再释放的方法使得无法处理数据量大,网络环境不好的数据,提供一种去除网络抖动的方法。本发明还公开了实现这种去除网络抖动方法的系统。
本发明的目的通过下述技术方案来实现:
一种去除网络抖动的方法,其具体包含以下步骤:1.服务器进行数据采集并编码后将码流写入环形缓冲区,并记录当前码流码率大小C;2.服务器对端口进行监听并记录当前客户端连接数L,并根据当前码流码率大小C和当前客户端连接数L进行判断,当C*L小于或等于T1时,采用一个公共的环形缓冲区A存放待发送码流,所有的客户端从公共的环形缓冲区A中读取数据;当C*L大于T1时,为新的客户端建立新的环形缓冲区B,新的客户端从新的环形缓冲区B中读取数据;依次类推,当C*L-T1大于T2时,为最新的客户端建立最新的环形缓冲区D,最新的客户端从最新的环形缓冲区D中读取数据;其中T1、T2为负载阈值;3.客户端从分配的环形缓冲区中读取数据。
更进一步地,上述步骤1具体还包括服务器对视频数据进行实时采集,并进行H264编码后将码流以帧为单位写入环形缓冲区。
更进一步地,上述步骤2具体还包括服务器对TCP端口进行监听,并将视频数据包通过TCP报文分发给客户端。
更进一步地,上述服务器端为B/S或者C/S架构。
更进一步地,上述方法还包括,每一个环形缓冲区对应一个客户端。
更进一步地,上述方法还包括定期执行步骤2中的服务器对端口进行监听并记录当前客户端连接数L,并根据当前码流码率大小C和当前客户端连接数L确定环形缓冲区的个数。
更进一步地,上述环形缓冲区通过链表实现,环形缓冲区设置读指针和写指针,所述写指针用于将码流以帧为单位写入环形缓冲区,所述读指针用于将数据帧从环形缓冲区中读出。
更进一步地,上述方法还包括如果写指针的的下一个节点是读指针,则先将读指针指向下一个节点,同时将数据写入写指针的指向节点的数据缓冲部分,最后将写指针指向下一个节点。
更进一步地,上述方法还包括当一个环形缓冲区对应至少两个客户端时,在某一帧发送给了所有客户端之后,再移动读指针至下一个节点。以此保证每个视频连接所接收数据帧的完整性。
本发明还公开了一种实现去除网络抖动的系统,其具体包括服务器端、N个客户端,所述服务器端用于进行数据采集并编码后将码流写入环形缓冲区,并记录当前码流码率大小C;服务器对端口进行监听并记录当前客户端连接数L,并根据当前码流码率大小C和当前客户端连接数L进行判断,当C*L小于或等于T1时,采用一个公共的环形缓冲区A存放待发送码流,所有的客户端从公共的环形缓冲区A中读取数据;当C*L大于T1时,为新的客户端建立新的环形缓冲区B,新的客户端从新的环形缓冲区B中读取数据;依次类推,当C*L-T1大于T2时,为最新的客户端建立最新的环形缓冲区D,最新的客户端从最新的环形缓冲区D中读取数据;其中T1、T2为负载阈值;所述客户端用于从分配的环形缓冲区中读取数据。
通过采用以上技术方案,本发明具有以下有益效果:通过在服务器端为新的访问点建立动态内存,有效提高视频传输的可靠性,解决了视频网络传输抖动的问题。具体表现如下:1、基于TCP作为传输层协议,建立公共环形缓冲区,以帧为单位将视频图像信息存放于其中,循环覆盖,有效解决了视频延时的问题;2、在高码率多连接条件下,采用动态独立分配内存的方法,有效保障了视频流的正常传输,解决了因码率过大或者访问端过多导致了视频流传输丢包、乱序而产生的网络抖动问题。
附图说明
附图1为本发明方法应用的系统结构图。
附图2为公共环形缓冲区示意图。
附图3多访问端独立分配环形缓冲区示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合说明书附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明公开了一种去除网络抖动的方法,其具体包含以下步骤:1.服务器进行数据采集并编码后将码流写入环形缓冲区,并记录当前码流码率大小C;2.服务器对端口进行监听并记录当前客户端连接数L,并根据当前码流码率大小C和当前客户端连接数L进行判断,当C*L小于或等于T1时,采用一个公共的环形缓冲区A存放待发送码流,所有的客户端从公共的环形缓冲区A中读取数据;当C*L大于T1时,为新的客户端建立新的环形缓冲区B,新的客户端从新的环形缓冲区B中读取数据;依次类推,当C*L-T1大于T2时,为最新的客户端建立最新的环形缓冲区D,最新的客户端从最新的环形缓冲区D中读取数据;其中T1、T2为负载阈值;3.客户端从分配的环形缓冲区中读取数据。通过将码流循环写入环形缓冲区,以帧为单位将码流数据如视频图像信息存放于其中,循环覆盖,有效解决了视频延时的问题,并同时记录当前码流码率大小C和当前客户端连接数L,并根据C*L和T的关系判断是直接采用一个公共的环形缓冲区还是为新的客户端建立新的环形缓冲区,通过在服务器端为新的访问点建立动态缓存,有效提高视频传输的可靠性,解决了视频网络传输抖动的问题,使得在高码率多连接条件下,采用动态独立分配缓存的方法,有效保障了视频流的正常传输。解决了因码率过大或者访问端过多导致的视频流传输丢包、乱序而产生的网络抖动问题。其中T1、T2的值可以根据实际网络带宽等条件进行设定。服务器端定时检查当前视频流状态及连接数量来判断是否采用为每个连接独立分配缓存的方式,来解决网络抖动的问题。
本发明的方法应用于图1所示的结构中,n个客户访问端访问前端设备服务器,通过TCP/IP协议传输数据包。当C*L小于或等于T1时,采用一个公共的环形缓冲区A存放待发送码流,如图2所示的公共环形缓冲区示意图。图3为多访问端独立分配环形缓冲区示意图。
更进一步地,上述步骤1具体还包括服务器对视频数据进行实时采集,并进行H264编码后将码流以帧为单位写入环形缓冲区。H264编码是视频数据常用的编码方式,本发明可以用于视频数据的处理,目前高清的视频数据量比较大,在存在多个客户端同时访问服务器的情况下容易产生网络抖动,采用本发明的技术方案则有效地去除了网络抖动。图像帧为单位存放到发送数据缓冲区,发送缓冲区以环形方式组织,保证数据的实时性。本发明的技术方案提高了视频监控系统整体抗干扰能力,为终端用户提供较好的视频图像质量。
更进一步地,上述步骤2具体还包括服务器对TCP端口进行监听,并将视频数据包通过TCP报文分发给客户端。Transmission Control Protocol 传输控制协议,简称TCP,是一种面向连接(连接导向)的、可靠的、基于字节流的运输层通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。采用基于TCP传输控制协议,提高了数据传输的可靠性,保证每帧数据到达的完整性以及有序性。
更进一步地,上述服务器端为B/S或者C/S架构。上述两种结构都可以实现本发明的多个客户端同时访问服务器,提高了本发明的通用性,B/S或者C/S的架构均可以一对一或者多对一的方式进行通信,使得本发明可以应用于不同架构的系统中。
更进一步地,上述方法还包括,每一个环形缓冲区对应一个客户端。采用一个环形缓冲区对应一个客户端的方式,使得服务器直接根据连接的客户端的个数分配对应个数的环形缓冲区,方便了系统的实现,每一个客户端对应一个环形缓冲区,也进一步去除了网络抖动。通过在服务器端为每个访问的客户端独立分配内存,这样使得为每个访问端的码流传输具有独立性,防止了丢包和乱序等现象,进一步使得去除抖动的效果更好。
更进一步地,上述方法还包括定期执行步骤2中的服务器对端口进行监听并记录当前客户端连接数L,并根据当前码流码率大小C和当前客户端连接数L确定环形缓冲区的个数。在网络状态中,连接数和当前码流大小是随时变化的,服务器端随时检测当前视频流状态,并根据客户端连接数L进行判断,如果满足一定阈值,则为访问端新分配环形缓冲区,用于视频流的独立传输,如果不是,则恢复使用公共环形缓冲区。两种方式随时可以灵活切换,便于系统的实现,在数据量相对较小,客户端数量较少的时候选择只建立一个公共的环形缓冲区,在数据量相对较大,客户端数量达到一定阈值的时候,比如,客户端数量达到100的时候,就可以为新的客户端分配新的环形缓冲区,阈值的设定根据网络的带宽等进行综合考量。
更进一步地,上述环形缓冲区通过链表实现,环形缓冲区设置读指针和写指针,所述写指针用于将码流以帧为单位写入环形缓冲区,所述读指针用于将数据帧从环形缓冲区中读出。例如,定义两个读写指针分别为Pread/Pwrite,在完成缓冲区的初始化以后读写指针重合。工作过程中,如果Pread不等于Pwrite,那么输出当前Pread指向的内容,并将Pread移到下一个节点,否则返回无数据状态。如果Pwrite的下一个节点不是Pread,那么将数据写入Pwrite指向节点的数据缓冲部分,并将Pwrite移向下一个节点。
更进一步地,如果写指针的的下一个节点是读指针,则先将读指针指向下一个节点,同时将数据写入写指针的指向节点的数据缓冲部分,最后将写指针指向下一个节点。采用上述覆盖旧数据的写入方式用于确保缓冲区数据的实时性。
更进一步地,当一个环形缓冲区对应至少两个客户端时,在某一帧发送给了所有客户端之后,再移动读指针至下一个节点。以此保证每个视频连接所接收数据帧的完整性。
本发明还公开了一种实现去除网络抖动的系统,其具体包括服务器端、N个客户端,所述服务器端用于进行数据采集并编码后将码流写入环形缓冲区,并记录当前码流码率大小C;服务器对端口进行监听并记录当前客户端连接数L,并根据当前码流码率大小C和当前客户端连接数L进行判断,当C*L小于或等于T1时,采用一个公共的环形缓冲区A存放待发送码流,所有的客户端从公共的环形缓冲区A中读取数据;当C*L大于T1时,为新的客户端建立新的环形缓冲区B,新的客户端从新的环形缓冲区B中读取数据;依次类推,当C*L-T1大于T2时,为最新的客户端建立最新的环形缓冲区D,最新的客户端从最新的环形缓冲区D中读取数据;其中T1、T2为负载阈值;所述客户端用于从分配的环形缓冲区中读取数据。
上述的实施例中所给出的系数和参数,是提供给本领域的技术人员来实现或使用本发明的,本发明并不限定仅取前述公开的数值,在不脱离本发明的发明思想的情况下,本领域的技术人员可以对上述实施例作出种种修改或调整,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
Claims (10)
1.一种去除网络抖动的方法,其具体包含以下步骤:1.服务器进行数据采集并编码后将码流写入环形缓冲区,并记录当前码流码率大小C;2.服务器对端口进行监听并记录当前客户端连接数L,并根据当前码流码率大小C和当前客户端连接数L进行判断,当C*L小于或等于T1时,采用一个公共的环形缓冲区A存放待发送码流,所有的客户端从公共的环形缓冲区A中读取数据;当C*L大于T1时,为新的客户端建立新的环形缓冲区B,新的客户端从新的环形缓冲区B中读取数据;依次类推,当C*L-T1大于T2时,为最新的客户端建立最新的环形缓冲区D,最新的客户端从最新的环形缓冲区D中读取数据;其中T1、T2为负载阈值;3.客户端从分配的环形缓冲区中读取数据。
2.如权利要求1所述的一种去除网络抖动的方法,其特征在于所述步骤1具体还包括服务器对视频数据进行实时采集,并进行H264编码后将码流以帧为单位写入环形缓冲区。
3.如权利要求1所述的去除网络抖动的方法,其特征在于所述步骤2具体还包括服务器对TCP端口进行监听,并将视频数据包通过TCP报文分发给客户端。
4.如权利要求1所述的去除网络抖动的方法,其特征在于所述服务器端为B/S或者C/S架构。
5.如权利要求1所述的去除网络抖动的方法,其特征在于所述方法还包括,每一个环形缓冲区对应一个客户端。
6.如权利要求1所述的去除网络抖动的方法,其特征在于所述方法还包括定期执行步骤2中的服务器对端口进行监听并记录当前客户端连接数L,并根据当前码流码率大小C和当前客户端连接数L确定环形缓冲区的个数。
7.如权利要求1所述的去除网络抖动的方法,其特征在于所述环形缓冲区通过链表实现,环形缓冲区设置读指针和写指针,所述写指针用于将码流以帧为单位写入环形缓冲区,所述读指针用于将数据帧从环形缓冲区中读出。
8.如权利要求7所述的去除网络抖动的方法,其特征在于所述方法还包括如果写指针的的下一个节点是读指针,则先将读指针指向下一个节点,同时将数据写入写指针的指向节点的数据缓冲部分,最后将写指针指向下一个节点。
9.如权利要求1所述的去除网络抖动的方法,其特征在于所述方法还包括当一个环形缓冲区对应至少两个客户端时,在某一帧发送给了所有客户端之后,再移动读指针至下一个节点。
10.一种实现权利要求1所述方法的系统,其特征在于具体包括服务器端、至少一个客户端,所述服务器端用于进行数据采集并编码后将码流写入环形缓冲区,并记录当前码流码率大小C;服务器对端口进行监听并记录当前客户端连接数L,并根据当前码流码率大小C和当前客户端连接数L进行判断,当C*L小于或等于T1时,采用一个公共的环形缓冲区A存放待发送码流,所有的客户端从公共的环形缓冲区A中读取数据;当C*L大于T1时,为新的客户端建立新的环形缓冲区B,新的客户端从新的环形缓冲区B中读取数据;依次类推,当C*L-T1大于T2时,为最新的客户端建立最新的环形缓冲区D,最新的客户端从最新的环形缓冲区D中读取数据;其中T1、T2为负载阈值;所述客户端用于从分配的环形缓冲区中读取数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210536508.4A CN103036808B (zh) | 2012-12-13 | 2012-12-13 | 一种去除网络抖动的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210536508.4A CN103036808B (zh) | 2012-12-13 | 2012-12-13 | 一种去除网络抖动的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103036808A CN103036808A (zh) | 2013-04-10 |
CN103036808B true CN103036808B (zh) | 2015-04-29 |
Family
ID=48023310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210536508.4A Active CN103036808B (zh) | 2012-12-13 | 2012-12-13 | 一种去除网络抖动的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103036808B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491426A (zh) * | 2013-08-31 | 2014-01-01 | 中山大学 | 一种iptv的视频点播系统 |
CN103686349B (zh) * | 2013-12-27 | 2017-04-12 | 深圳市九洲电器有限公司 | 一种多屏互动的方法、装置及机顶盒 |
CN103905556A (zh) * | 2014-04-10 | 2014-07-02 | 中央电视台 | 一种以太网中多媒体数据的数字化存储方法、装置及系统 |
CN105430453B (zh) * | 2015-11-27 | 2019-04-02 | 刘军 | 媒体数据采集方法、媒体终端及在线音乐教学系统 |
CN105808349A (zh) * | 2016-03-03 | 2016-07-27 | 甘肃省电力公司风电技术中心 | 大规模风电实时监测数据流环形缓冲区设计方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549535A (zh) * | 2003-05-09 | 2004-11-24 | 华为技术有限公司 | 用rtp数据包的序号进行排序以消除其抖动延时的方法 |
US6859460B1 (en) * | 1999-10-22 | 2005-02-22 | Cisco Technology, Inc. | System and method for providing multimedia jitter buffer adjustment for packet-switched networks |
CN1691634A (zh) * | 2004-04-19 | 2005-11-02 | 腾讯科技(深圳)有限公司 | 一种解决网络抖动的方法 |
CN101022326A (zh) * | 2007-02-01 | 2007-08-22 | 华为技术有限公司 | 延时控制的方法及其装置 |
CN101296158A (zh) * | 2007-04-26 | 2008-10-29 | 深圳市同洲电子股份有限公司 | 一种流媒体数据传输方法及其数据传输装置 |
CN101926134A (zh) * | 2008-01-25 | 2010-12-22 | 艾利森电话股份有限公司 | 用于网络节点的简单适配抖动缓冲器算法 |
CN102547389A (zh) * | 2012-01-16 | 2012-07-04 | 何建亿 | 一种网络自适应的流媒体QoS控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7573894B2 (en) * | 2004-02-17 | 2009-08-11 | Mitel Networks Corporation | Method of dynamic adaptation for jitter buffering in packet networks |
-
2012
- 2012-12-13 CN CN201210536508.4A patent/CN103036808B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6859460B1 (en) * | 1999-10-22 | 2005-02-22 | Cisco Technology, Inc. | System and method for providing multimedia jitter buffer adjustment for packet-switched networks |
CN1549535A (zh) * | 2003-05-09 | 2004-11-24 | 华为技术有限公司 | 用rtp数据包的序号进行排序以消除其抖动延时的方法 |
CN1691634A (zh) * | 2004-04-19 | 2005-11-02 | 腾讯科技(深圳)有限公司 | 一种解决网络抖动的方法 |
CN101022326A (zh) * | 2007-02-01 | 2007-08-22 | 华为技术有限公司 | 延时控制的方法及其装置 |
CN101296158A (zh) * | 2007-04-26 | 2008-10-29 | 深圳市同洲电子股份有限公司 | 一种流媒体数据传输方法及其数据传输装置 |
CN101926134A (zh) * | 2008-01-25 | 2010-12-22 | 艾利森电话股份有限公司 | 用于网络节点的简单适配抖动缓冲器算法 |
CN102547389A (zh) * | 2012-01-16 | 2012-07-04 | 何建亿 | 一种网络自适应的流媒体QoS控制方法 |
Non-Patent Citations (1)
Title |
---|
实时多媒体流同步机制的研究;葛双全等;《电脑与信息技术》;20060831;第14卷(第4期);第5~8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103036808A (zh) | 2013-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101488967B (zh) | 一种视频传输方法、嵌入式监控终端及监控平台服务器 | |
CN104125429B (zh) | 视频数据传输的调节方法及装置 | |
CN103036808B (zh) | 一种去除网络抖动的方法及系统 | |
EP1869833B1 (en) | Remote management method of a distant device, and corresponding video device | |
CN101527826B (zh) | 视频监控前端系统 | |
CN109600610B (zh) | 一种数据编码方法、终端及计算机可读存储介质 | |
CN101778265A (zh) | 基于异常事件检测和双流编码的视频监控方法 | |
US20120250762A1 (en) | System and method for implementation of dynamic encoding rates for mobile devices | |
CN103929681B (zh) | 一种提升低速网络中rtp视频流处理效率的方法 | |
CN102802088B (zh) | 一种基于实时传输协议的数据传输方法 | |
CN103731631B (zh) | 一种传输视频图像的方法、装置及系统 | |
CN102685472B (zh) | 数据传输的方法、装置和系统 | |
CN103716584A (zh) | 基于上下文感知的智能移动终端现场监测方法 | |
CN109756789B (zh) | 一种音视频数据包的丢包处理方法和系统 | |
CN114640886B (zh) | 自适应带宽的音视频传输方法、装置、计算机设备及介质 | |
CN101218807B (zh) | 用于估计实时内容分发的客户端的输入缓冲器的填充率的设备及方法 | |
CN111131786A (zh) | 一种应用云存储的视频监控存储系统 | |
CN103634552A (zh) | 一种监控视频存储方法、系统和中心管理服务器 | |
CN107770538A (zh) | 一种检测场景切换帧的方法、装置和系统 | |
CN103414890A (zh) | 远程桌面的实现方法及装置 | |
CN110636257A (zh) | 一种监控视频处理方法、装置、电子设备及存储介质 | |
CN104735410B (zh) | 一种低于4k/s的窄带宽视频传输方法及系统 | |
CN102196249A (zh) | 监控数据回放方法及编码器、视频管理服务器 | |
CN106210785B (zh) | 媒体流网络自适应单向控制方法及系统 | |
CN108810468B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210512 Address after: No. 6, Jiuhua Road, khuchuang Park, Mianyang, Sichuan Patentee after: Sichuan Jiuzhou Investment Holding Group Co.,Ltd. Address before: 621000 No.6, Jiuhua Road, Mianyang City, Sichuan Province Patentee before: SICHUAN JIUZHOU ELECTRIC GROUP Co.,Ltd. |