串口通讯协议问题,怎么保证数据有效

有两个设备要通过485通讯。甲和乙,双方约定了数据定义。01,02开头中间4位数据,03,04结尾。一次8个字节。
假如中间来个干扰,或者一方上电工作时,另一方正好发送了一半的数据。 这时候接收到无效(错误)数据的一方,怎么判断这个数据是否有效,怎么进行下一步的通讯呢。
比如想要发送01,02,03,04;那么甲就发送01,02+01,02,03,04+03,04;
但是乙上电时错过了前两位。只接收到,01,02,03,04+03,04; 此时,乙需要怎么处理。
实际应用中,这种双方通讯都是怎么解决的呀。

奇偶检验可以解决,数据中需要有检验码,有些协议都写好了直接用

先要约定请求开始符号, 数据开始符 和结束符,以及回应符,错误回应符号。比如ENQ 05 请求开发发送数据。STX 02 数据开始 ,ETX 03 结束。ACK 06 为正确回应。NAK 21 为收到错误数据回应 。
只要未收到开始符号02 或者未收到ENQ05 ,就约定回应 NAK
收到结束符号 停止回复或者回复ACK。
建议你参考ASTM协议。