本申请实施例涉及通信领域,具体涉及一种主从通信方法和装置。
背景技术:
随着电子产品的多元化发展,电子产品的功能不断增加,对硬件系统提出了更高的要求。目前的电子产品中,常常需要安装多个微处理器配合,进行更多扩展性的操作。
在多个微处理器的通讯过程中,处理器通常分为主处理器和从处理器,也称为主机和从机。主机和从机之间存在同步数据交互和异步数据交互两种通讯方式。同步数据交互,指的是在主机需要向从机发送指令或数据时,发送一个同步数据包,而从机接收到同步数据包后进行分析以及做出相应动作,而此时主机不动作,等待从机快速返回一个回包,主机在接收从机的回包后,才会发送下一个同步数据包。如果对于主机下达的指令,从机需要一段时间才能回复处理结果,从机会在一段时间后将处理结果以异步数据包的形式发送到主机;如果从机需要主动向从机发送某些数据,从机也会主动以异步数据包的形式发送到主机,主机不能确定从机何时发送异步数据包。
现有机制中,主机向从机发送同步数据包时,从机也会快速返回一个同步数据包的回包。如果从机在主机发送同步数据包后立即发送异步数据包,然后发送同步数据包的回包,会导致主机会无法确认接收的数据包是否为异步数据包,对数据包校验出错,导致需要双方重新发送数据包,影响了主从间的正常通信。
技术实现要素:
本申请实施例提供了一种主从通信方法,可以克服主从通信中数据包校验出错而需要重发的问题。
本申请第一方面提供了一种主从通信方法,应用于主机,包括:
主机确定发送同步数据包的第一预设时间间隔;
所述主机按照所述第一预设时间间隔向从机发送同步数据包;
所述主机接收所述从机发送的所述同步数据包的回包;
所述主机在接收到所述从机发送的所述同步数据包的回包后,检测在第二预设时间间隔内是否接收到所述从机发送的新的数据包,其中所述第二预设时间间隔小于所述第一预设时间间隔;
若主机在所述第二预设时间间隔内接收到新的数据包,则确定所述新的数据包为异步数据包。基于第一方面,本申请实施例还提供了第一方面的第一种实施方式:
本方法还包括:
所述主机统计所述待发送的同步数据包的数量;
所述主机根据所述待发送的同步数据包的数量,判断是否需要缩短所述第一预设时间间隔;
若需要,所述主机根据所述待发送的同步数据包的数量修改所述第一预设时间间隔。
基于第一方面,或第一方面的第一种实施方式,本申请实施例还提供了第一方面的第二种实施方式:
本方法还包括:
所述主机接收所述从机发送的修改请求,所述修改请求是所述从机监测到待发送的异步数据包数据量变化情况满足预设条件时生成的;
所述主机根据所述修改请求,修改所述第一预设时间间隔。
基于第一方面,或第一方面的第一种实施方式,本申请实施例还提供了第一方面的第三种实施方式,:
本方法还包括:
所述主机接收所述从机发送的待发送的异步数据包的数量信息;
所述主机根据所述待发送的异步数据包的数量,判断是否需要缩短所述第一预设时间间隔;
若需要,所述主机根据所述待发送的异步数据包的数量修改所述第一预设时间间隔。
基于第一方面,或第一方面的第一种实施方式,或第一方面的第二种实施方式,本申请实施例还提供了第一方面的第三种实施方式:
本方法还包括:
所述主机向所述从机发送所述异步数据包的回包,所述异步数据包的回包用于告知所述从机所述异步数据包发送成功。
本申请第二方面提供了一种主从通信方法,应用于从机,包括:
从机获取待发送的异步数据包;
所述从机接收主机发送的同步数据包;
所述从机按照第一预设时间间隔向主机发送所述同步数据包的回包;
所述从机在发送所述同步数据包的回包后的第二预设时间间隔内向所述主机发送所述异步数据包。
基于第二方面,本申请实施例还提供了第二方面的第一种实施方式:
在所述从机发送所述回包后,本方法还包括:
所述从机获取第一预设时间间隔;
所述从机统计所述待发送的异步数据包的数量;
所述从机根据所述待发送的异步数据包的数量,判断是否需要缩短所述第一预设时间间隔;
若需要;所述从机向所述主机发送修改请求,所述修改请求用于修改所述第一预设时间间隔。
基于第二方面,或第二方面的第一种实施方式,本申请实施例还提供了第二方面的第二种实施方式:
本方法还包括:
所述从机统计所述待发送的异步数据包的数量;
所述从机发送所述待发送的异步数据包的数量信息到主机,以使得所述主机根据所述待发送的异步数据包的数量信息修改所述第一时间间隔。
基于第二方面,或第二方面的第一种实施方式,或第二方面的第二种实施方式,本申请实施例还提供了第二方面的第三种实施方式:
在所述从机向所述主机发送所述异步数据包后,本方法还包括:
所述从机接收所述主机发送的所述异步数据包的回包;
所述从机确认所述异步数据包发送成功。
本申请第三方面还提供了一种主机,包括:
确定单元,用于确定发送同步数据包的第一预设时间间隔;
发送单元,用于按照所述第一预设时间间隔向从机发送同步数据包;
接收单元所述主机接收所述从机发送的所述同步数据包的回包;
所述发送单元还用于在接收到所述从机发送的所述同步数据包的回包后,检测在第二预设时间间隔内是否接收到所述从机发送的新的数据包,其中所述第二预设时间间隔小于所述第一预设时间间隔;
所述确定单元还用于在主机在所述第二预设时间间隔内接收到新的数据包时,确定所述新的数据包为异步数据包。
基于本申请第三方面,在本申请第三方面的第一种实施方式中,所述主机还包括:
统计单元,用于统计待发送的同步数据包数量;
判断单元,用于根据所述待发送的同步数据包的数量,判断是否需要缩短所述第一预设时间间隔;
修改单元,用于根据所述待发送的同步数据包的数量修改所述第一预设时间间隔。
优选的,所述接收单元还用于接收所述从机发送的修改请求,所述修改请求是所述从机监测到待发送的异步数据包数据量变化情况满足预设条件时生成的;
所述主机还包括修改单元,用于根据所述修改请求,修改所述第一预设时间间隔。
优选的,所述接收单元还用于接收所述从机发送的待发送的异步数据包的数量信息;
所述主机还包括判断单元,用于根据所述待发送的异步数据包的数量,判断是否需要缩短所述第一预设时间间隔;
修改单元,用于在所述判断单元端为是时,根据所述待发送的异步数据包的数量修改所述第一预设时间间隔。
优选的,所述发送单元还用于向所述从机发送所述异步数据包的回包,所述异步数据包的回包用于告知所述从机所述异步数据包发送成功。
本申请第四方面还提供了一种从机,包括:
获取单元,用于获取待发送的异步数据包;
接收单元,用于接收主机发送的同步数据包;
发送单元,用于按照第一预设时间间隔向主机发送所述同步数据包的回包;
所述发送单元还用于,在发送所述同步数据包的回包后的第二预设时间间隔内,向所述主机发送所述异步数据包。
优选的,所述获取单元还用于获取第一预设时间间隔;
所述从机还包括统计单元,用于统计所述待发送的异步数据包的数量;
所述从机还包括判断单元,用于根据所述待发送的异步数据包的数量,判断是否需要缩短所述第一预设时间间隔;
所述发送单元还用于在所述判断单元判断为是时,向所述主机发送修改请求,所述修改请求用于修改所述第一预设时间间隔。
优选的,所述接收单元还用于所述从机接收所述主机发送的所述异步数据包的回包;
所述从机还包括确认单元,用于确认所述异步数据包发送成功。
优选的,所述从机还包括统计单元,用于统计所述待发送的异步数据包的数量;
所述发送单元还用于发送所述待发送的异步数据包的数量信息到主机,以使得所述主机根据所述待发送的异步数据包的数量信息修改所述第一预设时间间隔。
从以上技术方案可以看出,本申请实施例具有以下优点:从机产生事件、需要发送异步数据包时,从机先保留该数据包不发送,从机在发送了同步数据包的回包后再发送异步数据包,避免了主机在发送同步数据包后先接受从机发送的异步数据包的情况发生,主机可以根据接收数据包时机清楚地分辨正在接收的数据包是否为异步数据包,提高了主从设备之间数据传输的稳定性。
附图说明
图1为主从通信的网络框架示意图;
图2为本申请实施例主从通信方法一个实施例示意图;
图3为本申请实施例主从通信方法一个实施例示意图;
图4为本申请实施例主从通信方法一个实施例示意图;
图5为本申请实施例主从通信方法一个实施例示意图;
图6为本申请实施例主从通信方法一个实施例示意图;
图7为本申请实施例主从通信方法一个实施例示意图;
图8为本申请实施例主从通信方法一个实施例示意图;
图9为本申请实施例主从通信方法一个实施例示意图;
图10为本申请实施例主从通信方法一个实施例示意图;
图11为本申请实施例主机一个的实施例示意图;
图12为本申请实施例从机一个的实施例示意图。
具体实施方式
本申请实施例提供了主从通信方法和装置,并提出了同步序列对的概念。一个同步序列对至少包括主机发送一个同步数据包,从机发送一个同步数据包的回包。如果存在异步数据包的话,一个同步序列对还会包括从机发送的一个异步数据包。从主机开始发送一个同步数据包开始,直至主机发送下一个同步数据包之前截止,定义为一个同步序列对的周期,该周期与主机发送同步数据包的发送间隔相同。本申请实施例的方案中,主机与从机通过一个个同步序列对进行通讯,在每个同步序列对的周期中,从机总会在发送同步数据包的回包到主机后,才发送异步数据包,使得主机可以准确分辨出异步数据包。
本申请实施例可应用于如图1所示的主从通信环境中,该环境下,主机和从机可能分别为单独的装置,也可能是同一装置中不同的微处理器,主机可以与一个或多个从机相连。主机与从机的连接方式通常可以是通过实体线路连接,也可以通过无线通信的方法连接。主机向从机发送指令和数据的方式是,定期向从机发送同步数据包。从机向主机发送的数据包既有同步数据包,也可能有异步数据包。
具体地,在如图2所示,本申请实施例的主从通信方法包括:
201、从机获取待发送的异步数据包;
从机获取一个或多个异步数据包,暂时保存在内存或其他存储器中,等待发送。从机向主机发送的异步数据包可能是主机对之前的同步数据包的处理结果,也可能是从机新产生了事件,需要主机主动向从机汇报。从机产生异步数据包暂时不发送,而是保存起来,直到接收同步数据包后才获取并发送出异步数据包。
202、主机确定发送同步数据包的第一预设时间间隔;
主机设定一个初始的第一预设时间间隔,作为一个完整同步序列对的周期。由主机决定每次发送同步数据包的发送间隔,作为一个同步序列对的周期。在每一个同步序列对中,主机只发送一个同步数据包,并最多接收一个异步数据包,主机发送的每个同步数据包间隔时间相同,在本实施例中,暂以50ms作为第一预设时间间隔为例,对本方案进行说明。
203、主机按照第一预设时间间隔向从机发送同步数据包;
主机按50ms的第一预设时间间隔,每经过50ms,主机就向从机发送一个同步数据包,并等待从机回复,从机接收该同步数据包。
204、从机按照第一预设时间间隔向主机发送同步数据包的回包;
在一个同步序列对的周期中,从机接收到一个主机发送的同步数据包后,对应地回复一个同步数据包的回包至主机。其中从机回复的每个回包间隔与主机发送同步数据包的间隔相对应,同样为50ms。
205、从机在发送同步数据包的回包后的第二预设时间间隔内向主机发送异步数据包;
在一个同步序列对的周期中,从机在发送了同步数据包的回包后,紧接着同步数据包的回包,会发送一个异步数据包。该异步数据包与同步数据包的回包发送间隔小于第二预设时间间隔。第二预设时间间隔至少应当小于第一预设时间间隔,但是通常第二预设时间间隔相比于第一预设时间间隔要小的多,可以设定第二预设时间间隔为5ms。
206、主机在接收到从机发送的同步数据包的回包后,检测在第二预设时间间隔内是否接收到从机发送的新的数据包;
当前方式下,如果从机发送了异步数据包,主机仅会在一个同步序列对中接收从机的同步数据包的回包后才收到异步数据包。且从机在一个同步序列对中,发送的同步数据包的回包和异步数据包之间的间隔是小于5ms的。因此在主机接收到从机发送的同步数据包的回包后增加检测功能,检测在接收到从机发送的同步数据包的回包后的预设时间间隔内是否收到新的数据包,来分辨同步或异步数据包。其中,主机检测设置的检测窗口时间大小参照第二预设时间间隔,为5ms。
207、若主机在第二预设时间间隔内接收到新的数据包,则确定新的数据包为异步数据包。
如果从机确实发送了异步数据包,那么主机在接收到同步数据包的回包后的5ms内,会接收到一个新的数据包,主机判断该数据包为异步数据包。主机从而清楚地分辨出,主机发送了同步数据包后,先接收到的一个数据包是同步数据包,后接到的一个数据包是异步数据包。
可以看出,本申请实施例提供的主从通信方法中,从机固定了异步数据包的发送时机,如果从机有发送异步数据包的需要,总会在一个同步序列对中的同步回包后发出,使得主机可以明确分辨出异步数据包。在一个同步序列对中,不会出现主机先收到异步数据包、然后收到同步数据包回包的情况,主机可以准确识别出异步数据包。
本发明可以应用在半双工或全双工的通信模式中,具体的应用情形可以参阅图3至图6。图中ack表示同步数据包的回包,data表示同步数据包,asyn表示异步数据包,null表示无数据。
以第一预设时间间隔为50ms的情况为例,图3展示了当本发明应用在半双工通信模式下时,从机暂时没有异步数据包需要发送的情况;图4展示了当本发明应用在半双工通信模式下时,从机出现异步数据包需要发送的情况。在半双工模式下,主机和从机不能同时发送数据包。
以第一预设时间间隔为50ms的情况为例,图5展示了当本发明应用在全双工通信模式下时,从机暂时没有异步数据包需要发送的情况;图6展示了当本发明应用在半双工通信模式下时,从机出现异步数据包需要发送的情况。在全双工模式下,主机和从机可以同时发送数据包。
需要说明的是,上述实施例仅以50ms作为第一预设时间间隔、以5ms作为第二预设时间间隔举例对本发明进行说明。根据不同的主机和从机需求,可以设置更大或更小的值,作为第一预设时间间隔和第二预设时间间隔,但是第二预设时间间隔必须小于第一预设时间间隔,以保证主机在接收到同步数据包的回包后,能准确检测并区分出从机发送的异步数据包。
优选的,请参阅图7,本申请还提供了另一实施例,为从机增加了确定异步数据包发送成功的功能,该实施例包括:
701、从机获取待发送的异步数据包;
702、主机确定发送同步数据包的第一预设时间间隔;
703、主机按照第一预设时间间隔向从机发送同步数据包;
704、从机按照第一预设时间间隔向主机发送同步数据包的回包;
705、从机在发送同步数据包的回包后的第二预设时间间隔内向主机发送异步数据包;
706、主机在接收到从机发送的同步数据包的回包后,检测在第二预设时间间隔内是否接收到从机发送的新的数据包;
707、若主机在第二预设时间间隔内接收到新的数据包,则确定新的数据包为异步数据包;
其中步骤701至步骤707与前述图2所示的实施例步骤201至207类似,此处不再赘述。
708、主机发送异步数据包的回包到从机;
主机可以在每次接收到异步数据包后,发送一个对应的异步数据包的回包到从机,告知从机该异步数据包发送成功。
709、从机确认异步数据包发送成功。
从机接收到主机发送的异步数据包的回包后,判断主机已经成功接收了异步数据包,异步数据包发送成功。
在一些情况下,主机可能需要通过同步数据包发送大量数据到从机,而改变数据包的大小又较为困难,因此需要缩短发送频率。在主机需要发送的数据包较少的情况下,主机从机仍以较高频率进行交互数据包的交互,浪费了一定的数据传输能力。因此,本申请还提供了另一实施例,可以根据业务量的多少,修改主机的发送同步数据包的第一预设时间间隔,从而调整主机与从机的数据包交互频率,降低功耗。
801、从机获取待发送的异步数据包;
从机获取一个或多个异步数据包,暂时保存在内存或其他存储器中,等待发送。
802、主机确定发送同步数据包的第一预设时间间隔;
803、主机按照第一预设时间间隔向从机发送同步数据包;
804、从机按照第一预设时间间隔向主机发送同步数据包的回包;
805、从机在发送同步数据包的回包后的第二预设时间间隔内向主机发送异步数据包;
806、主机在接收到从机发送的同步数据包的回包后,检测在第二预设时间间隔内是否接收到从机发送的新的数据包;
807、若主机在第二预设时间间隔内接收到新的数据包,则确定新的数据包为异步数据包。
其中步骤801至步骤807与前述图2所示的实施例步骤201至步骤208类似,此处不再赘述。
808、主机统计待发送的同步数据包的数量;
主机统计接下来一段时间内,主机需要发送到从机的同步数据包的数量。
809、主机根据待发送的同步数据包的数量,判断是否需要修改第一预设时间间隔;
如果主机接下来会有较多数据需要通过同步数据包发送到从机,待发送的同步数据包的数量大于某个较大的预设值,或主机接下来需要发送到从机的同步数据包极少,小于某个较小的预设值,主机就判断需要修改第一预设时间间隔。如果主机接下来待发送的同步数据包数量适中,和当前的发送速度适配,就判断不需要修改第一预设时间间隔,维持原有的主从交互频率。
810、若需要,根据同步数据包的数量修改第一预设时间间隔。
如果主机判断需要修改第一预设时间间隔,那么主机会根据接下来一段时间内要发送的同步数据包的多少,修改第一预设时间间隔。如果主机接下来要发送的同步数据包较多,主机修改第一预设时间间隔为一个较大值,以使得主机能以更快的速度发送同步数据包到主机。如果主机接下来要发送的同步数据包较少,可以适当降低主机发送第一同步数据包的频率,使得主机与从机以更加低功耗的方式进行数据包的交互,降低主机与从机的功耗。
需要说明的是,主机不应将第一预设时间间隔修改为过小的值,第一预设时间间隔过小一方面会导致主机与从机功耗增大,数据包发送更容易出错,另一方面,主机的修改后的第一预设时间间隔至少应当大于第二预设时间间隔,保证步骤806与807的检测正常进行。主机也不能将第一预设时间间隔修为过大的值,以免主机和从机之间交互速度过慢。
请参阅图9,在一个更具体的实施例中,以温度测量器为例,从机也可以实现类似于图8所示实施例中主机的调节主从数据包交互频率的功能。本实施例中,以温度测量模块作为从机采集温度数据;以主处理器作为主机,以显示温度,并进行各种温度数据的处理。
本实施例包括:
901、从机获取待发送的异步数据包;
902、主机确定发送同步数据包的第一预设时间间隔;
903、主机按照第一预设时间间隔向从机发送同步数据包;
904、从机按照第一预设时间间隔向主机发送同步数据包的回包;
905、从机在发送同步数据包的回包后的第二预设时间间隔内向主机发送异步数据包;
906、主机在接收到从机发送的同步数据包的回包后,检测在第二预设时间间隔内是否接收到从机发送的新的数据包;
907、若主机在第二预设时间间隔内接收到新的数据包,则确定新的数据包为异步数据包;
908、从机获取第一预设时间间隔;
温度测量模块获取目前主机发送同步数据包的间隔,获取的方式可以是主处理器通过发送的同步数据包的包内数据告知的,也可以是温度测量模块自己计算接收主机发送的同步数据包的间隔。
909、从机统计待发送的异步数据包的数量;
从机统计待发送的异步数据包的量,具体在温度测量的情况下,具体可以通过温度变化速度的快慢,统计待发送的异步数据包的量。如果温度变化快,说明需要温度测量模块需要以给快的速度发送温度信息给主处理器,以便主处理器得到的温度信息更准确、及时。
910、从机根据待发送的异步数据包的数量,判断是否需要缩短第一预设时间间隔;
温度测量模块根据当前采集到的温度变化的快慢,判断是否需要缩短第一预设时间间隔,以调整异步数据包的发送速度。如果变化速度与当前主从交互数据包的速度适配,就不需要从机发送异步数据包的速度。如果当前温度变化速度基本不变或者变化速度极快,从机就判断需要修改第一预设时间间隔。
911、若需要,从机向主机发送修改请求。
如果从机判断当前温度变化速度非常快,那么从机可以根据温度变化的快慢,发送一个修改请求到主机,请求主机变更第一预设时间间隔。如果温度变化速度大于每秒1摄氏度,那么从机发送修改请求,要求缩短第一预设时间间隔;如果温度变化速度极小,例如连续十秒累计温度变化都不足1摄氏度,那么从机发送修改请求,请求主机增大第一预设时间间隔。
可以理解的是,本实施例仅以温度变化的测量作为具体例子,以帮助本领域技术人员理解本发明。实际应用中,根据不同的应用场景和从机的具体功能,可以为从机设置不同的方式,帮助从机确认接下来一段时间内待发送的异步数据包的数量。例如对于光测量模块作为从机的情况,可以认为光线强度变化越快,从机接下来一段时间内待发送的数据包数量就越多。
请参阅图10,在另一实施例中,从机可以仅发送待发送的异步数据包的数量信息到主机,由主机判断是否要修改第一预设时间间隔。该实施例包括:
1001、从机获取待发送的异步数据包;
1002、主机确定发送同步数据包的第一预设时间间隔;
1003、主机按照第一预设时间间隔向从机发送同步数据包;
1004、从机按照第一预设时间间隔向主机发送同步数据包的回包;
1005、从机在发送同步数据包的回包后的第二预设时间间隔内向主机发送异步数据包;
1006、主机在接收到从机发送的同步数据包的回包后,检测在第二预设时间间隔内是否接收到从机发送的新的数据包;
1007、若主机在第二预设时间间隔内接收到新的数据包,则确定新的数据包为异步数据包;
步骤1001至1007与前述图2所示实施例的步骤201至207类似,此处不再赘述。
1008、从机统计待发送的异步数据包的数量;
从机统计目前有多少待发送的异步数据包,并据此生成待发送的异步数据包的数量信息。
1009、从机发送待发送的异步数据包的数量信息到主机;
从机将统计到的待发送的异步数据包的数量信息发送到主机,具体的发送方式可以是通过同步数据包的回包发送到主机,也可以通过异步数据包发送到主机,以便主机知悉从机上待发送的异步数据包的数量。如果主机和从机之间还存在其他数据交互方式,那么该数量信息也可以通过其他方式发送到主机,具体此处不作限定。
1010、主机根据待发送的异步数据包的数量,判断是否需要修改第一预设时间间隔;
主机根据接收到的待发送的异步数据包的数量信息,知悉从机上待发送的异步数据包的数量,并根据待发送的异步数据包的数量判断是否需要修改第一预设时间间隔,改变主机的同步数据包的发送频率。
1011、若需要,主机根据待发送的异步数据包的数量修改第一预设时间间隔;
主机根据从机上待发送的异步数据包的数量,增大或减小第一预设时间间隔,以控制从机发送异步数据包的速度具体地,主机可以设定多个阈值,当从机的待发送数据包的数量大于某个阈值时,主机对应于该阈值缩短第一预设时间间隔,使得从机能更快地发送异步数据包,避免待发送的异步数据包过多。如果从机上长时间没有异步数据包发送或待发送的异步数据包很少,主机也可以根据待发送的异步数据包数量酌情增大第一预设时间间隔,以便减少主机与从机的功耗。同时,主机和从机可以同时具备修改第一预设时间间隔的功能,此时,应当在主机和从机都要求延长第一预设时间间隔时,才允许延长第一预设时间间隔。当主机或从机二者中有一者要求缩短第一预设时间间隔时,就允许缩短第一预设时间间隔,从而优先满足主机与从机进行数据包交互的性能要求,保证主从交互的速度。
请参阅图11,本申请实施例还提供了一种主机,包括:
确定单元1101,用于确定发送同步数据包的第一预设时间间隔;
发送单元1102,用于按照第一预设时间间隔向从机发送同步数据包;
接收单元1103,用于接收从机发送的同步数据包的回包;
检测单元1104,用于在接收到从机发送的同步数据包的回包后,检测在第二预设时间间隔内是否接收到从机发送的新的数据包,其中第二预设时间间隔小于第一预设时间间隔;
确定单元1101还用于,在接收单元在第二预设时间间隔内接收到新的数据包时,确定新的数据包为异步数据包。
优选的,主机还可以包括:统计单元1105,用于统计待发送的同步数据包数量;判断单元1106,用于根据待发送的同步数据包的数量,判断是否需要缩短第一预设时间间隔;修改单元1107,用于根据待发送的同步数据包的数量修改第一预设时间间隔。
优选的,所述接收单元1103还用于接收所述从机发送的待发送的异步数据包的数量信息;
所述主机还包括:判断单元1106,用于根据所述待发送的异步数据包的数量,判断是否需要缩短所述第一预设时间间隔;
修改单元1107,用于在所述判断单元端为是时,根据所述待发送的异步数据包的数量修改所述第一预设时间间隔。
优选的,接收单元1103还用于接收从机发送的修改请求,修改请求是从机监测到待发送的异步数据包数据量变化情况满足预设条件时生成的;修改单元1107还可以用于修改请求,修改第一预设时间间隔。
优选的,发送单元1102还用于向从机发送异步数据包的回包,异步数据包的回包用于告知从机异步数据包发送成功。
本实施例中,主机中各单元所执行的流程与前述图2、图7、图8或图9所示的实施例中描述的方法流程类似,此处不再赘述。
请参阅图12,本申请实施例还提供了一种从机,包括:
获取单元1201,用于获取待发送的异步数据包;
接收单元1202,用于接收主机发送的同步数据包;
发送单元1203,用于按照第一预设时间间隔向主机发送同步数据包的回包;在发送同步数据包的回包后的第二预设时间间隔内,向主机发送异步数据包。
优选的,获取单元1201还用于获取第一预设时间间隔;从机还包括统计单元1204,用于统计待发送的异步数据包的数量;判断单元1205,用于根据待发送的异步数据包的数量,判断是否需要缩短第一预设时间间隔;发送单元1203还用于向主机发送修改请求,该修改请求用于修改第一预设时间间隔。
优选的,接收单元1202还用于接收主机发送的异步数据包的回包;从机还包括确认单元1206,用于确认异步数据包发送成功。
优选的,所述从机还包括统计单元1204,用于统计所述待发送的异步数据包的数量;
所述发送单元1203还用于发送所述待发送的异步数据包的数量信息到主机,以使得所述主机根据所述待发送的异步数据包的数量信息修改所述第一预设时间间隔。
本实施例中,从机中各单元所执行的流程与前述图2、图7、图8或图9所示的实施例中描述的方法流程类似,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。