发明内容
本发明实施例提供了一种信息的传输方法和装置,以至少解决在协议中设计专用于描述地址信息的字节降低了总线的通信效率的技术问题。
根据本发明实施例的一个方面,提供了一种信息的传输方法,包括:获取待传输数据的地址信息;根据所述地址信息生成所述第一校验信息用于在所述接收端与所述接收端生成的第二校验计算初始值结合,以验证所述接收端接收到的所述待传输数据是否正确,所述第二校验计算初始值为所述接收端根据发送端的地址信息和所述接收端的地址信息生成的校验计算初始值,其中,所述第一校验计算初始值用于根据预设规则计算得到所述待传输数据的第一校验信息;根据所述第一校验计算初始值和所述待传输数据生成所述第一校验信息;将所述待传输数据和所述第一校验信息发送给接收端,其中,所述第一校验信息用于在所述接收端与所述接收端生成的第二校验计算初始值结合,以验证所述接收端接收到的所述待传输数据是否正确,所述第二校验计算初始值为所述接收端根据发送端的地址信息和/或所述接收端的地址信息生成的。
进一步地,所述地址信息包括源地址和/或目的地址,其中,所述源地址为所述待传输数据的发送端地址,所述目的地址为所述待传输数据接收端地址。
进一步地,根据所述地址信息生成所述第一校验计算初始值包括:在所述目的地址和/或所述源地址位数不足以生成所述第一校验计算初始值的情况下,对所述目的地址和/或所述源地址进行补零,使用补零后的所述目的地址和/或所述源地址生成所述第一校验计算初始值。
进一步地,将所述待传输数据和所述第一校验信息发送给接收端包括:将所述待传输数据和所述第一校验信息封装为帧,其中,所述帧由节点、序号、所述待传输数据和所述第一校验信息组成;将所述帧发送给接收端。
进一步地,所述帧用于IO-BUS的主控制器和从站之间的数据传输。
进一步地,将所述待传输数据和所述第一校验信息发送给所述接收端之后,所述方法还包括:接收重传请求,其中,所述重传请求为所述接收端根据第一校验信息和所述第二校验计算信息验证接收到的所述待传输数据不正确时发出的;根据所述重传请求重新发送所述待传输数据。
根据本发明实施例的另一个方面,提供了另一种信息的传输方法,包括:接收发送端发送的待传输数据和第一校验信息,其中,所述发送端根据所述待传输数据的地址信息生成第一校验计算初始值,根据所述第一校验计算初始值和所述待传输数据生成所述第一校验信息;根据所述发送端的地址信息和/或本地的地址信息生成第二校验计算初始值;根据所述第二校验计算初始值与所述第一校验信息验证接收到的所述待传输数据是否正确。
进一步地,根据所述第二校验计算初始值与所述第一校验信息验证所述接收端接收到的所述待传输数据是否正确包括:根据所述第二校验计算初始值和所述待传输数据生成第二校验信息;比对所述第二校验信息与所述第一校验信息是否一致,得到比对结果,其中所述比对结果为一致时,接收到的所述待传输数据正确,所述比对结果为不一致时,接收到的所述待传输数据不正确。
进一步地,在比对所述第二校验信息与所述第一校验信息是否一致,得到比对结果之后,所述方法包括:如果所述比对结果为不一致,则向所述发送端发送重传请求,其中,所述重传请求用于请求所述发送端重新发送所述待传输数据。
根据本发明实施例的另一方面,还提供了一种信息的传输装置,包括:获取单元,用于获取待传输数据的地址信息;第一生成单元,用于根据所述地址信息生成第一校验计算初始值,其中,所述第一校验计算初始值用于根据预设规则计算得到所述待传输数据的第一校验信息;第二生成单元,用于根据所述第一校验计算初始值和所述待传输数据生成所述第一校验信息;发送单元,用于将所述待传输数据和所述第一校验信息发送给接收端,其中,所述第一校验信息用于在所述接收端与所述接收端生成的第二校验计算初始值结合,以验证所述接收端接收到的所述待传输数据是否正确,所述第二校验计算初始值为所述接收端根据发送端的地址信息和/或所述接收端的地址信息生成的。
根据本发明实施例的另一方面,还提供了一种信息的传输装置,包括:接收单元,用于接收发送端发送的待传输数据和第一校验信息,其中,所述发送端根据所述待传输数据的地址信息生成第一校验计算初始值,根据所述第一校验计算初始值和所述待传输数据生成所述第一校验信息;第三生成单元,用于根据所述发送端的地址信息和/或本地的地址信息生成第二校验计算初始值;验证单元,用于根据所述第二校验计算初始值与所述第一校验信息验证接收到的所述待传输数据是否正确。
在本发明实施例中,采用如下方式:获取待传输数据的地址信息;根据所述地址信息生成第一校验计算初始值,其中,所述第一校验计算初始值用于根据预设规则计算得到所述待传输数据的第一校验信息;根据所述第一校验计算初始值和所述待传输数据生成所述第一校验信息;将所述待传输数据和所述第一校验信息发送给接收端,其中,所述第一校验信息用于在所述接收端与所述接收端生成的第二校验计算初始值结合,以验证所述接收端接收到的所述待传输数据是否正确,所述第二校验计算初始值为所述接收端根据发送端的地址信息和/或所述接收端的地址信息生成的,通过上述方式将地址信息融合到校验信息的计算中,达到了减少传输的信息长度的目的,从而实现了降低总线系统用于安全的协议开销的技术效果,进而解决了在协议中设计专用于描述地址信息的字节降低了总线的通信效率的技术问题。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种信息的传输方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的信息的传输方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取待传输数据的地址信息;
步骤S104,根据地址信息生成第一校验计算初始值,其中,第一校验计算初始值用于根据预设规则计算得到待传输数据的第一校验信息;
步骤S106,根据第一校验计算初始值和待传输数据生成第一校验信息;
步骤S108,将待传输数据和第一校验信息发送给接收端,其中,其中,所述第一校验信息用于在所述接收端与所述接收端生成的第二校验计算初始值结合,以验证所述接收端接收到的所述待传输数据是否正确,所述第二校验计算初始值为所述接收端根据发送端的地址信息和/或所述接收端的地址信息生成的。
在本发明实施例中,发送端将待传输信息发送给接收端时,需要同时将待传输数据的校验信息发送给接收端,接收端根据校验信息对接收到的待传输信息进行校验,以验证传输信息的传输是否正确。具体地,接收端可以采用CRC(Cyclic Redundancy Check,循环冗余较验)方式,验证待传输数据的一致性。发送端根据待传输数据的地址信息生成第一校验计算初始值,进而根据预设规则计算得到待传输数据的第一校验信息,从而将待传输数据的地址信息与待传输数据的校验信息融合在一起,发送给接收端,接收端根据接收到的待传输数据和第一校验信息验证数据的一致性,得到校验结果,可选地,接收端可以按照与发送端的约定,根据发送端的地址信息和/或接收端的地址信息生成第二校验计算初始值,进而将第二校给初始值和第一校给信息结合,以验证接收到的待传输数据是否正确。由于将地址信息与待传输数据的校验信息融合在一起,因此,可以同时完成对地址信息的验证和对待传输数据的正确性的验证。
在本发明实施例中,采用如下方式:获取待传输数据的地址信息;根据所述地址信息生成第一校验计算初始值,其中,所述第一校验计算初始值用于根据预设规则计算得到所述待传输数据的第一校验信息;根据所述第一校验计算初始值和所述待传输数据生成所述第一校验信息;将所述待传输数据和所述第一校验信息发送给接收端,其中,所述第一校验信息用于在所述接收端与所述接收端生成的第二校验计算初始值结合,以验证所述接收端接收到的所述待传输数据是否正确,所述第二校验计算初始值为所述接收端根据发送端的地址信息和/或所述接收端的地址信息生成的,通过上述方式将地址信息融合到校验信息的计算中,达到了减少传输的信息长度的目的,从而实现了降低总线系统用于安全的协议开销的技术效果,进而解决了在协议中设计专用于描述地址信息的字节降低了总线的通信效率的技术问题。
可选地,地址信息包括源地址和/或目的地址,其中,源地址为待传输数据的发送端地址,目的地址为待传输数据接收端地址。
根据传输的需求,待传输数据的地址信息可以只包括源地址和目的地址的其中之一,也可以既包括源地址信息也包括目的地址信息,如果地址信息只包括源地址或者目的地址,则接收端相应地只对待传输数据的源地址或者目的地址进行校验,如果地址信息既包括源地址又包括目的地址,则接收端同时对源地址和目的地址进行校验。
可选地,根据地址信息生成第一校验计算初始值包括:在目的地址和/或源地址位数不足以生成第一校验计算初始值的情况下,对目的地址和/或源地址进行补零,使用补零后的目的地址和/或源地址生成第一校验计算初始值。
校验计算初始值的位数决定了接收端校验的能力,当目的地址和/或源地址位数较少,根据目的地址和/或源地址生成的校验计算初始值无法达到预设的校验能力时,在目的地址和/或源地址后补零,以增加校验计算初始值的位数,从而使得根据目的地址和/或源地址生成的校验计算初始值可以达到预设的校验能力。图2是根据现有技术的校验计算初始值及校验信息的示意图,如图2所示,现有技术中,校验计算初始值由多个0组成,并根据预设规则生成待传输数据的校验信息。图3是根据本发明实施例的校验信息初始值及校验信息的示意图,如图3所示,根据本发明实施例的信息的传输方法,发送端根据待传输数据的地址信息生成校验计算初始值,再按照预设规则生成待传输据的校验信息。待传输数据的地址信息位数较少时,根据待传输数据的地址信息生成的校验计算初始值的位数也校少,根据该校验计算初始值生成校验信息,可能无法达到预设的校验能力,为了使根据地址信息生成的校验计算初始值具有足够的位数,可以在目的地址和/或源地址后补零,以使根据目的地址和/或源地址生成的校验计算初始值可以达到预设的校验能力。
可选地,将待传输数据和第一校验信息发送给接收端包括:将待传输数据和第一校验信息封装为帧,其中,帧由节点、序号、待传输数据和第一校验信息组成;将帧发送给接收端。
作为本发明实施例的一种可选的实施方式,发送端将待传输数据和第一校验信封装为预定格式的帧,并将帧发送给接收端,其中,帧由节点、序号、待传输数据和第一校验信息组成。与采用固定的字节传输待传输数据的地址信息相比,发送上述帧需要的开销较少,从而具有较高的通信效率。图4是根据本发明实施例的发送端向接收端发送的帧格式与现有技术帧格式对比的示意图,如图4所示,现有技术中发送端向接收端发送的帧由节点、序号、目的地址、源地址、待传输数据和第一校验信息组成。而根据本发明实施例的信息的传输方法,发送端向接收端发送的帧仅由节点、序号、待传输数据和第一校验信息组成,待传输数据的目的地址和源地址不再占用固定的字节,从而减少了信息传输的长度,降低了数据传输的开销,提高了通信的效率。
可选地,帧用于IO-BUS的主控制器和从站之间的数据传输。
本发时实施例提供的信息的传输方法可以用于IO-BUS通信中,主控制器和从站之间的数据传输。如图5所示,主控制器与从站之前采用问答式的通信方式,其中,主控制器的地址为1,三个从站的地址分别为2、3、4。主控制器每次和一个从站进行通信。
可选地,将待传输数据和校验信息发送给接收端之后,方法还包括:接收重传请求,其中,重传请求为接收端根据第一校验信息和所述第二校验计算信息验证接收到的所述待传输数据不正确时发出的;根据重传请求重新发送待传输数据。
接收端在接收到发送端发送的待传输数据和校验信息之后,根据第一校验信息和第二校验计算信息对接收到的待传输数据进行验证,并在接收端验证出接收到的待传输数据不正确时,向发送端发送重传请求,发送端根据接收到的重传请求,向接收端重新发送待传输数据,直到接收端验证接收到的待传输数据正确为止。
根据本发明实施例,还提供了另一种信息的传输方法的实施例,图6是根据本发明实施例的另一种可选的信息的传输方法的流程图,如图6所示,该方法包括如下步骤:
步骤S602,接收发送端发送的待传输数据和第一校验信息,其中,发送端根据待传输数据的地址信息生成第一校验计算初始值,根据第一校验计算初始值和待传输数据生成第一校验信息;
步骤S604,根据所述发送端的地址信息和/或本地的地址信息生成第二校验计算初始值;
步骤S606,根据所述第二校验计算初始值与所述第一校验信息验证接收到的所述待传输数据是否正确。
在本发明实施例中,发送端将待传输信息发送给接收端时,需要同时将待传输数据的校验信息发送给接收端,接收端根据校验信息对接收到的待传输信息进行校验,以验证传输信息的传输是否正确。具体地,接收端可以采用CRC(Cyclic Redundancy Check,循环冗余较验)方式,验证待传输数据的一致性。发送端根据待传输数据的地址信息生成第一校验计算初始值,进而根据预设规则计算得到待传输数据的第一校验信息,从而将待传输数据的地址信息与待传输数据的校验信息融合在一起,发送给接收端,可选地,接收端可以根据接收到的待传输数据和第一校验信息验证数据的一致性。可选地,接收端可以按照与发送端的约定,根据发送端的地址信息和/或接收端的地址信息生成第二校验计算初始值,进而将第二校给初始值和第一校给信息结合,以验证接收到的待传输数据是否正确。由于将地址信息与待传输数据的校验信息融合在一起,因此,可以同时完成对地址信息和待传输数据的正确性。需要说明的是,接收端生成第二校验计算初始值的方法与发送端生成第一校验计算初始值的方法是相同的,并且生成第二校验计算初始值时所采用的地址信息与发送端一致,具体地,如果发送端根据源地址信息生成第一校验初始值,则接收端根据发送端的地址信息生成第二校验计算初始值;如果发送端根据目的地址信息生成第一校验计算初始值,则接收端根据接收端本地的地址信息生成第二校验计算初始值;如果发送端根据源地址信息和目的地址信息生成第一校验计算初始值,则接收端根据发送端的地址信息和接收端的地址信息生成第二校验计算初始值。
在本发明实施例中,采用接收发送端发送的待传输数据和第一校验信息,其中,所述发送端根据所述待传输数据的地址信息生成第一校验计算初始值,根据所述第一校验计算初始值和所述待传输数据生成所述第一校验信息;根据所述发送端的地址信息和/或本地的地址信息生成第二校验计算初始值;根据所述第二校验计算初始值与所述第一校验信息验证接收到的所述待传输数据是否正确的方式,通过将地址信息融合到校验信息的计算中,达到了减少传输的信息长度的目的,从而实现了降低总线系统用于安全的协议开销的技术效果,进而解决了在协议中设计专用于描述地址信息的字节降低了总线的通信效率的技术问题。
可选地,根据所述第二校验计算初始值与所述第一校验信息验证所述接收端接收到的所述待传输数据是否正确包括:根据所述第二校验计算初始值和所述待传输数据生成第二校验信息;比对所述第二校验信息与所述第一校验信息是否一致,得到比对结果,其中所述比对结果为一致时,接收到的所述待传输数据正确,所述比对结果为不一致时,接收到的所述待传输数据不正确。
在本发明实施例中,接收端按照预设的规则根据第二校验计算初始值和接收到的待传输数据生成第二校验信息,生成第二校验信息的预设规则与发送端生成第一校验信息的规则相同,接收端将生成的第二校验信息与第一校验信息进行比对,如果对比结果一致,则接收到的待传输数据是正确的,如果比对结果不一致,则接收到的待传输数据是不正确的,可选地,可能是待传输数据在传输过程中出现了误码,也可能是发送或者接收的地址出错。
可选地,在比对所述第二校验信息与所述第一校验信息是否一致,得到比对结果之后,方法包括:如果所述比对结果为不一致,则向发送端发送重传请求,其中,重传请求用于请求发送端重新发送待传输数据。
接收端在比对出第二校验信息和第一校验信息不一致,从而判断出接收到的待传输数据不正确之后,可以向发送端发送重传请求,发送端根据接收到的重传请求,向接收端重新发送待传输数据,接收端再次验证接收到的待传输数据是否正确,直到接收端判断接收到的待传输数据正确为止。
根据本发明实施例,还提供了一种信息的传输装置的实施例,图7是根据本发明实施例的一种可选的信息的传输装置的示意图,如图7所示,该装置包括:
获取单元710,用于获取待传输数据的地址信息;
第一生成单元720,用于根据地址信息生成第一校验计算初始值,其中,第一校验计算初始值用于根据预设规则计算得到待传输数据的第一校验信息;
第二生成单元730,用于根据第一校验计算初始值和待传输数据生成第一校验信息;
发送单元740,用于将待传输数据和第一校验信息发送给接收端,其中,所述第一校验信息用于在所述接收端与所述接收端生成的第二校验计算初始值结合,以验证所述接收端接收到的所述待传输数据是否正确,所述第二校验计算初始值为所述接收端根据发送端的地址信息和/或所述接收端的地址信息生成的。
在本发明实施例中,发送端将待传输信息发送给接收端时,需要同时将待传输数据的校验信息发送给接收端,接收端根据校验信息对接收到的待传输信息进行校验,以验证传输信息的传输是否正确。具体地,接收端可以采用CRC(Cyclic Redundancy Check,循环冗余较验)方式,验证待传输数据的一致性。第一生成单元720根据待传输数据的地址信息生成校验计算初始值,进而第二生成单元730根据预设规则计算得到待传输数据的校验信息,从而将待传输数据的地址信息与待传输数据的校验信息融合在一起,由发送单元740将待传输数据和校验信息发送给接收端,接收端根据接收到的待传输数据和校验信息验证数据的一致性,得到校验结果,可选地,接收端可以按照与发送端的约定,根据发送端的地址信息和/或接收端的地址信息生成第二校验计算初始值,进而将第二校给初始值和第一校给信息结合,以验证接收到的待传输数据是否正确。由于将地址信息与待传输数据的校验信息融合在一起,因此,可以同时完成对地址信息和待传输数据的正确性。
在本发明实施例中,采用如下方式:获取待传输数据的地址信息;根据所述地址信息生成第一校验计算初始值,其中,所述第一校验计算初始值用于根据预设规则计算得到所述待传输数据的第一校验信息;根据所述第一校验计算初始值和所述待传输数据生成所述第一校验信息;将所述待传输数据和所述第一校验信息发送给接收端,其中,所述第一校验信息用于在所述接收端与所述接收端生成的第二校验计算初始值结合,以验证所述接收端接收到的所述待传输数据是否正确,所述第二校验计算初始值为所述接收端根据发送端的地址信息和/或所述接收端的地址信息生成的,通过上述方式将地址信息融合到校验信息的计算中,达到了减少传输的信息长度的目的,从而实现了降低总线系统用于安全的协议开销的技术效果,进而解决了在协议中设计专用于描述地址信息的字节降低了总线的通信效率的技术问题。
根据本发明实施例,还提供了另一种信息的传输装置的实施例,图8是根据本发明实施例的另一种可选的信息的传输装置的示意图,如图8所示,该装置包括:
接收单元810,用于接收发送端发送的待传输数据和第一校验信息,其中,发送端根据待传输数据的地址信息生成第一校验计算初始值,根据第一校验计算初始值和待传输数据生成第一校验信息;
第三生成单元820,用于根据所述发送端的地址信息和/或本地的地址信息生成第二校验计算初始值;
验证单元830,用于根据所述第二校验计算初始值与所述第一校验信息验证接收到的所述待传输数据是否正确。
在本发明实施例中,发送端将待传输信息发送给接收端时,需要同时将待传输数据的校验信息发送给接收端,接收端根据校验信息对接收到的待传输信息进行校验,以验证传输信息的传输是否正确。具体地,接收端可以采用CRC(Cyclic Redundancy Check,循环冗余较验)方式,验证待传输数据的一致性。发送端根据待传输数据的地址信息生成校验计算初始值,进而根据预设规则计算得到待传输数据的校验信息,从而将待传输数据的地址信息与待传输数据的校验信息融合在一起,发送给接收端。接收单元810接收待传输数据和校验信息,第三生成单元820按照与发送端的约定,根据发送端的地址信息和/或接收端的地址信息生成第二校验计算初始值。进而验证单元830将第二校给初始值和第一校给信息结合,并验证接收到的待传输数据是否正确。由于将地址信息与待传输数据的校验信息融合在一起,因此,可以同时完成对地址信息和待传输数据的正确性。
在本发明实施例中,采用接收单元810,用于接收发送端发送的待传输数据和第一校验信息,其中,发送端根据待传输数据的地址信息生成第一校验计算初始值,根据第一校验计算初始值和待传输数据生成第一校验信息;第三生成单元820,用于根据所述发送端的地址信息和/或本地的地址信息生成第二校验计算初始值;验证单元830,用于根据所述第二校验计算初始值与所述第一校验信息验证接收到的所述待传输数据是否正确的方式,通过将地址信息融合到校验信息的计算中,达到了减少传输的信息长度的目的,从而实现了降低总线系统用于安全的协议开销的技术效果,进而解决了在协议中设计专用于描述地址信息的字节降低了总线的通信效率的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。