CN110278191A - 用户数据报协议通信方法、装置、系统和计算机可读介质 - Google Patents
用户数据报协议通信方法、装置、系统和计算机可读介质 Download PDFInfo
- Publication number
- CN110278191A CN110278191A CN201910414759.7A CN201910414759A CN110278191A CN 110278191 A CN110278191 A CN 110278191A CN 201910414759 A CN201910414759 A CN 201910414759A CN 110278191 A CN110278191 A CN 110278191A
- Authority
- CN
- China
- Prior art keywords
- message
- information
- check information
- screening
- sequence
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Communication Control (AREA)
Abstract
本发明提供了用户数据报协议通信方法、装置、系统和计算机可读介质,该用户数据报协议通信方法包括:通过用户数据报协议UDP接收来自报文发送端的第一报文,其中第一报文由报文发送端根据预先设定的报文结构形成;根据报文结构从第一报文中获取第一筛选校验信息;检验第一筛选校验信息是否与第一报文的内容相匹配;如果匹配确定第一报文未被篡改,否则确定第一报文已被篡改;其中,报文接收端为主控PLC且报文发送端为制造企业生产过程执行系统MES,或者报文接收端为制造企业生产过程执行系统MES且报文发送端为主控PLC。本方案能够保证制造企业生产过程执行系统MES与主控PLC之间通信的快速性和安全性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及用户数据报协议通信方法、装置、系统和计算机可读介质。
背景技术
随着计算机技术在工业制造领域的不断深化应用,基于计算机自动控制的自动化生产线被广泛应用于各类工厂。在应用有自动化生产线的工厂中,制造企业生产过程执行系统(Manufacturing Execution System,MES)与至少一个主控可编程逻辑控制器(Programmable Logic Controller,PLC)相连接,每一个自动化生产线与至少一个主控PLC相对应,每一个主控PLC与其对应的一个自动化生产线所包括的至少一个工站PLC相连接。在自动化生产线运行过程中,主控PLC接收相连接工站PLC的上报数据,并将接收到的上报数据传输给MES,同时主控PLC还接收来自MES的控制数据,并将接收到的控制数据传输给工站PLC。
由于自动化生产线中工站的数量较多,因此对通信速度的要求比较高,为了保证工站PLC的上报数据能够及时发送给MES,同时保证MES的控制数据能够及时发送给工站PLC,目前通常采用用户数据报协议(User Datagram Protocol,UDP)方式实现MES与主控PLC之间的通信。
UDP是一种无连接的协议,具有不提供数据包分组、组装和不能对数据包进行排序的缺点,因此在报文发送之后无法确定报文是否安全完整的送达,因此,通过UDP方式实现MES与主控PLC之间的通信虽然具有较快的通信速度,但无法保证通信数据的安全性。
发明内容
有鉴于此,本发明提供的用户数据报协议通信方法、装置、系统和计算机可读介质,能够保证制造企业生产过程执行系统MES与主控PLC之间通信的快速性和安全性。
第一方面,本发明实施例提供了一种用户数据报协议通信方法,应用于报文接收端,包括:
通过用户数据报协议UDP接收来自报文发送端的第一报文,其中,所述第一报文由所述报文发送端根据预先设定的报文结构对第一目标数据进行转换而形成;
根据所述报文结构,从所述第一报文中获取第一筛选校验信息;
检验所述第一筛选校验信息是否与所述第一报文的内容相匹配;
如果所述第一筛选校验信息与所述第一报文的内容相匹配,确定所述第一报文未被篡改,否则确定所述第一报文已被篡改;
其中,
所述报文接收端为主控PLC且所述报文发送端为制造企业生产过程执行系统MES,或者所述报文接收端为所述制造企业生产过程执行系统MES且所述报文发送端为所述主控PLC。
在第一种可能的实现方式中,根据第一方面,所述检验所述第一筛选校验信息是否与所述第一报文的内容相匹配,包括:
针对所述第一报文中除所述第一筛选校验信息之外的每一个字节,按照预设的数字转换规则将该字节转换为数字;
对转换出的各个所述数字求和,并将求和结果作为第一参考校验信息;
判断所述第一参考校验信息是否与所述第一筛选校验信息相同;
如果所述第一参考校验信息与所述第一筛选校验信息相同,则确定所述第一筛选校验信息与所述第一报文的内容相匹配;
如果所述第一参考校验信息与所述第一筛选校验信息不同,则确定所述第一筛选校验信息与所述第一报文的内容不匹配。
在第二种可能的实现方式中,根据第一方面,在所述确定所述第一报文未被篡改之后,进一步包括:
根据所述报文结构,从所述第一报文中获取第一报文序列信息,其中,所述第一报文序列信息用于对所述第一报文进行标识,且所述报文发送端在预设时间段内生成的不同报文对应有不同的所述报文序列信息;
获取在所述预设时间段内接收到的来自所述报文发送端的各个报文所对应的第二报文序列信息;
判断各个所述第二报文序列信息中是否存在与所述第一报文序列信息相同的所述第二报文信息;
如果各个所述第二报文序列信息中存在与所述第一报文序列信息相同的所述第二报文信息,确定与所述报文发送端的通信异常。
在第三种可能的实现方式中,结合第一方面、第一种可能的实现方法和第二种可能的实现方式中的任意一个,该用户数据报协议通信方法进一步包括:
获取待发送给所述报文发送端的第二目标数据;
按照所述报文结构将所述第二目标数据转换为第二报文,其中,所述第二报文包括有第二筛选校验信息,所述第二筛选校验信息根据所述第二报文的内容而形成;
通过所述用户数据报协议UDP将所述第二报文发送给所述报文发送端。
在第四种可能的实现方式中,根据第三种可能的实现方式,所述按照所述报文结构将所述第二目标数据转换为第二报文,包括:
根据所述报文结构,生成对应于所述第二目标数据的报文头;
根据预设的数字转换规则,将所述第二目标数据的每一个字节以及所述对应于所述第二目标数据的报文头包括的每一个字节转换为数字;
对转换出的各个所述数字进行求和,获得对应于所述第二目标数据的第二筛选校验信息;
根据所述报文结构,将所述第二筛选校验信息添加到所述对应于所述第二目标数据的报文头中;
将所述第二目标数据与添加有所述第二筛选校验信息的所述对应于所述第二目标数据的报文头进行组合,获得所述第二报文。
第二方面,本发明实施例还提供了一种用户数据报协议通信装置,应用于报文接收端,包括:
一个数据接收模块,用于通过用户数据报协议UDP接收来自报文发送端的第一报文,其中,所述第一报文由所述报文发送端根据预先设定的报文结构对第一目标数据进行转换而形成;
一个第一提取模块,用于根据所述报文结构,从所述数据接收模块接收到的所述第一报文中提取第一筛选校验信息;
一个内容匹配模块,用于检验所述第一提取模块提取到的所述第一筛选校验信息是否与所述第一报文的内容相匹配;
一个报文验证模块,用于根据所述内容匹配模块的验证结果,如果所述第一筛选校验信息与所述第一报文的内容相匹配,确定所述第一报文未被篡改,否则确定所述第一报文已被篡改;
其中,
所述报文接收端为主控PLC且所述报文发送端为制造企业生产过程执行系统MES,或者所述报文接收端为所述制造企业生产过程执行系统MES且所述报文发送端为所述主控PLC。
在第一种可能的实现方式中,根据第二方面,所述内容匹配模块包括:
一个第一转换单元,用于针对所述第一报文中除所述第一筛选校验信息之外的每一个字节,按照预设的数字转换规则将该字节转换为数字;
一个第一求和单元,用于对所述第一转换单元转换出的各个所述数字求和,并将求和结果作为第一参考校验信息;
一个信息比对单元,用于判断所述第一求和单元计算出的所述第一参考校验信息是否与所述第一筛选校验信息相同;
一个匹配验证单元,用于根据所述信息比对单元的判断结果,如果所述第一参考校验信息与所述第一筛选校验信息相同,则确定所述第一筛选校验信息与所述第一报文的内容相匹配,否则确定所述第一筛选校验信息与所述第一报文的内容不匹配。
在第二种可能的实现方式中,根据第二方面,该用户数据报协议通信装置进一步包括:
一个第二提取模块,用于根据所述报文结构,从所述数据接收模块接收到的所述第一报文中提取第一报文序列信息,其中,所述第一报文序列信息用于对所述第一报文进行标识,且所述报文发送端在预设时间段内生成的不同报文对应有不同的所述报文序列信息;
一个序列获取模块,用于获取在所述预设时间段内接收到的来自所述报文发送端的各个报文所对应的第二报文序列信息;
一个序列比对模块,用于判断所述序列获取模块获取到的各个所述第二报文序列信息中是否存在与所述第二提取模块提取到的所述第一报文序列信息相同的所述第二报文信息;
一个异常判断模块,用于根据所述序列比对模块的判断结果,如果各个所述第二报文序列信息中存在与所述第一报文序列信息相同的所述第二报文信息,确定与所述报文发送端的通信异常。
在第三种可能的实现方式中,结合第二方面、第一种可能的实现方法和第二种可能的实现方式中的任意一个,该用户数据报协议通信装置进一步包括:
一个数据获取模块,用于获取待发送给所述报文发送端的第二目标数据;
一个报文形成模块,用于按照所述报文结构将所述数据获取模块获取到的所述第二目标数据转换为第二报文,其中,所述第二报文包括有第二筛选校验信息,所述第二筛选校验信息根据所述第二报文的内容而形成;
一个数据发送模块,用于通过所述用户数据报协议UDP将所述报文形成模块转换出的所述第二报文发送给所述报文发送端。
在第四种可能的实现方式中,根据第三种可能的实现方式,所述报文形成模块包括:
一个报文头生成单元,用于根据所述报文结构,生成对应于所述第二目标数据的报文头;
一个第二转换单元,用于根据预设的数字转换规则,将所述第二目标数据的每一个字节以及所述报文头生成单元生成的所述对应于所述第二目标数据的报文头包括的每一个字节转换为数字;
一个第二求和单元,用于对所述第二转换单元转换出的各个所述数字进行求和,获得对应于所述第二目标数据的第二筛选校验信息;
一个校验信息添加单元,用于根据所述报文结构,将所述第二求和单元计算出的所述第二筛选校验信息添加到所述报文头生成单元所生成的所述对应于所述第二目标数据的报文头中;
一个报文组合单元,用于将所述第二目标数据与所述校验信息添加单元添加所述第二筛选校验信息后的所述对应于所述第二目标数据的报文头进行组合,获得所述第二报文。
第三方面,本发明实施例还提供了一种用户数据报协议通信装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行上述第一方面以及第一方面的任意一种可能的实现方式所提供的方法。
第四方面,本发明实施例还提供了一种用户数据报协议通信系统,包括:一个制造企业生产过程执行系统MES和至少一个主控PLC,其中,
所述制造企业生产过程执行系统MES应用有上述第二方面、第二方面的任意一种可能实现方式以及第三方面提供的用户数据报协议通信装置;
所述主控PLC应用有上述第二方面、第二方面的任意一种可能实现方式以及第三方面提供的用户数据报协议通信装置。
第五方面,本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述第一方面以及第一方面的任意一种可能的实现方式所提供的方法。
由上述技术方案可知,当报文接收端通过用户数据报协议UDP接收到来自报文发送端的第一报文后,报文接收端可以从第一报文中获取第一筛选校验信息,之后报文接收端可以判断获取到的第一筛选校验信息是否与第一报文的内容相匹配,以此确定第一报文是否被篡改,进而报文接收端可以根据第一报文的被篡改情况针对第一报文采取相对应的响应处理。由此可见,由于主控PLC与制造企业生产过程执行系统MES的通信是双向的,主控PLC为报文发送端时制造企业生产过程执行系统MES为报文接收端,主控PLC为报文接收端时制造企业生产过程执行系统MES为报文发送端,主控PLC与制造企业生产过程执行系统MES采用用户数据报协议UDP方式通信保证了通信的快速性,而报文接收端基于第一筛选校验信息验证报文内容是否被篡改保证了报文的安全性,从而在保证制造企业生产过程执行系统MES与主控PLC之间通信快速性的同时可以保证通信的安全性。
附图说明
图1是本发明一个实施例提供的一种用户数据报协议通信方法的流程图;
图2是本发明一个实施例提供的一种检验第一筛选校验信息匹配性检验方法的流程图;
图3是本发明一个实施例提供的一种通信异常情况验证方法的流程图;
图4是本发明一个实施例提供的一种报文发送方法的流程图;
图5是本发明一个实施例提供的一种报文生成方法的流程图;
图6是本发明一个实施例提供的另一种用户数据报协议通信方法的流程图;
图7是本发明一个实施例提供的一种用户数据报协议通信装置的示意图;
图8是本发明一个实施例提供的另一种用户数据报协议通信装置的示意图;
图9是本发明一个实施例提供的一种包括第二提取模块的用户数据报协议通信装置的示意图;
图10是本发明一个实施例提供的一种包括报文形成模块的用户数据报协议通信装置的示意图;
图11是本发明一个实施例提供的另一种包括报文形成模块的用户数据报协议通信装置的示意图;
图12是本发明一个实施例提供的另一种用户数据报协议通信装置的示意图;
图13是本发明一个实施例提供的一种用户数据报协议通信系统的示意图。
附图标记列表:
101:通过用户数据报协议UDP接收来自报文发送端的第一报文
102:根据报文结构从第一报文中获取第一筛选校验信息
103:检验第一筛选校验信息是否与第一报文的内容相匹配
104:确定第一报文未被篡改
105:确定第一报文已被篡改
201:将第一报文中除第一筛选校验信息之外的每一个字节转换为数字
202:对转换出的各个数字进行求和获得第一参考校验信息
203:判断第一参考校验信息是否与第一筛选校验信息相同
204:确定第一筛选校验信息与第一报文的内容匹配
205:确定第一筛选校验信息与第一报文的内容不匹配
301:根据报文结构从第一报文中获取第一报文序列信息
302:获取在预设时间段内接收到的来自报文发送端的各个报文的第二报文序列信息
303:判断是否存在与第一报文序列信息相同的第二报文序列信息
304:如果存在,确定与报文发送端之间的通信异常
401:获取待发送给报文发送端的第二目标数据
402:按照报文结构将第二目标数据转换为第二报文
403:通过用户数据报协议UDP将第二报文发送给报文发送端
501:根据报文结构生成对应于第二目标数据的报文头
502:将第二目标数据以及其报文头包括的每一个字节转换为数字
503:对转换出的各个数字进行求和获得第二筛选校验信息
504:根据报文结构将第二筛选校验信息添加到对应于第二目标数据的报文头中
505:将第二目标数据与添加第二筛选校验信息后的报文头进行组合,获得第二报文
601:主控PLC获取待发送给制造企业生产过程执行系统MES的目标数据
602:主控PLC生成对应于目标数据的报文头
603:主控PLC生成对应于目标数据的筛选校验信息
604:主控PLC将筛选校验信息添加到读英语目标数据的报文头中
605:主控PLC将对应于目标数据的报文头与目标数据组合为报文
606:通过用户数据报协议UDP将报文发送给制造企业生产过程执行系统MES
607:通过用户数据报协议UDP接收来自主控PLC的报文
608:制造企业生产过程执行系统MES从接收到的报文中回去筛选校验信息
609:制造企业生产过程执行系统MES根据报文的内容计算参考校验信息
610:制造企业生产过程执行系统MES判断参考校验信息是否与筛选校验信息相同
611:制造企业生产过程执行系统MES确定接收到的报文未被篡改
612:制造企业生产过程执行系统MES从报文中提取报文序列信息
613:判断预设时间段内主控PLC是否发送过包括相同报文序列信息的报文
614:制造企业生产过程执行系统MES确定与主控PLC的通信异常
615:制造企业生产过程执行系统MES确定与主控PLC的通信正常
616:制造企业生产过程执行系统MES确定接收到的报文已被篡改,发出报警信息
70:用户数据报协议通信装置 701:数据接收模块
702:第一提取模块 703:内容匹配模块 704:报文验证模块
705:第二提取模块 706:序列获取模块 707:序列比对模块
708:异常判断模块 709:数据获取模块 710:报文形成模块
711:数据发送模块 7031:第一转换单元 7032:第一求和单元
7033:信息对比单元 7034:匹配验证单元 7101:报文头生成单元
7102:第二转换单元 7103:第二求和单元 7104:校验信息添加单元
7105:报文组合单元 1201:存储器 1202:处理器
1301:制造企业生产过程执行系统MES 1302:主控PLC
具体实施方式
如前所述,采用用户数据报协议UDP方式虽然可以保证制造企业生产过程执行系统MES与主控PLC之间具有较快的通信速度,使得工站PLC的上报数据能够及时发送到制造企业生产过程执行系统MES,同时使得制造企业生产过程执行系统MES的控制数据能够及时发送到工站PLC,但是由于采用用户数据报协议UDP的通信方式在报文发送之后无法确定报文是否安全完整的送达,存在报文在传输过程中被篡改的风险,导致发送方所发送报文与接收方所接收报文不相同的情况,因此无法保证制造企业生产过程执行系统MES与主控PLC之间通信的安全性。
本发明实施例中,在主控PLC向制造企业生产过程执行系统MES发送报文时制造企业生产过程执行系统MES为报文接收端而主控PLC为报文发送端,在制造企业生产过程执行系统MES向主控PLC发送报文时主控PLC为报文接收端而制造企业生产过程执行系统MES为报文发送端,当报文接收端通过用户数据报协议UDP接收到来自报文发送端的第一报文后,报文接收端可以根据预先设定的报文结构从第一报文中获取第一筛选校验信息,之后报文接收端可以检验第一筛选校验信息与第一报文内容的匹配性,如果第一筛选校验信息与第一报文的内容相匹配则确定第一报文未被篡改,如果第一筛选校验信息与第一报文的内容不匹配则确定第一报文已被篡改。一方面,主控PLC与制造企业生产过程执行系统MES采用用户数据报协议UDP的方式进行通信保证了通信的快速性,另一方面,报文发送端会根据报文的内容在报文在添加筛选校验信息,报文接收端则可以根据报文所携带的筛选校验信息验证接收到的报文是否被篡改,保证了主控PLC与制造企业生产过程执行系统MES进行通信的安全性,综上两个方面保证了制造企业生产过程执行系统MES与主控PLC之间通信的快速性和安全性。
下面结合附图对本发明实施例提供的用户数据报协议通信方法、装置及系统进行详细说明。
如图1所示,本发明实施例提供了一种应用于报文接收端的用户数据报协议通信方法,该方法可以包括如下步骤:
步骤101:通过用户数据报协议UDP接收来自报文发送端的第一报文,其中,第一报文由报文发送端根据预先设定的报文结构对第一目标数据进行转换而形成;
步骤102:根据报文结构,从第一报文中获取第一筛选校验信息;
步骤103:检验第一筛选校验信息是否与第一报文的内容相匹配,如果是,执行步骤104,否则执行步骤105;
步骤104:确定第一报文未被篡改,并结束当前流程;
步骤105:确定第一报文已被篡改。
本发明实施例提供的应用于报文接收端的用户数据报协议通信方法,当报文接收端通过用户数据报协议UDP接收到来自报文发送端的第一报文后,报文接收端可以从第一报文中获取第一筛选校验信息,之后报文接收端可以判断获取到的第一筛选校验信息是否与第一报文的内容相匹配,以此确定第一报文是否被篡改,进而报文接收端可以根据第一报文的被篡改情况针对第一报文采取相对应的响应处理。由此可见,由于主控PLC与制造企业生产过程执行系统MES的通信是双向的,主控PLC为报文发送端时制造企业生产过程执行系统MES为报文接收端,主控PLC为报文接收端时制造企业生产过程执行系统MES为报文发送端,主控PLC与制造企业生产过程执行系统MES采用用户数据报协议UDP方式通信保证了通信的快速性,而报文接收端基于第一筛选校验信息验证报文内容是否被篡改保证了报文的安全性,从而在保证制造企业生产过程执行系统MES与主控PLC之间通信快速性的同时可以保证通信的安全性。
在本发明实施例中,第一目标数据为报文发送端需要发送给报文接收端的数据。
可选地,在图1所示用户数据报协议通信方法的基础上,步骤103检验获取到的第一筛选校验信息是否与第一报文的内容相匹配时,可以基于报文发送端生成第一报文中筛选校验信息的方式进行检验。具体地,如图2所示,检验第一筛选校验信息与第一报文内容的匹配性可以通过如下方式进行:
步骤201:针对第一报文中除第一筛选校验信息之外的每一个字节,按照预设的数字转换规则将该字节转换为数字;
步骤202:对转换出的各个数字进行求和,并将求和结果作为第一参考校验信息;
步骤203:判断第一参考校验信息是否与第一筛选校验信息相同,如果是,执行步骤204,否则执行步骤205;
步骤204:确定第一筛选校验信息与第一报文的内容匹配,并结束当前流程;
步骤205:确定第一筛选校验信息与第一报文的内容不匹配。
报文发送端与报文接收端预定约定了筛选校验信息的生成规则,报文发送端基于该生成规则根据第一报文的内容生成筛选校验信息,并将所生成的筛选校验信息添加到第一报文中,报文接收端基于该生成规则根据第一报文的内容重新生成第一参考校验信息,并通过将所生成的第一参考校验信息与第一报文所包括的第一筛选校验信息进行比对,以此来确定第一报文中传输过程中是否被篡改。
基于筛选校验信息的生成规则,报文接收端根据预先定义的数字转换规则将第一报文中除第一筛选校验信息之外的各个字节转换数字,之后将转换出的各个数字求和作为第一参考校验信息,由于报文发送端采用相同的生成规则生成第一报文中的筛选校验信息,因此通过将第一参考校验信息与第一报文中的第一筛选校验信息进行比对,可以确定报文发送端所发送第一报文的内容与报文接收端所接收第一报文的内容是否相同,进而可以判断第一报文在传输过程中是否被篡改。
将第一报文中除第一筛选校验信息之外的各个字节所对应的内容转换为相应的数字,之后将转换出的数字进行求和获得第一参考校验信息,使得第一参考校验信息与第一报文的全部内容相关,进而通过对比第一参考检验信息与第一筛选校验信息确定第一报文是否被篡改时可以覆盖第一报文的全部内容,当第一报文中的任一内容被篡改后均会导致第一参考校验信息与第一筛选校验信息不同,从而可以保证对报文安全性进行验证的准确性。
需要说明的是,上述各实施例所述的第一报文的内容以及第一报文的全部内容均不包括第一筛选校验信息,即第一报文可以包括两个部分,第一部分为第一报文的内容部分,第二部分为第一筛选校验信息,第一筛选校验信息根据第一报文的内容部分而形成。
另外需要说明的是,本发明实施例中预先定义的数字转换规则可以为计算机本身将字符内容转换为数字的规则,也可以是单独定义的转换规则,保证不同字符内容对应有不同的数字即可。另外,根据数字转换规则将字符内容转换为数字后,所转换出的数字为十进制数字。
可选地,在图1所示用户数据报协议通信方法的基础上,步骤104确定出第一报文未被篡改之后,可以进一步验证报文接收端是否重复对同一报文进行了多次接收,进而来确定报文发送端与报文接收端之间的通信是否出现异常。具体地,如图3所示,验证报文发送端与报文接收端之间通信异常与否可以通过如下方式进行:
步骤301:根据报文结构,从第一报文中获取第一报文序列信息,其中,第一报文序列信息用于对第一报文进行标识,且报文发送端在预设时间段内生成的不同报文对应有不同的报文序列信息;
步骤302:获取在预设时间段内接收到的来自报文发送端的各个报文所对应的第二报文序列信息;
步骤303:判断各个第二报文序列信息中是否存在与第一报文序列信息相同的第二报文序列信息;
步骤304:如果存在与第一报文序列信息相同的第二报文序列信息,确定与报文发送端之间的通信异常。
在预设的时间段内,同一个报文发送端向报文接收端所发送不同报文中包括有不同的报文序列信息,报文序列信息用于对报文进行标识。报文接收端接收到报文发送端所发送的第一报文后,首先报文接收端从接收到的第一报文中获取第一报文序列信息,之后报文接收端获取在预设时间段内接收到了来自同一报文发送端的各个报文所包括的第二报文序列信息,之后确定获取到的各个第二报文序列信息中是否包括有与第一报文序列信息相同的第二报文序列信息,如果存在则说明报文发送端重复发送了相同的第一报文,或者报文接收端重复接收了相同的第一报文,进而确定报文接收端与报文发送端之间的通信出现异常。
在本发明实施例中,如果报文发送端对同一个报文进行了多次发送,说明报文发送端在设定的等待时间内没有接收到报文接收端的响应,可能是由于报文接收端的响应报文丢失所致,从而说明报文发送端与报文接收端之间的通信异常。如果报文接收端对同一个报文进行了多次接收,说明报文接收端的报文接收逻辑出现问题,同样说明报文发送端与报文接收端之间的通信异常。
在本发明实施例中,预设时间段可以根据报文发送端与报文接收端之间进行通信的报文数量灵活确定,比如可以将预设时间段确定为24小时。
在本发明实施例中,报文发送端在预设时间段内向报文接收端发送的不同报文包括有不同的报文序列信息,报文接收端在接收到一个第一报文后,可以将第一报文包括的报文序列信息与预设时间段内接收到的其他报文包括的报文序列信息进行对比,确定在预设时间段内是否接收到包括有相同报文序列信息的至少两个报文,如果是则确定报文发送端与报文接收端之间的通信出现异常,当确定报文发送端与报文接收端之间的通信出现异常后报文接收端可以采取相应的对应措施,从而进一步提升了主控PLC与制造企业生产过程执行系统MES之间通信的安全性和可靠性。
可选地,在图1所示用户数据报协议通信方法的基础上,由于主控PLC与制造企业生产过程执行系统MES之间的通信是双向的,即主控PLC可以向制造企业生产过程执行系统MES发送报文,制造企业生产过程执行系统MES也可以向主控PLC发送报文,根据主控PLC与制造企业生产过程执行系统MES之间发送报文的方向不同,报文接收端既可以是主控PLC也可以是制造企业生产过程执行系统MES,因此报文接收端同时也可以向报文发送端发送报文。具体地,如图4所示,报文接收端向报文发送端发送报文可以通过如下方式进行:
步骤401:获取待发送给报文发送端的第二目标数据;
步骤402:按照报文结构将第二目标数据转换为第二报文,其中,第二报文包括有第二筛选校验信息,第二筛选校验信息根据第二报文的内容而形成;
步骤403:通过用户数据报协议UDP将第二报文发送给报文发送端。
当报文接收端需要将第二目标数据发送给报文发送端时,报文接收端按照对第一报文进行验证时所使用的报文结构将第二目标数据转换为第二报文,使得第二报文包括有根据第二报文的内容所形成的第二筛选校验信息,之后通过用户数据报协议UDP将转换出的第二报文发送给报文发送端。由于采用用户数据报协议UDP发送第二报文,保证了报文接收端与报文发送端之间通信的快速性,由于第二报文中包括有第二筛选校验信息,当报文发送端接收到第二报文后可以根据第二筛选校验信息确定第二报文是否被篡改,保证了报文接收端与报文发送端之间通信的安全性,从而可以保证主控PLC与制造企业生产过程执行系统MES之间进行通信的快速性和安全性。
需要说明的是,上述实施例中所述的第二报文的内容不包括第二筛选校验信息,即第二报文的内容是指发送给报文发送端的第二报文除去第二筛选校验信息后剩余的部分。
另外需要说明的是,本实施例叙述报文接收端向报文发送端发送第二报文,是为了在说明报文形成和报文验证时执行主体名称的一致,以更加清楚地说明报文的形成过程、对报文进行验证的过程以及主控PLC与制造企业生产过程执行系统MES之间的双向通信。在该通信方法的本质上,当报文接收端向报文发送端发送报文时,报文接收端执行的是报文发送端的处理逻辑,相同道理,当报文发送端接收报文接收端所发送的报文时,报文发送端执行的是报文接收端的处理逻辑。
可选地,在图4所示报文发送方法的基础上,步骤402按照报文结构将第二目标数据转换为第二报文时,可以首先生成对应于第二目标数据的报文头,之后将生成的报文头与第二目标数据进行组合而获得第二报文。具体地,如图5所示,将第二目标数据转换为第二报文可以通过如下方式进行:
步骤501:根据报文结构,生成对应于第二目标数据的报文头;
步骤502:根据预设的数字转换规则,将第二目标数据的每一个字节以及对应于第二目标数据的报文头包括的每一个字节转换为数字;
步骤503:对转换出的各个数字进行求和,获得对应于第二目标数据的第二筛选校验信息;
步骤504:根据报文结构,将第二筛选校验信息添加到对应于第二目标数据的报文头中;
步骤505:将第二目标数据与添加有第二筛选校验信息的对应于第二目标数据的报文头进行组合,获得第二报文。
在本发明实施例中,首先根据报文结构生成对应于第二目标数据的报文头,之后根据数字转换规则将第二目标数据以及所生成报文头中的各个字节转换为数字,之后对转换出的各个数字进行求和,将求和结果作为与第二目标数据相对应的第二筛选校验信息,之后按照报文结构将第二筛选校验信息添加到所生成的报文头中,之后将添加有第二筛选校验信息的报文头与第二目标数据进行组合,获得第二报文。由于第二报文中包括有第二筛选校验信息,当报文发送端接收到第二报文后,可以根据第二报文包括的第二筛选校验信息来确定第二报文是否被篡改,从而保证主控PLC与制造企业生产过程执行系统MES之间通信的安全性。
需要说明的是,由于在生成报文时获取筛选校验信息的方式与验证报文是否被篡改时获取筛选校验信息的方式相同,而验证报文是否被篡改时获取筛选校验信息的方式已经在上述图2所示实施例中进行了详细说明,再次不再赘述。
可选地,在上述各个实施例所提供用户数据报协议通信方法的基础上,预先定义的报文结构除了可以包括筛选校验信息字段和报文序列字段外,还可以包括报文名称、发送方、接收方、数据长度、确认代码、错误代码、工序信息、筛选2、载具号、功能、设备信息、工序信息、唯一标识、回复状态、订单号、订单状态、工件位置、数据总组数、字符型数组组数、浮点型数组组数和数据组等字段。另外,报文结构还定义了每一个字段的字符长度,数据组的字段长度可以根据主控PLC与制造企业生产过程执行系统MES之间所传输数据的长度确定,数据组字段为主控PLC与制造企业生产过程执行系统MES之前所传输的数据。具体可见如下表1所示的一种可选的报文结构。
表1
报文结构定义了多个字段对主控PLC与制造企业生产过程执行系统MES之间进行通信的报文进行描述,主控PLC或制造企业生产过程执行系统MES在接收到报文后可以对报文中各个字段对应的内容进行校验和核对,以验证所接收到报文的完整性和安全性,从而可以进一步保证主控PLC与制造企业生产过程执行系统MES之间进行通信的安全性。
下面以主控PLC向制造企业生产过程执行系统MES发送报文为例,即主控PLC为报文发送端且制造企业生产过程执行系统MES为报文接收端,对本发明实施例提供的用户数据报协议通信方法作进一步详细说明,如图6所示,该方法可以包括如下步骤:
步骤601:主控PLC获取待发送给制造企业生产过程执行系统MES的目标数据。
在本发明实施例中,在主控PLC控制自动化生产线上各个工站PLC的过程中,主控PLC接收各个工站PLC上传的上报数据,将接收到每一条上报数据作为一个目标数据。
步骤602:主控PLC生成对应于目标数据的报文头。
在本发明实施例中,主控PLC获取到待发送给制造企业生产过程执行系统MES的目标数据后,主控PLC根据预先设定的报文结构生成对应于目标数据的报文头,具体地,所生成的报文头可以包括上述表1中除筛选校验字段和数据组字段的各项内容。
步骤603:主控PLC生成对应于目标数据的筛选校验信息。
在本发明实施例中,主控PLC生成对应于目标数据的报文头后,按照预先设定的数字转换规则将报文头包括的每一个字节以及目标数据的每一个字节转换为相对应的数字,之后对转换出的各个数字进行求和,将求和结果作为对应于目标数据的筛选校验信息。
步骤604:主控PLC将筛选校验信息添加到对应于目标数据的报文头中。
在本发明实施例中,主控PLC生成对应于目标数据的筛选校验信息之后,根据报文结构将所生成的筛选校验信息添加到报文头中相对应的位置。具体地,如上表1所示,将所生成的筛选校验信息添加到筛选校验字段,即将所生成的筛选校验信息添加到报文头中报文序列与确认代码之间。
步骤605:主控PLC将对应于目标数据的报文头与目标数据组合为报文。
在本发明实施例中,主控PLC在将筛选校验信息添加到对应于目标数据的报文头中之后,将添加有筛选校验信息的报文头与目标数据进行组合,获得包括有目标数据的报文。具体地,如上表1所示,将目标数据作为报文头中的数据组字段与报文头进行组合,获得报文。
步骤606:主控PLC通过用户数据报协议UDP将报文发送给制造企业生产过程执行系统MES。
在本发明实施例中,主控PLC在获取到报文后,采用用户数据报协议UDP的方式将所获得的报文发送给制造企业生产过程执行系统MES。
步骤607:制造企业生产过程执行系统MES通过用户数据报协议UDP接收来自主控PLC的报文。
在本发明实施例中,制造企业生产过程执行系统MES实时接收主控PLC通过用户数据报协议UDP所发送的报文。
步骤608:制造企业生产过程执行系统MES从接收到的报文中获取筛选校验信息。
在本发明实施例中,在制造企业生产过程执行系统MES接收到来自主控PLC的报文后,制造企业生产过程执行系统MES根据报文结构从所接收到的报文中提取筛选校验信息。
步骤609:制造企业生产过程执行系统MES根据报文的内容计算参考校验信息。
在本发明实施例中,制造企业生产过程执行系统MES从报文中提取到筛选校验信息之后,制造企业生产过程执行系统MES按照数字转换规则将报文中除筛选校验信息之外的每一个字节转换为对应的数字,之后对转换出的各个数字进行求和,将求和结果作为参考校验信息。
步骤610:制造企业生产过程执行系统MES判断参考校验信息是否与筛选校验信息相同,如果是,执行步骤611,否则执行步骤616。
在本发明实施例中,制造企业生产过程执行系统MES将计算出的参考校验信息与提取出的筛选校验信息进行对比,如果参考校验信息与筛选校验信息相同,说明制造企业生产过程执行系统MES接收到的报文中的目标数据是主控PLC待发送的目标数据,相应地执行步骤611,如果参考校验信息与筛选校验信息不同,说明制造企业生产过程执行系统MES接收到的报文中的目标数据不是主控PLC待发送给制造企业生产过程执行系统MES的目标数据,相应地执行步骤616。
步骤611:制造企业生产过程执行系统MES确定接收到的报文未被篡改。
步骤612:制造企业生产过程执行系统MES从报文中提取报文序列信息。
在本发明实施例中,制造企业生产过程执行系统MES确定报文未被篡改之后,从报文中提取报文序列信息。具体地,如上表1所示,从报文中提取报文序列字段对应的内容作为报文序列信息。
步骤613:制造企业生产过程执行系统MES判断预设时间段内主控PLC是否发送过包括有相同报文序列信息的报文,如果是,执行步骤614,否则执行步骤615。
在本发明实施例中,制造企业生产过程执行系统MES从报文中提取到报文序列信息之后,制造企业生产过程执行系统MES遍历在预设时间段内来自主控PLC的所有报文,确定预设时间内主控PLC所发送的各个报文中是否存在报文包括的报文序列信息与提取到的报文序列信息相同,如果是,说明制造企业生产过程执行系统MES接收到的重复的报文,相应地执行步骤614,否则说明制造企业生产过程执行系统MES接收到了正常的报文,相应地执行步骤615。
步骤614:制造企业生产过程执行系统MES确定与主控PLC的通信异常,不对报文进行响应处理,并结束当前流程。
在本发明实施例中,当制造企业生产过程执行系统MES确定与主控PLC之间的通信异常后,制造企业生产过程执行系统MES不对所接收到的报文进行响应处理,并发出报警信息。
步骤615:制造企业生产过程执行系统MES确定与主控PLC的通信正常,对报文进行相应地响应处理,并结束当前流程。
在本发明实施例中,当制造企业生产过程执行系统MES确定与主控PLC之间的通信正常后,制造企业生产过程执行系统MES根据报文的内容执行相应对的响应处理。
步骤616:制造企业生产过程执行系统MES确定接收到的报文已被篡改,发出报警信息。
在本发明实施例中,当制造企业生产过程执行系统MES确定所接收到的报文已经被篡改之后,不对报文进行相应的响应处理,并发出响应的报警信息。
如图7所示,本发明一个所述提供了一种用户数据报协议通信装置70,应用于报文接收端,包括:
一个数据接收模块701,用于通过用户数据报协议UDP接收来自报文发送端的第一报文,其中,第一报文由报文发送端根据预先设定的报文结构对第一目标数据进行转换而形成;
一个第一提取模块702,用于根据报文结构,从数据接收模块701接收到的第一报文中提取第一筛选校验信息;
一个内容匹配模块703,用于检验第一提取模块702提取到的第一筛选校验信息是否与第一报文的内容相匹配;
一个报文验证模块704,用于根据内容匹配模块703的验证结果,如果第一筛选校验信息与第一报文的内容相匹配,确定第一报文未被篡改,否则确定第一报文已被篡改;
其中,
报文接收端为主控PLC且报文发送端为制造企业生产过程执行系统MES,或者报文接收端为制造企业生产过程执行系统MES且报文发送端为主控PLC。
在本发明实施例中,数据接收模块701可用于执行上述方法实施例中的步骤101,第一提取模块702可用于执行上述方法实施例中的步骤102,内容匹配模块703可用于执行上述方法实施例中的步骤103,报文验证模块704可用于执行上述方法实施例中的步骤104。
可选地,在图7所示用户数据报协议通信装置70的基础上,如图8所示,内容匹配模块703包括:
一个第一转换单元7031,用于针对第一报文中除第一筛选校验信息之外的每一个字节,按照预设的数字转换规则将该字节转换为数字;
一个第一求和单元7032,用于对第一转换单元7031转换出的各个数字求和,并将求和结果作为第一参考校验信息;
一个信息比对单元7033,用于判断第一求和单元7032计算出的第一参考校验信息是否与第一筛选校验信息相同;
一个匹配验证单元7034,用于根据信息比对单元7033的判断结果,如果第一参考校验信息与第一筛选校验信息相同,则确定第一筛选校验信息与第一报文的内容相匹配,否则确定第一筛选校验信息与第一报文的内容不匹配。
在本发明实施例中,第一转换单元7031可用于执行上述方法实施例中的步骤201,第一求和单元7032可用于执行上述方法实施例中的步骤202,信息比对单元7033可用于执行上述方法实施例中的步骤203,匹配验证单元7034可用于执行上述方法实施例中的步骤204和步骤205。
可选地,在图7所示用户数据报协议通信装置70的基础上,如图9所示,该用户数据报协议通信装置70可以进一步包括:
一个第二提取模块705,用于根据报文结构,从数据接收模块701接收到的第一报文中提取第一报文序列信息,其中,第一报文序列信息用于对第一报文进行标识,且报文发送端在预设时间段内生成的不同报文对应有不同的报文序列信息;
一个序列获取模块706,用于获取在预设时间段内接收到的来自报文发送端的各个报文所对应的第二报文序列信息;
一个序列比对模块707,用于判断序列获取模块706获取到的各个第二报文序列信息中是否存在与第二提取模块705提取到的第一报文序列信息相同的第二报文信息;
一个异常判断模块708,用于根据序列比对模块707的判断结果,如果各个第二报文序列信息中存在与第一报文序列信息相同的第二报文信息,确定与报文发送端的通信异常。
在本发明实施例中,第二提取模块705可用于执行上述方法实施例中的步骤301,序列获取模块706可用于执行上述方法实施例中的步骤302,序列比对模块707可用于执行上述方法实施例中的步骤303,异常判断模块708可用于执行上述方法实施例中的步骤304。
可选地,在图7至图9中任一附图所示用户数据报协议通信装置70的基础上,如图10所示,该用户数据报协议通信装置70可以进一步包括:
一个数据获取模块709,用于获取待发送给报文发送端的第二目标数据;
一个报文形成模块710,用于按照报文结构将数据获取模块709获取到的第二目标数据转换为第二报文,其中,第二报文包括有第二筛选校验信息,第二筛选校验信息根据第二报文的内容而形成;
一个数据发送模块711,用于通过用户数据报协议UDP将报文形成模块710转换出的第二报文发送给报文发送端。
在本发明实施例中,数据获取模块709可用于执行上述方法实施例中的步骤401,报文形成模块710可用于执行上述方法实施例中的步骤402,数据发送模块711可用于执行上述方法实施例中的步骤403。
可选地,在图10所示用户数据报协议通信装置70的基础上,如图11所示,报文形成模块710可以包括:
一个报文头生成单元7101,用于根据报文结构,生成对应于第二目标数据的报文头;
一个第二转换单元7102,用于根据预设的数字转换规则,将第二目标数据的每一个字节以及报文头生成单元7101生成的对应于第二目标数据的报文头包括的每一个字节转换为数字;
一个第二求和单元7103,用于对第二转换单元7102转换出的各个数字进行求和,获得对应于第二目标数据的第二筛选校验信息;
一个校验信息添加单元7104,用于根据报文结构,将第二求和单元7103计算出的第二筛选校验信息添加到报文头生成单元7101所生成的对应于第二目标数据的报文头中;
一个报文组合单元7105,用于将第二目标数据与校验信息添加单元7104添加第二筛选校验信息后的对应于第二目标数据的报文头进行组合,获得第二报文。
在本发明实施例中,报文头生成单元7101可用于执行上述方法实施例中的步骤501,第二转换单元7102可用于执行上述方法实施例中的步骤502,第二求和单元7103可用于执行上述方法实施例中的步骤503,校验信息添加单元7104可用于执行上述方法实施例中的步骤504,报文组合单元7105可用于执行上述方法实施例中的步骤505。
如图12所示,本发明一个实施例提供了一种用户数据报协议通信装置70,包括:至少一个存储器1201和至少一个处理器1202;
所述至少一个存储器1201,用于存储机器可读程序;
所述至少一个处理器1202,用于调用所述机器可读程序,执行上述各个实施例所提供的用户数据报协议通信方法。
如图13所示,本发明一个实施例提供了一种用户数据报协议通信系统,包括:一个制造企业生产过程执行系统MES1301和至少一个主控PLC1302,其中,
制造企业生产过程执行系统MES1301和主控PLC1302上均应用有上述任一实施例或任一实施例的可实现方式所提供的用户数据报协议通信装置70。
本发明还提供了一种计算机可读介质,存储用于使一计算机执行如本文所述的用户数据报协议通信方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
Claims (13)
1.用户数据报协议通信方法,应用于报文接收端,其特征在于,包括:
通过用户数据报协议UDP接收来自报文发送端的第一报文,其中,所述第一报文由所述报文发送端根据预先设定的报文结构对第一目标数据进行转换而形成;
根据所述报文结构,从所述第一报文中获取第一筛选校验信息;
检验所述第一筛选校验信息是否与所述第一报文的内容相匹配;
如果所述第一筛选校验信息与所述第一报文的内容相匹配,确定所述第一报文未被篡改,否则确定所述第一报文已被篡改;
其中,
所述报文接收端为主控PLC(1302)且所述报文发送端为制造企业生产过程执行系统MES(1301),或者所述报文接收端为所述制造企业生产过程执行系统MES(1301)且所述报文发送端为所述主控PLC(1302)。
2.根据权利要求1所述的方法,其特征在于,所述检验所述第一筛选校验信息是否与所述第一报文的内容相匹配,包括:
针对所述第一报文中除所述第一筛选校验信息之外的每一个字节,按照预设的数字转换规则将该字节转换为数字;
对转换出的各个所述数字求和,并将求和结果作为第一参考校验信息;
判断所述第一参考校验信息是否与所述第一筛选校验信息相同;
如果所述第一参考校验信息与所述第一筛选校验信息相同,则确定所述第一筛选校验信息与所述第一报文的内容相匹配;
如果所述第一参考校验信息与所述第一筛选校验信息不同,则确定所述第一筛选校验信息与所述第一报文的内容不匹配。
3.根据权利要求1所述的方法,其特征在于,在所述确定所述第一报文未被篡改之后,进一步包括:
根据所述报文结构,从所述第一报文中获取第一报文序列信息,其中,所述第一报文序列信息用于对所述第一报文进行标识,且所述报文发送端在预设时间段内生成的不同报文对应有不同的所述报文序列信息;
获取在所述预设时间段内接收到的来自所述报文发送端的各个报文所对应的第二报文序列信息;
判断各个所述第二报文序列信息中是否存在与所述第一报文序列信息相同的所述第二报文信息;
如果各个所述第二报文序列信息中存在与所述第一报文序列信息相同的所述第二报文信息,确定与所述报文发送端的通信异常。
4.根据权利要求1至3中任一所述的方法,其特征在于,进一步包括:
获取待发送给所述报文发送端的第二目标数据;
按照所述报文结构将所述第二目标数据转换为第二报文,其中,所述第二报文包括有第二筛选校验信息,所述第二筛选校验信息根据所述第二报文的内容而形成;
通过所述用户数据报协议UDP将所述第二报文发送给所述报文发送端。
5.根据权利要求4所述的方法,其特征在于,所述按照所述报文结构将所述第二目标数据转换为第二报文,包括:
根据所述报文结构,生成对应于所述第二目标数据的报文头;
根据预设的数字转换规则,将所述第二目标数据的每一个字节以及所述对应于所述第二目标数据的报文头包括的每一个字节转换为数字;
对转换出的各个所述数字进行求和,获得对应于所述第二目标数据的第二筛选校验信息;
根据所述报文结构,将所述第二筛选校验信息添加到所述对应于所述第二目标数据的报文头中;
将所述第二目标数据与添加有所述第二筛选校验信息的所述对应于所述第二目标数据的报文头进行组合,获得所述第二报文。
6.用户数据报协议通信装置(70),应用于报文接收端,其特征在于,包括:
一个数据接收模块(701),用于通过用户数据报协议UDP接收来自报文发送端的第一报文,其中,所述第一报文由所述报文发送端根据预先设定的报文结构对第一目标数据进行转换而形成;
一个第一提取模块(702),用于根据所述报文结构,从所述数据接收模块(701)接收到的所述第一报文中提取第一筛选校验信息;
一个内容匹配模块(703),用于检验所述第一提取模块(702)提取到的所述第一筛选校验信息是否与所述第一报文的内容相匹配;
一个报文验证模块(704),用于根据所述内容匹配模块(703)的验证结果,如果所述第一筛选校验信息与所述第一报文的内容相匹配,确定所述第一报文未被篡改,否则确定所述第一报文已被篡改;
其中,
所述报文接收端为主控PLC(1302)且所述报文发送端为制造企业生产过程执行系统MES(1301),或者所述报文接收端为所述制造企业生产过程执行系统MES(1301)且所述报文发送端为所述主控PLC(1302)。
7.根据权利要求6所述的装置,其特征在于,所述内容匹配模块(703)包括:
一个第一转换单元(7031),用于针对所述第一报文中除所述第一筛选校验信息之外的每一个字节,按照预设的数字转换规则将该字节转换为数字;
一个第一求和单元(7032),用于对所述第一转换单元(7031)转换出的各个所述数字求和,并将求和结果作为第一参考校验信息;
一个信息比对单元(7033),用于判断所述第一求和单元(7032)计算出的所述第一参考校验信息是否与所述第一筛选校验信息相同;
一个匹配验证单元(7034),用于根据所述信息比对单元(7033)的判断结果,如果所述第一参考校验信息与所述第一筛选校验信息相同,则确定所述第一筛选校验信息与所述第一报文的内容相匹配,否则确定所述第一筛选校验信息与所述第一报文的内容不匹配。
8.根据权利要求6所述的装置,其特征在于,进一步包括:
一个第二提取模块(705),用于根据所述报文结构,从所述数据接收模块接收到的所述第一报文中提取第一报文序列信息,其中,所述第一报文序列信息用于对所述第一报文进行标识,且所述报文发送端在预设时间段内生成的不同报文对应有不同的所述报文序列信息;
一个序列获取模块(706),用于获取在所述预设时间段内接收到的来自所述报文发送端的各个报文所对应的第二报文序列信息;
一个序列比对模块(707),用于判断所述序列获取模块(706)获取到的各个所述第二报文序列信息中是否存在与所述第二提取模块(705)提取到的所述第一报文序列信息相同的所述第二报文信息;
一个异常判断模块(708),用于根据所述序列比对模块(707)的判断结果,如果各个所述第二报文序列信息中存在与所述第一报文序列信息相同的所述第二报文信息,确定与所述报文发送端的通信异常。
9.根据权利要求6至8中任一所述的装置,其特征在于,进一步包括:
一个数据获取模块(709),用于获取待发送给所述报文发送端的第二目标数据;
一个报文形成模块(710),用于按照所述报文结构将所述数据获取模块(709)获取到的所述第二目标数据转换为第二报文,其中,所述第二报文包括有第二筛选校验信息,所述第二筛选校验信息根据所述第二报文的内容而形成;
一个数据发送模块(711),用于通过所述用户数据报协议UDP将所述报文形成模块(710)转换出的所述第二报文发送给所述报文发送端。
10.根据权利要求9所述的装置,其特征在于,所述报文形成模块(710)包括:
一个报文头生成单元(7101),用于根据所述报文结构,生成对应于所述第二目标数据的报文头;
一个第二转换单元(7102),用于根据预设的数字转换规则,将所述第二目标数据的每一个字节以及所述报文头生成单元(7101)生成的所述对应于所述第二目标数据的报文头包括的每一个字节转换为数字;
一个第二求和单元(7103),用于对所述第二转换单元(7102)转换出的各个所述数字进行求和,获得对应于所述第二目标数据的第二筛选校验信息;
一个校验信息添加单元(7104),用于根据所述报文结构,将所述第二求和单元(7103)计算出的所述第二筛选校验信息添加到所述报文头生成单元(7101)所生成的所述对应于所述第二目标数据的报文头中;
一个报文组合单元(7105),用于将所述第二目标数据与所述校验信息添加单元(7104)添加所述第二筛选校验信息后的所述对应于所述第二目标数据的报文头进行组合,获得所述第二报文。
11.用户数据报协议通信装置(70),其特征在于,包括:至少一个存储器(1201)和至少一个处理器(1202);
所述至少一个存储器(1201),用于存储机器可读程序;
所述至少一个处理器(1202),用于调用所述机器可读程序,执行权利要求1至5中任一所述的方法。
12.用户数据报协议通信系统,其特征在于,包括:一个制造企业生产过程执行系统MES(1301)和至少一个主控PLC(1302),其中,
所述制造企业生产过程执行系统MES(1301)应用有权利要求6至11中任一所述的用户数据报协议通信装置;
所述主控PLC(1302)应用有权利要求6至11中任一所述的用户数据报协议通信装置。
13.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910414759.7A CN110278191B (zh) | 2019-05-17 | 2019-05-17 | 用户数据报协议通信方法、装置、系统和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910414759.7A CN110278191B (zh) | 2019-05-17 | 2019-05-17 | 用户数据报协议通信方法、装置、系统和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110278191A true CN110278191A (zh) | 2019-09-24 |
CN110278191B CN110278191B (zh) | 2022-05-20 |
Family
ID=67960088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910414759.7A Active CN110278191B (zh) | 2019-05-17 | 2019-05-17 | 用户数据报协议通信方法、装置、系统和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110278191B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645175A (zh) * | 2020-04-27 | 2021-11-12 | 北京京东乾石科技有限公司 | 数据通信方法、装置、设备及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388570A (zh) * | 2008-07-08 | 2009-03-18 | 国电南瑞科技股份有限公司 | 变电站自动化系统数据流快速可靠交互方法 |
CN101980468A (zh) * | 2010-12-06 | 2011-02-23 | 南京恩瑞特实业有限公司 | 网络热备数据传输方法 |
KR20140090428A (ko) * | 2013-01-09 | 2014-07-17 | 피오링크 주식회사 | 모바일 단말에서의 최적화된 데이터 전송 장치 및 방법 |
CN106899606A (zh) * | 2017-03-16 | 2017-06-27 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN107261502A (zh) * | 2017-05-10 | 2017-10-20 | 珠海金山网络游戏科技有限公司 | 一种基于网络协议的在线游戏反外挂系统及方法 |
CN108270682A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种报文传输方法、终端、网络设备及通信系统 |
CN108616326A (zh) * | 2016-12-12 | 2018-10-02 | 中国航空工业集团公司西安航空计算技术研究所 | 基于udp的发动机大数据可靠传输方法 |
-
2019
- 2019-05-17 CN CN201910414759.7A patent/CN110278191B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388570A (zh) * | 2008-07-08 | 2009-03-18 | 国电南瑞科技股份有限公司 | 变电站自动化系统数据流快速可靠交互方法 |
CN101980468A (zh) * | 2010-12-06 | 2011-02-23 | 南京恩瑞特实业有限公司 | 网络热备数据传输方法 |
KR20140090428A (ko) * | 2013-01-09 | 2014-07-17 | 피오링크 주식회사 | 모바일 단말에서의 최적화된 데이터 전송 장치 및 방법 |
CN108616326A (zh) * | 2016-12-12 | 2018-10-02 | 中国航空工业集团公司西安航空计算技术研究所 | 基于udp的发动机大数据可靠传输方法 |
CN108270682A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种报文传输方法、终端、网络设备及通信系统 |
CN106899606A (zh) * | 2017-03-16 | 2017-06-27 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN107261502A (zh) * | 2017-05-10 | 2017-10-20 | 珠海金山网络游戏科技有限公司 | 一种基于网络协议的在线游戏反外挂系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645175A (zh) * | 2020-04-27 | 2021-11-12 | 北京京东乾石科技有限公司 | 数据通信方法、装置、设备及计算机可读存储介质 |
CN113645175B (zh) * | 2020-04-27 | 2023-08-08 | 北京京东乾石科技有限公司 | 数据通信方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110278191B (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101873339B (zh) | 灵活地将终端逻辑集成到各种平台 | |
CN108255725B (zh) | 测试方法及装置 | |
CN108965484A (zh) | 一种物联网数据的传输方法、系统及终端 | |
CN110830442A (zh) | 报文处理方法、装置及网关 | |
CN101854648A (zh) | 通信设备单板的测试方法、设备和测试系统 | |
US20160088499A1 (en) | Systems and methods to create message traffic | |
CN104080059A (zh) | 一种收发短信的实现方法、装置及系统 | |
US9684792B2 (en) | Critical data transmission architecture in avionics systems | |
JP2009182981A (ja) | セキュリティ関連データのパケット指向伝送のための方法および装置 | |
CN108429820A (zh) | 一种物联网应用层的通信方法、系统及终端设备 | |
CN104038490A (zh) | 一种通信安全校验方法及其装置 | |
CN110278191A (zh) | 用户数据报协议通信方法、装置、系统和计算机可读介质 | |
CN104809250B (zh) | 一种松散式数据一致性校验方法 | |
Thompson | Industrial data communications | |
CN109274636A (zh) | 数据安全传输方法及其装置、系统、列车 | |
CN102143010A (zh) | 检测报文被修改的方法、发送方设备和接收方设备 | |
CN108268420A (zh) | 处理器之间的通信方法、处理器和电子设备 | |
CN116996408A (zh) | 一种数据传输监控方法、装置、电子设备和存储介质 | |
CN116150816A (zh) | 一种基于哈希算法的文件签章完整性校验方法和装置 | |
CN113535318B (zh) | 一种信息回复方法、装置、存储介质及电子设备 | |
CN102316076A (zh) | 一种跨网络系统用户的识别方法、装置及系统 | |
CN110517045B (zh) | 区块链数据处理方法、装置、设备和存储介质 | |
US20130179537A1 (en) | Transmitting of configuration items within a network | |
CN114039883A (zh) | 一种代理的测试方法、装置、电子设备及存储介质 | |
CN107172165A (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 |