一种通信方法、通信系统及储物系统技术方案

技术编号:30160654 阅读:35 留言:0更新日期:2021-09-25 15:14
本发明专利技术提供了一种通信方法、通信系统及储物系统,涉及通信技术领域。其中,所述方法应用于通信系统中的通信模块,所述通信系统包括至少两个所述通信模块,所述通信模块之间为串口通信连接,所述方法包括:接收业务结束指令;所述业务结束指令指示一次业务的数据传输过程结束;响应于所述业务结束指令,对当前的波特率进行调整;调整后的波特率用于下一次业务的数据传输过程;其中,在同一次业务的数据传输过程中,不同的所述通信模块的波特率保持一致。在本发明专利技术实施例中,在每次业务的数据传输过程中可以采用不同的波特率,由于波特率是动态变化的,因此,提高了数据的破解难度,从而提高了串口通讯的数据安全性。高了串口通讯的数据安全性。高了串口通讯的数据安全性。

【技术实现步骤摘要】
一种通信方法、通信系统及储物系统


[0001]本专利技术涉及通信
,特别是涉及一种通信方法、通信系统及储物系统。

技术介绍

[0002]串口通信(Serial Communication),是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式,串口通信方式使用的数据线少,在远距离通信中可以节约通信成本。串口通信基于外设和计算机之间的通信协议,通过该通信协议即可控制外设或获取外设的数据。
[0003]现有的串口通信方式,可以通过串口监听软件,将外设与计算机之间的串口通信协议全部监听出来,从而容易被人抄袭、仿造串口通信协议,外设产品也很容易就被他人控制,数据极易被截取分析,导致数据安全性较低。

技术实现思路

[0004]本专利技术提供一种通信方法、通信系统及储物系统,以解决现有的串口通信方式数据安全性低的问题。
[0005]为了解决上述问题,本专利技术公开了一种通信方法,应用于通信系统中的通信模块,所述通信系统包括至少两个所述通信模块,所述通信模块之间为串口通信连接,所述方法包括:
[0006]接收业务结束指令;所述业务结束指令指示一次业务的数据传输过程结束;
[0007]响应于所述业务结束指令,对当前的波特率进行调整;调整后的波特率用于下一次业务的数据传输过程;
[0008]其中,在同一次业务的数据传输过程中,不同的所述通信模块的波特率保持一致。
[0009]可选地,所述接收业务结束指令,包括:
[0010]通过第一编程语言层接收业务结束指令;
[0011]所述响应于所述业务结束指令,对当前的波特率进行调整,包括:
[0012]响应于所述业务结束指令,调用第二编程语言层的第一函数;所述第一函数用于按照预存的波特率调整表,对当前的波特率进行调整;
[0013]其中,不同的所述通信模块中预存有相同的波特率调整表。
[0014]可选地,所述响应于所述业务结束指令,对当前的波特率进行调整之后,还包括:
[0015]在下一次业务开始时,将待发送的原始数据作为传入参数,通过第一编程语言层调用第二编程语言层的第二函数;所述第二函数用于对所述原始数据进行封装,得到数据消息;对所述数据消息进行封装,得到至少一个数据帧;通过所述调整后的波特率,将所述至少一个数据帧发送至相应的所述通信模块;所述至少一个数据帧中的第一个数据帧的起始位包括消息起始分隔符,所述至少一个数据帧中的最后一个数据帧的结束位包括消息结束分隔符。
[0016]可选地,所述响应于所述业务结束指令,对当前的波特率进行调整之后,还包括:
[0017]在下一次业务开始时,调用第二编程语言层的第三函数;所述第三函数用于通过所述调整后的波特率,接收通过所述串口通信连接发送的数据帧;当在所述数据帧的起始位中识别出消息起始分隔符,且在所述消息起始分隔符所在的数据帧或之后的数据帧的结束位中识别出消息结束分隔符时,将所述消息起始分隔符与所述消息结束分隔符之间的数据帧确定为一个完整数据消息对应的目标数据帧,并执行第一过程;所述第一过程包括:对所述目标数据帧进行解封装,得到数据消息;对所述数据消息进行解封装,得到所述原始数据;
[0018]执行第二过程;所述第二过程包括:将所述原始数据传递至第一编程语言层;根据所述原始数据,通过所述第一编程语言层进行相应的操作。
[0019]可选地,所述响应于所述业务结束指令,对当前的波特率进行调整之后,还包括:
[0020]在下一次业务开始时,将待发送的原始数据作为传入参数,通过第一编程语言层调用第二编程语言层的第四函数;所述第四函数用于对所述原始数据进行封装,得到数据消息;对所述数据消息进行封装,得到至少一个数据帧;通过所述调整后的波特率,将所述至少一个数据帧发送至相应的所述通信模块;所述数据消息包括消息头和消息体,所述消息头包括用于指示所述消息体的长度的目标字段。
[0021]可选地,所述响应于所述业务结束指令,对当前的波特率进行调整之后,还包括:
[0022]在下一次业务开始时,调用第二编程语言层的第五函数;所述第五函数用于通过所述调整后的波特率,接收通过所述串口通信连接发送的数据帧,并执行第三过程;所述第三过程包括:对接收的至少一个所述数据帧进行解封装,得到数据消息的消息头,以及所述数据消息的消息体;所述消息体满足所述目标字段所指示的长度;对所述数据消息进行解封装,得到所述原始数据;
[0023]执行第四过程;所述第四过程包括:将所述原始数据传递至第一编程语言层;根据所述原始数据,通过所述第一编程语言层进行相应的操作。
[0024]可选地,所述接收通过所述串口通信连接发送的数据帧,包括:
[0025]采用数据接收缓存数组接收通过所述串口通信连接发送的数据帧;
[0026]所述接收通过所述串口通信连接发送的数据帧之后,还包括:
[0027]将所述数据帧从所述数据接收缓存数组中读取至协议解析缓存数组;
[0028]从所述协议解析缓存数组中读取所述数据帧;
[0029]对读取出的所述数据帧执行协议解析操作;所述协议解析操作包括所述第一过程或所述第三过程;
[0030]将协议解析后得到的原始数据存入数据处理缓存数组;
[0031]从所述数据处理缓存数组中读取所述原始数据;
[0032]对读取出的所述原始数据执行处理操作;所述处理操作包括所述第二过程或所述第四过程。
[0033]可选地,所述至少两个通信模块包括主控制通信模块和至少一个从属通信模块,对于所述主控制通信模块,所述方法还包括:
[0034]接收密钥变更指令;
[0035]响应于所述密钥变更指令,根据所述主控制通信模块的硬件标识以及动态字符串,生成动态密钥并存储;
[0036]将所述动态密钥分别发送至每个所述从属通信模块,以使每个所述从属通信模块存储所述动态密钥。
[0037]可选地,所述对所述原始数据进行封装,得到数据消息,包括:
[0038]根据当前的动态密钥,对所述原始数据进行加密,得到数据密文;
[0039]对所述数据密文进行封装,得到数据消息。
[0040]可选地,所述对所述数据消息进行解封装,得到所述原始数据,包括:
[0041]对所述数据消息进行解封装,得到数据密文;
[0042]根据当前的动态密钥,对所述数据密文进行解密,得到所述原始数据。
[0043]可选地,所述第一编程语言层通过第一编程语言编写,所述第一编程语言为Java语言。
[0044]可选地,所述第二编程语言层通过第二编程语言编写,所述第二编程语言为C语言。
[0045]为了解决上述问题,本专利技术还公开了一种通信系统,包括至少两个通信模块,所述通信模块之间为串口通信连接;
[0046]所述通信模块,配置为接收业务结束指令;所述业务结束指令指示一次业务的数据传输过程结束;响应于所述业务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通信方法,其特征在于,应用于通信系统中的通信模块,所述通信系统包括至少两个所述通信模块,所述通信模块之间为串口通信连接,所述方法包括:接收业务结束指令;所述业务结束指令指示一次业务的数据传输过程结束;响应于所述业务结束指令,对当前的波特率进行调整;调整后的波特率用于下一次业务的数据传输过程;其中,在同一次业务的数据传输过程中,不同的所述通信模块的波特率保持一致。2.根据权利要求1所述的方法,其特征在于,所述接收业务结束指令,包括:通过第一编程语言层接收业务结束指令;所述响应于所述业务结束指令,对当前的波特率进行调整,包括:响应于所述业务结束指令,调用第二编程语言层的第一函数;所述第一函数用于按照预存的波特率调整表,对当前的波特率进行调整;其中,不同的所述通信模块中预存有相同的波特率调整表。3.根据权利要求1所述的方法,其特征在于,所述响应于所述业务结束指令,对当前的波特率进行调整之后,还包括:在下一次业务开始时,将待发送的原始数据作为传入参数,通过第一编程语言层调用第二编程语言层的第二函数;所述第二函数用于对所述原始数据进行封装,得到数据消息;对所述数据消息进行封装,得到至少一个数据帧;通过所述调整后的波特率,将所述至少一个数据帧发送至相应的所述通信模块;所述至少一个数据帧中的第一个数据帧的起始位包括消息起始分隔符,所述至少一个数据帧中的最后一个数据帧的结束位包括消息结束分隔符。4.根据权利要求3所述的方法,其特征在于,所述响应于所述业务结束指令,对当前的波特率进行调整之后,还包括:在下一次业务开始时,调用第二编程语言层的第三函数;所述第三函数用于通过所述调整后的波特率,接收通过所述串口通信连接发送的数据帧;当在所述数据帧的起始位中识别出消息起始分隔符,且在所述消息起始分隔符所在的数据帧或之后的数据帧的结束位中识别出消息结束分隔符时,将所述消息起始分隔符与所述消息结束分隔符之间的数据帧确定为一个完整数据消息对应的目标数据帧,并执行第一过程;所述第一过程包括:对所述目标数据帧进行解封装,得到数据消息;对所述数据消息进行解封装,得到所述原始数据;执行第二过程;所述第二过程包括:将所述原始数据传递至第一编程语言层;根据所述原始数据,通过所述第一编程语言层进行相应的操作。5.根据权利要求1所述的方法,其特征在于,所述响应于所述业务结束指令,对当前的波特率进行调整之后,还包括:在下一次业务开始时,将待发送的原始数据作为传入参数,通过第一编程语言层调用第二编程语言层的第四函数;所述第四函数用于对所述原始数据进行封装,得到数据消息;对所述数据消息进行封装,得到至少一个数据帧;通过所述调整后的波特率,将所述至少一个数据帧发送至相应的所述通信模块;所述数据消息包括消息头和消息体,所述消息头包括用于指示所述消息体的长度的目标字段。6.根据权利要求5所述的方法,其特征在于,所述响应于所述业务结束指令,对当前的波特率进行调整之后,还包括:
在下一次业务开始时,调用第二编程语言层的第五函数;所述第五函数用于通过所述调整后的波特率,接收通过所述串口通信连接发送的数据帧,并执行第三过程;所述第三过程包括:对接收的至少一个所述数据帧进行解封装,得到数据消息的消息头,以及所述数据消息的消息体;所述消息体满足所述目标字段所指示的长度;对所述数据消息进行解封装,得到所述原始数据;执行第四过程;所述第四过程包括:将所述原始数据传递至第一编程语言层;根据所述原始数据,通过所述第一编程语言层进行相应的操作。7.根据权利要求4或6所述的方法,其特征在于,所述接收通过所述串口通信连接发送的数据帧,包括:采用数据接收缓存数组接收通过所述串口通信连接发送的数据帧;所述接收通过所述串口通信连接发送的数据帧之后,还包括:将所述数据帧从所述数据接收缓存数组中读取至协议解析缓存数组;从所述协议解析缓存数组中读取所述数据帧;对读取出的所述数据帧执行协议解析操作;所述协议解析操作包括所述第一过程或所述第三过程;将协议解析后得到的原始数据存入数据处理缓存数组;从所述数据处理缓存数组中读...

【专利技术属性】
技术研发人员:杨永贵
申请(专利权)人:京东方科技集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1