CN112202623B - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN112202623B
CN112202623B CN202011394334.3A CN202011394334A CN112202623B CN 112202623 B CN112202623 B CN 112202623B CN 202011394334 A CN202011394334 A CN 202011394334A CN 112202623 B CN112202623 B CN 112202623B
Authority
CN
China
Prior art keywords
data
transmitted
data packet
time
byte
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
Application number
CN202011394334.3A
Other languages
English (en)
Other versions
CN112202623A (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.)
Beijing Helishi Control Technology Co ltd
Original Assignee
Beijing Hollysys 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 Beijing Hollysys Co Ltd filed Critical Beijing Hollysys Co Ltd
Priority to CN202011394334.3A priority Critical patent/CN112202623B/zh
Publication of CN112202623A publication Critical patent/CN112202623A/zh
Application granted granted Critical
Publication of CN112202623B publication Critical patent/CN112202623B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请提供一种数据处理方法及装置,其中,所述方法包括:比较本次待传输数据包与上一次传输的数据包,获取所述本次待传输数据包中发生变化的数据;根据所述发生变化的数据和用于读取所述发生变化的数据的第一信息生成第一压缩数据包;将第一压缩数据包传输给数据接收方,以使所述数据接收方根据所述第一压缩数据包和上一次获得的数据包得出本次待传输数据包。上述技术方案可以减少无损传输的数据量,提高传输效率。

Description

一种数据处理方法及装置
技术领域
本发明涉及但不限于计算机领域,尤其涉及数据处理方法及装置。
背景技术
DCS(Distributed Control System,分布式控制系统)是典型的工业控制系统,在DCS系统中,实时的数据通讯是DCS系统的“神经”,它的大容量的、高效的运行是DCS系统实现可靠的、先进控制功能的基础。
传统的IT系统目前已有完善的各类数据通讯、压缩处理算法,能适用不同的IT业务需求,但是它们都不适合实时工业控制系统的数据通讯。
当前,工业界大多数的做法是:对于实时通讯数据的数据,不采用任何压缩算法,按原始数据上报和处理。这种做法对于中、小规模的控制系统来说,是完全满足应用需求的;但是对于大型控制系统而言,其数据量特别庞大,如不对数据进行压缩处理,只能增加硬件处理资源(如加大网络带宽、网络处理能力、节点的数据处理能力等)。
还有一个少数的厂家对数据做了一些处理,以减少通讯数据量,这些对减少通讯量的通讯处理方法包括以下两种方法:
第一种是死区法,死区法是判断数据的变化是否是在一定范围内,如果数据的变化是在一定范围内,则不传输了。但是死区法本质上是一种有损数据处理方法,在控制精度要求较低的场景还是可以使用的,但是现在生产过程对控制系统要求越来越高,要求高精度控制、压红线控制、卡边控制,这类有损压缩算法就不适用了。
第二种是点标签法。点标签法是给传输的数据加上点名标签。这种方法有三个缺点:一是附加信息太多,有些场景会造成数据量反而变大;二是在数据整理和还原时,需要比对点名匹配,匹配计算的计算量较大;三是它不适用于基于编译型的系统(它们的数据是一个“数据块”,难于打标签)。
发明内容
本申请所要解决的技术是提供一种数据处理方法及装置,可以减少无损传输的数据量,提高传输效率。
为了解决上述技术问题,本申请提供了一种数据处理方法,应用于数据发送方,所述方法包括:
比较本次待传输数据包与上一次传输的数据包,获取所述本次待传输数据包中发生变化的数据;
根据所述发生变化的数据和用于读取所述发生变化的数据的第一信息生成第一压缩数据包;
将第一压缩数据包传输给数据接收方,以使所述数据接收方根据所述第一压缩数据包和上一次获得的数据包得出本次待传输数据包。
在一种示例性实例中,所述比较本次待传输数据包与上一次传输的数据包之后,还包括:
为所述本次待传输数据包中的每个数据设置表示有变化或者无变化的状态信息。
在一种示例性实例中,所述比较本次待传输数据包与上一次传输的数据包,包括:
按照数据排列顺序,依次将所述本次待传输数据包与所述上一次传输的数据包进行比对,确定所述本次待传输数据包中每个数据与所述上一次传输的数据包中对应位置的数据是否不同;
将不同的数据确定为所述发生变化的数据。
在一种示例性实例中,所述获取待传输数据包中发生变化的数据,包括:
根据所述本次待传输数据包中的每个数据的状态信息,将所述本次待传输数据包划分为多个数据块,其中,每个数据块包含的数据的状态信息相同,每个数据块的状态信息与该数据块包含的数据的状态信息相对应;
将状态信息表示为有变化的数据块中的数据作为所述发生变化的数据。
在一种示例性实例中,所述根据所述本次待传输数据包中的每个数据的状态信息,将所述待传输数据包划分为多个数据块之后,所述将状态信息表示为有变化的数据块中的数据作为所述发生变化的数据之前,所述方法还包括:
对于每个状态信息表示为无变化的数据块均进行如下操作:
判断该数据块的长度是否大于当前设定的步长参数,如果该数据块的长度小于所述步长参数,则将该数据块的状态信息变更为有变化;如果该数据块的长度大于或者等于所述步长参数,则保持该数据块的状态信息不变。
在一种示例性实例中,所述根据所述发生变化的数据和用于读取所述发生变化的数据的第一信息生成第一压缩数据包,包括:
生成所述本次待传输数据包的索引表;
根据所述发生变化的数据和所述索引表生成所述第一压缩数据包;
其中,所述索引表包括表头和表体;所述表体包括多个字节,每个字节按照数据的排列顺序与每个所述数据块依次对应,每个字节含有第一信息,所述第一信息包括该字节对应数据块的长度信息和该字节对应数据块的状态信息;所述表头的数值为所述表体包括的字节数量。
在一种示例性实例中,所述方法还包括:
按照设定的第一周期统计以下数据中的一种或者多种:一个数据包划分的数据块的总数量、数据块的最大长度、数据块的最小长度、数据块的平均长度;
按照设定的第二周期,根据统计得出的数据更新所述步长参数。
本申请还提供一种数据处理装置,设置于数据发送方,包括:存储器和处理器;
所述存储器,用于保存用于数据处理的程序;
所述处理器,用于读取所述用于数据处理的程序,执行前述任一所述应用于数据发送方的数据处理方法。
本申请还提供一种计算机存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行前述任一所述应用于数据发送方的数据处理方法。
本申请还提供一种数据处理方法,应用于数据接收方,所述方法包括:
接收数据发送方发送的第一压缩数据包;
根据所述第一压缩数据包以及上一次获得的数据包,得出本次待传输数据包;
其中,所述第一压缩数据包为根据本次待传输数据包中发生变化的数据和用于读取所述发生变化的数据的第一信息生成的数据包。
在一种示例性实例中,所述根据所述第一压缩数据包以及上一次获得的数据包,得出本次待传输数据包包括:
获取所述压缩数据包中的索引表中携带的第一信息;
根据所述第一信息、本次待传输数据包中发生变化的数据以及上一次获得的数据包,得出本次待传输数据包;
其中,所述索引表包括表头和表体;所述表体包括多个字节,每个字节按照数据的排列顺序与每个所述数据块依次对应,每个字节含有第一信息,所述第一信息包括该字节对应数据块的长度信息和该字节对应数据块的状态信息;所述表头的数值为所述表体包括的字节数量。
在一种示例性实例中,所述根据所述第一信息、本次待传输数据包中发生变化的数据以及上一次获得的数据包,得出本次待传输数据包包括:
对于所述索引表中的每个字节,按照字节的排列顺序依次进行如下操作:
根据该字节含有的长度信息,确定读取该字节对应的数据块的起始位置和结束位置;
如果该字节含有的状态信息表示为有变化,则根据读取该字节对应的数据块的起始位置和结束位置,从本次待传输数据包中发生变化的数据中读取该字节对应的数据块;
如果该字节含有的状态信息表示为无变化,则根据读取该字节对应的数据块的起始位置和结束位置,从上一次获得的数据包中读取该字节对应的数据块;
将所有字节对应的数据块按照数据块的排列顺序进行拼接,得出所述本次待传输数据包。
本申请还提供一种数据处理装置,设置于数据接收方,包括:存储器和处理器;
所述存储器,用于保存用于数据处理的程序;
所述处理器,用于读取所述用于数据处理的程序,执行前述任一所述应用于数据接收方的数据处理方法。
本申请还提供一种计算机存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行前述任一所述应用于数据接收方的数据处理方法。
本申请提供一种数据处理方法及装置,所述方法包括:比较本次待传输数据包与上一次传输的数据包,获取所述本次待传输数据包中发生变化的数据;根据所述发生变化的数据和用于读取所述发生变化的数据的第一信息生成第一压缩数据包;将第一压缩数据包传输给数据接收方,以使所述数据接收方根据所述第一压缩数据包和上一次获得的数据包得出本次待传输数据包。上述技术方案可以减少无损传输的数据量,提高传输效率。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1是本申请实施例一的数据处理方法的流程图;
图2是本申请实施例一的数据处理装置的结构示意图;
图3是本申请实施例二的数据处理方法的流程图;
图4是本申请实施例二的数据处理装置的结构示意图;
图5是本申请实施例三中示例一的数据切块的示意图;
图6是本申请实施例三中示例二的数据切块的示意图;
图7是本申请实施例三中示例二的数据切块的另一示意图;
图8是本申请实施例三中示例三的数据切块的示意图;
图9是本申请实施例三中示例三的数据切块的另一示意图;
图10是本申请实施例三中map表的示意图;
图11是本申请实施例三中描述符的示意图;
图12是本申请实施例三中map表的另一示意图;
图13是本申请实施例三中压缩数据包的示意图;
图14是本申请实施例三中压缩数据包的另一示意图;
图15是本申请实施例三中数据解压方法的流程图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
在超大规模DCS系统中,其数据通讯的数量超大,通讯参与者也非常多,加之工业数据通讯的实时性要求高(通讯频次快),因此,在这种情况下,如果不对数据进行一定的压缩处理,通讯的数据量是巨大的,对交换机、网络带宽、终端的处理能力都带来非常大的压力。
但是,组成工业控制系统的控制器、HMI(Human Machine Interface,人机界面)等,其计算处理能力又不像桌面系统或者服务器系统那么强大,另外,工业控制系统对数据的强实时性特点,要求压缩/解压缩过程都必须快速完成。因此,应用于工业控制系统的实时数据通讯过程的数据压缩需求,对压缩算法的复杂度有一定的制约,比较复杂的、耗费计算资源多的、耗费时间多的压缩算法是无法在工业控制系统的实时通讯过程中使用的。
此外,有损数据压缩算法由于会永久性的丢失数据,因此不适合应用于工业控制系统的实时通讯。
工业通讯和传统的IT通讯在数据传输要求、数据特点、业务需求等各个方面,都有着非常大的差异,这些差异决定了在数据压缩、数据传输时,必须采用与之相适应的解决方案。本申请发明人分析得出了工业通讯数据的特点:数据多、时间邻域变化少,变化散列;通讯频率快(一般是100~250ms通讯一次)、 数据量大(全数据量一般达百万点级别)、具有周期性(每个通讯周期需要将全部数据交换一次)。基于上述特点,工业通讯对数据处理的需求是:无损、无差错、 高效、实时、计算量小、能在嵌入式设备中使用。
本申请发明人基于上述工业通讯的特点、要求、业务需求、软硬件限制和约束条件等,提出一种适用于工业控制系统的数据传输方法,可以实现通讯的无损、高效的工业通讯。本申请的数据处理方法采用一种高效的、无损的压缩技术,可以保证在工业控制系统硬件带宽能力下,实现超大规模的、众多操作站、众多控制器之间的相互通讯;确保实现通讯的实时性、高效性;解决了众多控制器、众多操作站同时通迅时,系统运行性能受影响、通迅速度低、数据通讯速度不能满足要求、通迅规模小等问题。
本申请可以应用于控制器(本申请特指DCS系统的用于控制现场装置的一种可编程设备,它是一种资源有限、处理能力有限、嵌入式的可编程设备)与控制器之间、控制器与HMI之间、HMI与HMI之间的通讯。
实施例一
如图1所示,本实施例提供一种数据处理方法,应用于数据发送方,所述方法包括:
步骤S101、比较本次待传输数据包与上一次传输的数据包,获取所述本次待传输数据包中发生变化的数据;
步骤S102、根据所述发生变化的数据和用于读取所述发生变化的数据的第一信息生成第一压缩数据包;
步骤S103、将第一压缩数据包传输给数据接收方,以使所述数据接收方根据所述第一压缩数据包和上一次获得的数据包得出本次待传输数据包。
本实施例中,数据发送方上一次传输的数据包为上一次向数据接收方传输的未经过压缩的原始数据包。本次待传输数据包指本次向数据接收方传输的未经过压缩的原始数据包,数据接收方上一次获得的数据包指上一次获取的数据发送方传输的未经压缩的原始数据包。
通过上述技术方案,可以减少无损传输的数据量,提高传输效率。
本实施例中,数据接收方可以根据变化的数据以及上一次获得数据包得出本次待传输数据包,从而可以实现无损传输。
本实施例仅传输变化的数据(这里可以是每个工业数据的数值),对于无变化的数据不传输,从而可以有效压缩传输的数据量。同时,向数据接收方发送的第一信息不是地址信息,而是用于读取数据的信息,也就是说,数据接收方根据这个第一信息就可以获取如何读取数据,而第一信息的数据量与地址信息的数据量相比可以明显减少。通过上述技术方案,可以减少数据传输的数量,提高传输效率,实现高效的无损传输。
需要说明的是,上述操作针对的同一个数据发送方和同一个数据接收方之间的数据传输,如果本次数据传输是两者之间首次传输之后的数据传输,则需要将本次传输数据包与上一次传输的数据包进行比对;如果本次数据传输是两者之间的首次传输,则不进行数据的比对,而是将首次待传输的数据包以及用于标识首次数据传输的信息发送给数据接收方。
在一种示例性实例中,所述比较本次待传输数据包与上一次传输的数据包之后,还包括:
为所述本次待传输数据包中的每个数据设置表示有变化或者无变化的状态信息。
在一种示例性实例中,所述比较本次待传输数据包与上一次传输的数据包,包括:
按照数据排列顺序,依次将所述本次待传输数据包与所述上一次传输的数据包进行比对,确定所述本次待传输数据包中每个数据与所述上一次传输的数据包中对应位置的数据是否不同;
将不同的数据确定为所述发生变化的数据。
本实施例中,可以将本次待传输数据包与上一次传输的数据包进行对齐,拍照数据的排列顺序依次比对,也就是,在对齐后,将本次待传输数据包的第一个数据与上一次传输的数据包的第一个数据进行比对,如果不同,就认为本次待传输数据包的第一个数据为有变化数据;如果相同,就认为本次待传输数据包的第一个数据为无变化数据;然后将本次待传输数据包的第二个数据与上一次传输的数据包的第二个数据进行比对,如果不同,就认为本次待传输数据包的第二个数据为有变化数据,依次类推。
在一种示例性实例中,所述获取待传输数据包中发生变化的数据,包括:
根据所述本次待传输数据包中的每个数据的状态信息,将所述本次待传输数据包划分为多个数据块,其中,每个数据块包含的数据的状态信息相同,每个数据块的状态信息与该数据块包含的数据的状态信息相对应;
将状态信息表示为有变化的数据块中的数据作为所述发生变化的数据。
通过将待传输数据包划分为多个数据块,然后数据块的状态信息,从而可以进一步减少数据的传输量,提高传输效率。
在一种示例性实例中,所述根据所述本次待传输数据包中的每个数据的状态信息,将所述待传输数据包划分为多个数据块之后,所述将状态信息表示为有变化的数据块中的数据作为所述发生变化的数据之前,所述方法还包括:
对于每个状态信息表示为无变化的数据块均进行如下操作:
判断该数据块的长度是否大于当前设定的步长参数,如果该数据块的长度小于所述步长参数,则将该数据块的状态信息变更为有变化;如果该数据块的长度大于或者等于所述步长参数,则保持该数据块的状态信息不变。
上述技术方案可以将过于零散的无变化数据块与有变化数据块进行合并,从而避免了数据切块过于零散导致压缩比不高的问题。
在一种示例性实例中,可以设定每个数据块的长度阈值。如果一个数据块的长度大于该长度阈值,则将该数据块拆分成至少多个数据块,然后对拆分后的每个数据块按照排列顺序分别设置相应编号。
在一种示例性实例中,所述根据所述发生变化的数据和用于读取所述发生变化的数据的第一信息生成第一压缩数据包,包括:
生成所述本次待传输数据包的索引表;
根据所述发生变化的数据和所述索引表生成所述第一压缩数据包;
其中,所述索引表包括表头和表体;所述表体包括多个字节,每个字节按照数据的排列顺序与每个所述数据块依次对应,每个字节含有第一信息,所述第一信息包括该字节对应数据块的长度信息和该字节对应数据块的状态信息;所述表头的数值为所述表体包括的字节数量。
通过索引表的形式可以使得有效提高接收方的数据解压效率。
需要说明的是,如果本次传输为首次数据传输,则索引表的表头的数值为零,并且没有表体,数据发送方则将表头数值为零的索引表以及首次传输的数据包发送给数据接收方。
在一种示例性实例中,所述方法还包括:
按照设定的第一周期统计以下数据中的一种或者多种:一个数据包划分的数据块的总数量、数据块的最大长度、数据块的最小长度、数据块的平均长度、均方差;
按照设定的第二周期,根据统计得出的数据更新所述步长参数。
本实施例可以对每次数据传输划分的数据块的数据进行统计,也可以按照设定时间间隔对当前数据传输划分的数据块的数据进行统计。通过统计结果,可以对步长参数进行自动学习和更新,不断优化步长参数。
如图2所示,本实施例还提供一种数据处理装置,设置于数据发送方,包括:存储器10和处理器11;
所述存储器10,用于保存用于数据处理的程序;
所述处理器11,用于读取所述用于数据处理的程序,执行前述任一所述应用于数据发送方的数据处理方法。
本实施例还提供一种计算机存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行前述任一所述应用于数据发送方的数据处理方法。
实施例二
如图3所示,本实施例还提供一种数据处理方法,应用于数据接收方,所述方法包括:
步骤S201、接收数据发送方发送的第一压缩数据包;
步骤S202、根据所述第一压缩数据包以及上一次获得的数据包,得出本次待传输数据包;
其中,所述第一压缩数据包为根据本次待传输数据包中发生变化的数据和用于读取所述发生变化的数据的第一信息生成的数据包。
通过上述技术方案,可以减少无损传输的数据量,提高传输和解压效率。
需要说明的是,如果数据发送方发送的数据包中携带有标识首次数据传输的信息,则数据接收方直接将接收到的数据包作为本次待传输数据包。
在一种示例性实例中,所述根据所述第一压缩数据包以及上一次获得的数据包,得出本次待传输数据包包括:
获取所述压缩数据包中的索引表中携带的第一信息;
根据所述第一信息、本次待传输数据包中发生变化的数据以及上一次获得的数据包,得出本次待传输数据包;
其中,所述索引表包括表头和表体;所述表体包括多个字节,每个字节按照数据的排列顺序与每个所述数据块依次对应,每个字节含有第一信息,所述第一信息包括该字节对应数据块的长度信息和该字节对应数据块的状态信息;所述表头的数值为所述表体包括的字节数量。
需要说明的是,如果本次数据传输是首次传输,则索引表的表头数值为零,并且没有表体。数据接收方可以根据这样的索引表,直接将接收到的数据包作为本次待传输数据包。
在一种示例性实例中,所述根据所述第一信息、本次待传输数据包中发生变化的数据以及上一次获得的数据包,得出本次待传输数据包包括:
对于所述索引表中的每个字节,按照字节的排列顺序依次进行如下操作:
根据该字节含有的长度信息,确定读取该字节对应的数据块的起始位置和结束位置;
如果该字节含有的状态信息表示为有变化,则根据读取该字节对应的数据块的起始位置和结束位置,从本次待传输数据包中发生变化的数据中读取该字节对应的数据块;
如果该字节含有的状态信息表示为无变化,则根据读取该字节对应的数据块的起始位置和结束位置,从上一次获得的数据包中读取该字节对应的数据块;
将所有字节对应的数据块按照数据块的排列顺序进行拼接,得出所述本次待传输数据包。
如图4所示,本实施例还提供一种数据处理装置,设置于数据接收方,包括:存储器20和处理器21;
所述存储器20,用于保存用于数据处理的程序;
所述处理器21,用于读取所述用于数据处理的程序,执行前述任一所述所述应用于数据接收方的数据处理方法。
本实施例还提供一种计算机存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行前述任一所述应用于数据接收方的数据处理方法。
实施例三
下面进一步说明本申请的数据处理方法。
本实施例中,数据发送方可以是控制器或者HMI,数据接收方也可以是控制器或者HMI。对于任一数据发送方,可以与多个数据接收方法进行通讯,本实施例以数据发送方A与数据接收方B之间的数据传输为例进行说明。
本实施例中,应用于数据发送方的数据处理方法(即数据压缩方法)主要包括以下几个部分:数据切块、确定有效数据、生成map表(相当于前述的索引表)、生成压缩数据包。
一、 数据切块
本实施例中,数据切块可以先识别数据,可以对模拟量数据存储区以4字节对齐的原则识别数据,对开关量数据存储区以1字节对齐的原则识别数据。
数据切块的过程,是A通过分析上一次向B传输的数据包和本次待传输的数据包进行比对,得出本次待传输数据包的变化情况,从而识别出本次待传输数据包有变化的数据和无变化的数据。
下面通过具体示例进一步说明数据切块的方法。
示例一
如图5所示,a为A上一次向B传输的未压缩之前的数据示意图,b为A本次待向B传输的未压缩之前的数据的示意图,按照数据的排列顺序,将b中的数据与a中的数据进行比对,也就是b中的第一个数据与a中的第一数据进行比对,如果两者不相同,则b中的第一个数据的状态信息为有变化,以此类推,b中的第二个数据与a中的第二数据进行比对,b中的第三个数据与a中的第三数据进行比对,直至b中的最后一个数据与a中的最后一个数据进行比对,然后可以得出b中每个数据的状态信息。
假设b中每个数据的状态信息如图5所示,灰色部分代表无变化的数据,白色部分代表了有变化的数据,这样可以将b划分为15个数据块(数据块的编号为1至15)。
本示例中,编号为1、3、5、7、9、11、13、15的数据块的状态信息为有变化,编号为2、4、6、8、10、12、14的数据块的状态信息为无变化。
示例二
按照示例一的数据块的划分方法,可能会导致数据块过于零散,从而导致压缩比不高。因此,在本示例中,为了避免上述问题,可以在基于示例一将b划分为15个数据块之后,进行如下操作:
对于所有状态信息为无变化的数据块(即编号为2、4、6、8、10、12、14的区域),判断每个数据块的长度是否小于当前设定的步长参数(有关步长参数的设定见实施例三),对于数据块的长度小于当前设定的步长参数,则将该数据块的状态信息变更为变化。假设编号2、6、8、14的区域的长度小于当前设定的步长参数,则将编号2、6、8、14的数据块的状态信息变更为有变化,将变更前在图中灰色修改为白色来标识,变更后的各区域如图6所示。
如图7所示,将状态信息相同并且相邻的数据块进行合并,对合并后的数据块按照排列顺序重新编号。这样就可以将b划分为7个数据块(编号为1至7),其中,编号为1、3、5、7的数据块的状态信息为有变化,编号为2、4、6的数据块的状态信息为无变化。
通过上述方式将数据包划分为多个数据块,可以避免数据块划分过于零散,从而保证了较高的压缩比。
示例三
在本示例中,可以设定每个数据块的最大长度,下面以数据块的最大长度为127字节为例进行说明。
假设b中每个数据的状态信息如图8所示,将b划分为2个数据块(区域的编号为1至2),假设编号为2的数据块的长度大于127字节,则将编号为2的数据块拆分为多个最大长度小于127字节的数据块,然后对拆分后的数据块重新编号。假设划分后的数据块如图9所示。
设定每个数据块的最大长度也可以适用于示例一和示例二的场景,以示例二的场景为例,假设合并数据块后,如果存在任一长度大于127字节的数据块,则将该数据块进行拆分,使得拆分后的数据块的长度小于或者等于127字节,然后重新按照排列顺序编号。
二、确定有效数据
本实施例中,有效数据也就是状态信息为有变化的数据。基于前述数据块的划分结果,将状态信息为有变化的数据块作为有效数据。
如果按照示例一的数据块划分结果,有效数据包括编号为1、3、5、7、9、11、13、15的数据块。
如果按照示例二的数据块划分结果,有效数据包括编号为1、3、5、7的数据块。
三、生成map表
map表中可以携带用于标识本次数据传输是否为首次传输的信息,假设本实施例中,通过map表表头的数字0标识本次传输为首次传输,在其它示例中,还可以通过其它方式标识。map表的生成方式分以下两种场景:
场景一、如果本次数据传输为首次数据传输,则map表仅包括表头,表头的数值为0。这样可以通过map表表头的数值0来标识本次数据传输为首次数据传输。如果本次数据传输为首次数据传输,数据发送方无需和上一次的数据进行比对得出数据状态信息,也无需进行数据切块。
首次传输的数据包可以用于通讯双方数据对齐的过程,当首次发送数据时,或者数据通讯失序时,使用这种数据包进行数据对齐,“对齐”的目的是为了使得数据接收方生成一个基准数据。
场景二、如果本次数据传输不是首次数据传输,则在数据切块完成后,可以根据切块结果生成本次待传输原始数据包对应的map表。在该场景二中,map表包括表头和表体。
如图10所示,本实施例中,可以设定表头为两个字节,用于标识表体包含的字节的数量,最大可表示的范围是0~65535。
表体由若干个字节,每个字节可以作为一个描述符。每个描述符的长度可以设定为一个字节(8位)。
如图11所示,下面以每个数据块的最大长度为127字节为例,说明每个描述符包含的8个位的含义:
比特Bit7位(最高位,图11中标号为7的位):用于标识该字节对应的数据块的状态信息,可以通过数字或者符号进行标识。假设本实施例通过数字1和0进行标识,1表示数据块的状态信息为有变化,0标识数据块的状态信息为无变化。在其它示例中,还可以通过其它方式标识有变化和无变化。
Bit6~Bit0位:其数据表达范围是0至 127,代表该字节对应的数据块的长度。
需要说明的是,在其它实施例中,表头占用的字节数还可以设定为其它数值,例如3字节、4字节等。每个数据块的最大长度也可以根据表头的字节数设定为其它数值。
以示例二数据块划分结果为例,对应的map表如图12所示,表头为2个字节,由于有7个数据块,因此,表头的数值为00000111(7的二进制表示形式),表体包括7个字节,每个字节的最高位标识状态信息,例如,对于字节1,其状态信息为有变化,因此,字节1的最高位的数值为1。
字节1对应的数据块的长度为n1,字节2对应的数据块的长度为n2,以此类推,字节7对应的数据块的长度为n7。
假设n1=100(十进制),则字节1的长度表示为1100100(二进制),这样,字节1的8位为11100100。
本实施例中,map表的表体的字节顺序与本次待传输原始数据包的各数据块的编号顺序保持一致。
需要说明的是,在下一次传输数据是,重新根据待传输的数据包生成对应的map表。
四、生成压缩数据包
如图13所示,对于首次数据传输,map的表头为0,压缩数据包包括map表和本次待传输原始数据。
对于首次数据传输后的数据次传输,压缩数据包包括map表和有效数据。以示例二数据块的划分结果为例,压缩数据包的示意图如图14所示。
如图15所示,应用于数据接收方的数据处理方法(即数据解压方法)可以包括:
步骤S301、当数据接收方B接收到数据发送方A发送的压缩数据包时,读取该数据压缩包中的map表的表头数值;
步骤S302、判断表头数值是否为0,如果表头数值为0,则转步骤S303,如果表头数值不为0,则转步骤S304;
步骤S303、将压缩数据包中含有的数据包作为本次待传输的数据包,并将所述本次待传输的数据包作为当前的基准数据;结束本次操作。
步骤S304、设定p的初始值为1,设定q为表头数值;
步骤S305、读取表体的第p个字节,获取第p个字节包含的标识该字节对应的数据块的状态信息和长度信息;
步骤S306、根据长度信息读取该字节对应的数据块的起始位置和结束位置;
步骤S307、判断状态信息是否为1,如果为1,则转步骤S308,如果为0,则转步骤S309;
步骤S308、从所述压缩数据包携带的数据包(即有效数据)中,按照得出的起始位置和结束位置读取数据,将读取到的数据作为该字节对应的数据块;转步骤310;
步骤S309、从当前的基准数据中,按照得出的起始位置和结束位置读取数据,将读取到的数据作为该字节对应的数据块;转步骤310;
步骤S310、p=p+1;
步骤S311、判断p是否小于或者等于q;如果p小于或者等于q,则转步骤S305执行;如果p大于q,则转步骤S312执行;
步骤S312、将读取出的q个字节的数据块,按照数据块的排列顺序进行拼接,得出所述本次待传输的数据包;
步骤S313、将当前的基准数据更新为所述本次待传输的数据包。结束本次操作。
需要说明的是,步骤S306和步骤S307的执行的先后顺序不做具体限定,在其它示例中,还可以先执行步骤S307,再执行步骤S306。
本实施例中,每个压缩数据包会携带有数据发送方的标识信息,数据接收方会根据标识信息确定该压缩数据包的发送主体。对于同一个数据接收方,该数据接收方与不同的数据发送方之间,有相应的基准数据,例如对于B,B与A之间有一个基准数据,B与C(其它的数据发送方)之间有一个基准数据。
本示例中的基准数据为数据发送方的未经压缩的原始数据包。当A首次向B发送压缩数据包时,B将该压缩数据包中包含的数据包作为基准数据,当A第二次向B发送压缩数据包时,B根据压缩数据包得出本次传输的原始数据包,然后将该原始数据包作为当前的基准数据,依次类推。上述基准数据的更新是针对B与A之间的。
以图14生成的压缩数据包为例,首先读取map表的表头值为7;
然后读取第1个字节,第1字节高位为1,表示要读取本次传输的有效数据,第一字节对应的数据块的长度是n1,则第一字节的读取数据的偏移量为n1,从本次有效数据的初始位置0开始读取长度为n1的数据。把这个数据写到缓冲区中;
然后读取第2个字节,第2字节高位为0,表示要读取上一次获取的数据,第二字节对应的数据块的长度是n2,从上一次获取的解压之后的数据中读取长度为n2的数据,读取的起始位置根据第一字节的偏移量得出。
以此类推读取第3至第7字节对应数据块的数据。
上述数据压缩方法和数据解压方法是基于工业控制系统设备资源少、速度快等特点、以及对数据可靠性要求高、数据是周期性等需求而设计的。采用上述数据压缩和数据解压方法,可以实现无损数据,数据压缩方法简便,计算资源开销少,压缩比高,适用于嵌入式设备。
与传统IT领域的无损压缩算法相比:本申请的数据压缩方法压缩速度快,与被压缩的数据量呈线性比例,能适用于单片机等嵌入式设备;
与当前工业领域的不压缩的方案相比,通讯的数据量被大幅度减少,在超大规模的工业控制系统中,其通讯的数据量减少后,可以节省大量的网络通讯开销,加快通讯频次,提高控制精度。
与当前工业领域的死区法相比,它的数据没有任何精度损失,可以完全还原数据源方的真实数据,是现代优化控制、先进控制、压红线和卡边控制的数据基础,能为高精度的控制运算提供数据支撑。
与当前工业领域的点标签法通讯方案相比,它可以容纳更大容量的通讯能力,在同样的硬件环境下(网络带宽、网络交换设备数据处理能力、网络节点包括控制器、HMI等),它可以提供更多数据、更大容量、更快的通讯频次的通讯能力。
此外,通过本申请的数据处理方法,还可以在同等通讯数据量的需求条件下,降低控制系统的硬件配置,如降低网络交换设备的配置等,但能达到相同的数据通讯能力,从而降低系统成本。
实施例四
本实施例进一步说明步长参数的自动学习方法。
本实施例中的步长参数是通过自动学习得出的,步长参数太大或者太小,都会使得压缩比降低,并且它与数据的动态变化情况密切相关。
因此,步长参数必须具备自动学习的特点,也就是说,该步长参数不是一个固定不变的参数,而是在数据压缩过程中不断动态学习而获取的一个最适当的值。
步长参数自动学习的方法可以包括:
对每一次数据传输时进行的数据切块进行统计,统计每次数据切块的总数量,切块的最大长度,最小长度、长度平均值以及均方差值。
在进行统计时,可以去掉偏离平均值大于某一个值的切块,以屏蔽差异太大的值对统计造成的不可信的偏差;对可信的切块(有效切块)进行统计,统计它们的均差方值。在实际使用时,可以将平均值作为基础,以均方差值作为权值去补偿;均方差值越小,说明数据的分块长度距离平均值越近,就使用平均值附近的值做步长参数;均方差值越大,说明数据的分块长度距离平均值越远,就要将步长修正的距离平均值越远。
此外,可以按照设定周期,对历史的统计数据进行分析,然后更新步长参数的值。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于 RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且包括任何信息递送介质。

Claims (10)

1.一种数据处理方法,所述方法包括:
比较本次待传输数据包与上一次传输的数据包,获取所述本次待传输数据包中发生变化的数据;
根据所述发生变化的数据和用于读取所述发生变化的数据的第一信息生成第一压缩数据包;
将第一压缩数据包传输给数据接收方,以使所述数据接收方根据所述第一压缩数据包和上一次获得的数据包得出本次待传输数据包;
其中,所述获取所述本次待传输数据包中发生变化的数据,包括:
根据所述本次待传输数据包中的每个数据的状态信息,将所述本次待传输数据包划分为多个数据块,其中,每个数据块包含的数据的状态信息相同,每个数据块的状态信息与该数据块包含的数据的状态信息相对应,所述状态信息为有变化或者无变化;
对于每个状态信息表示为无变化的数据块均进行如下操作:
判断该数据块的长度是否大于当前设定的步长参数,如果该数据块的长度小于所述步长参数,则将该数据块的状态信息变更为有变化;如果该数据块的长度大于或者等于所述步长参数,则保持该数据块的状态信息不变
将状态信息表示为有变化的数据块中的数据作为所述发生变化的数据;
所述根据所述发生变化的数据和用于读取所述发生变化的数据的第一信息生成第一压缩数据包,包括:
生成所述本次待传输数据包的索引表;
根据所述发生变化的数据和所述索引表生成所述第一压缩数据包;
其中,所述索引表包括表头和表体;所述表体包括多个字节,每个字节按照数据的排列顺序与每个数据块依次对应,每个字节含有第一信息,所述第一信息包括该字节对应数据块的长度信息和该字节对应数据块的状态信息;所述表头的数值为所述表体包括的字节数量。
2.根据权利要求1所述的数据处理方法,其特征在于,所述比较本次待传输数据包与上一次传输的数据包之后,还包括:
为所述本次待传输数据包中的每个数据设置表示有变化或者无变化的状态信息。
3.根据权利要求2所述的数据处理方法,其中,所述比较本次待传输数据包与上一次传输的数据包,包括:
按照数据排列顺序,依次将所述本次待传输数据包与所述上一次传输的数据包进行比对,确定所述本次待传输数据包中每个数据与所述上一次传输的数据包中对应位置的数据是否不同;
将不同的数据确定为所述发生变化的数据。
4.如权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
按照设定的第一周期统计以下数据中的一种或者多种:一个数据包划分的数据块的总数量、数据块的最大长度、数据块的最小长度、数据块的平均长度;
按照设定的第二周期,根据统计得出的数据更新所述步长参数。
5.一种数据处理装置,包括:存储器和处理器;其特征在于:
所述存储器,用于保存用于数据处理的程序;
所述处理器,用于读取所述用于数据处理的程序,执行如权利要求1至4 任一所述的方法。
6.一种计算机存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至4中任一所述的方法。
7.一种数据处理方法,所述方法包括:
接收数据发送方发送的第一压缩数据包;
根据所述第一压缩数据包以及上一次获得的数据包,得出本次待传输数据包;
其中,所述第一压缩数据包为根据本次待传输数据包中发生变化的数据和用于读取所述发生变化的数据的第一信息生成的数据包;
所述根据所述第一压缩数据包以及上一次获得的数据包,得出本次待传输数据包包括:
获取所述第一压缩数据包中的索引表中携带的第一信息,所述索引表为根据本次待传输数据包生成的表;
根据所述第一信息、本次待传输数据包中发生变化的数据以及上一次获得的数据包,得出本次待传输数据包;
其中,所述索引表包括表头和表体;所述表体包括多个字节,每个字节按照数据的排列顺序与每个数据块依次对应,每个字节含有第一信息,所述第一信息包括该字节对应数据块的长度信息和该字节对应数据块的状态信息,所述状态信息为有变化或者无变化;所述表头的数值为所述表体包括的字节数量。
8.如权利要求7所述的数据处理方法,其特征在于,所述根据所述第一信息、本次待传输数据包中发生变化的数据以及上一次获得的数据包,得出本次待传输数据包包括:
对于所述索引表中的每个字节,按照字节的排列顺序依次进行如下操作:
根据该字节含有的长度信息,确定读取该字节对应的数据块的起始位置和结束位置;
如果该字节含有的状态信息表示为有变化,则根据读取该字节对应的数据块的起始位置和结束位置,从本次待传输数据包中发生变化的数据中读取该字节对应的数据块;
如果该字节含有的状态信息表示为无变化,则根据读取该字节对应的数据块的起始位置和结束位置,从上一次获得的数据包中读取该字节对应的数据块;
将所有字节对应的数据块按照数据块的排列顺序进行拼接,得出所述本次待传输数据包。
9.一种数据处理装置,包括:存储器和处理器;其特征在于:
所述存储器,用于保存用于数据处理的程序;
所述处理器,用于读取所述用于数据处理的程序,执行如权利要求7至8任一所述的方法。
10.一种计算机存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求7至8中任一所述的方法。
CN202011394334.3A 2020-12-03 2020-12-03 一种数据处理方法及装置 Active CN112202623B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011394334.3A CN112202623B (zh) 2020-12-03 2020-12-03 一种数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011394334.3A CN112202623B (zh) 2020-12-03 2020-12-03 一种数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN112202623A CN112202623A (zh) 2021-01-08
CN112202623B true CN112202623B (zh) 2021-03-23

Family

ID=74033769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011394334.3A Active CN112202623B (zh) 2020-12-03 2020-12-03 一种数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN112202623B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827287B (zh) * 2021-09-29 2024-06-11 中国电力科学研究院有限公司 一种数据的压缩方法及系统
CN113595557B (zh) * 2021-09-30 2021-12-28 阿里云计算有限公司 一种数据处理的方法和装置
CN114221833B (zh) * 2021-12-15 2023-12-05 傲普(上海)新能源有限公司 Bms系统数据通讯方法
CN115567121B (zh) * 2022-10-18 2024-08-13 纵目科技(上海)股份有限公司 数据传输方法、系统、介质及超声波传感器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427539A (zh) * 2018-03-15 2018-08-21 深信服科技股份有限公司 缓存设备数据的离线去重压缩方法、装置及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100986991B1 (ko) * 2008-10-23 2010-10-11 전자부품연구원 행동 인지 장치 및 행동 인지 시스템과 이를 이용한 행동 인지 처리 방법
CN105897755A (zh) * 2016-06-06 2016-08-24 广东美的暖通设备有限公司 多联机空调系统中的通信方法、通信装置、内机和外机
CN110636009A (zh) * 2018-06-22 2019-12-31 中兴通讯股份有限公司 一种数据传输方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427539A (zh) * 2018-03-15 2018-08-21 深信服科技股份有限公司 缓存设备数据的离线去重压缩方法、装置及可读存储介质

Also Published As

Publication number Publication date
CN112202623A (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
CN112202623B (zh) 一种数据处理方法及装置
US20190349002A1 (en) Encoding And Decoding Method And Terminal
CN108616927B (zh) 一种数据发送和接收方法及装置
US10667175B2 (en) Systems and methods for segmentation and reassembly of data frames in 802.11 wireless local area networks
CN110753095B (zh) 一种网卡的数据处理方法、设备以及存储介质
CN109392100A (zh) 一种确定传输块大小的方法、装置及设备
CN110831010A (zh) 一种多通道数据发送及接收方法及装置和数据传输系统
CN115037700A (zh) 一种复杂网络数据包传送方法、系统、终端及存储介质
CN110602338B (zh) 音频处理方法、装置、系统、存储介质以及设备
CN112272935B (zh) 处理消息数据的方法和装置
CN116567079A (zh) 数据压缩方法及装置
CN113177015B (zh) 基于帧头的串口通讯方法和串口芯片
CN113242434B (zh) 一种视频压缩方法及相关装置
US8452902B2 (en) Methods for transmitting buffer size information
CN111147385A (zh) 一种软件定义数据中心网络数据平面转发方法及系统
CN113938351A (zh) 数据采集方法、系统及计算机可读存储介质
CN114157716B (zh) 基于区块链的数据处理方法、装置和电子设备
US9893862B2 (en) Aggregation frame design method and apparatus
CN112188562B (zh) 中继基站的多播调度方法和装置、存储介质及电子装置
CN113744744B (zh) 一种音频编码方法、装置、电子设备及存储介质
US10742783B2 (en) Data transmitting apparatus, data receiving apparatus and method thereof having encoding or decoding functionalities
WO2020134610A1 (zh) 数据调度方法及装置
WO2016074194A1 (zh) 一种数据传输方法、设备及系统
US8228213B2 (en) Data compression system and associated methods
CN112596893B (zh) 用于多节点边缘计算设备的监控方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211119

Address after: Room 1613, 6 / F, building 1, yard 2, Desheng Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing 100176

Patentee after: Beijing Helishi Control Technology Co.,Ltd.

Address before: 100176 courtyard 2, Disheng Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Patentee before: BEIJING HOLLYSYS Co.,Ltd.