确定数据传输异常的方法、装置、存储介质及电子设备与流程

文档序号:20945004发布日期:2020-06-02 19:49阅读:410来源:国知局
确定数据传输异常的方法、装置、存储介质及电子设备与流程

本公开涉及数据传输领域,具体地,涉及一种确定数据传输异常的方法、装置、存储介质及电子设备。



背景技术:

在目前的互联网应用中,需要进行数据交互并进行实时数据传输的应用也越来越多,以银联商务项目中对交易日志数据的传输场景为例,通常情况下会同时存在几十个发送端(agent)同时采集交易日志数据,并发送至数据接收端,而在实际的数据传输过程中,可能会存在交易日志丢失或者数据内容被截断等数据传输异常事件的发生,使得数据无法进行准确传输。

相关技术中,为查找到具体是哪些数据传输异常,可以通过发送端记录发送事件的数量,数据接收端记录接收事件的数量,然后定期比较两者是否相等,发现是否存在异常传输事件,然后通过统计分析的方法,找到异常传输事件,再进行异常事件的重采和重传,但这只能发现传输丢失事件,对于每个传输丢失事件的具体原因无从得知,也就不能指导用户基于不同的传输异常原因进行异常传输事件的处理,从而影响数据的准确传输。



技术实现要素:

本公开的目的是提供一种确定数据传输异常的方法、装置、存储介质及电子设备。

第一方面,提供一种确定数据传输异常的方法,所述方法包括:将待传输的多个目标数据集依次发送至数据接收端,以便所述数据接收端响应于接收到每个目标数据集,向数据发送端发送该目标数据集对应的响应信息;若接收到所述数据接收端发送的任一目标数据集对应的响应信息,根据所述响应信息更新传输状态信息,所述传输状态信息用于表示每个所述目标数据集对应的传输状态;根据更新后的传输状态信息确定多个所述目标数据集的传输结果,所述传输结果用于表征多个所述目标数据集是否传输异常,以及在任意所述目标数据集传输异常的情况下的传输异常原因。

可选地,所述传输状态信息包括内容丢失次数,和/或,接收所述响应信息的响应等待参数;若所述传输状态信息包括内容丢失次数,所述根据所述响应信息更新传输状态信息包括:获取所述任一目标数据集的第一数据大小;从所述响应信息中获取所述数据接收端接收到所述任一目标数据集的第二数据大小;若所述第二数据大小与所述第一数据大小不同,则按照第一预设次数更新所述任一目标数据集对应的所述内容丢失次数,得到目标内容丢失次数;所述根据更新后的传输状态信息确定多个所述目标数据集的传输结果包括:若所述目标内容丢失次数达到预设内容丢失次数,确定所述任一目标数据集传输异常,且所述传输异常原因为数据内容丢失。

可选地,所述传输状态信息包括响应等待参数,所述响应等待参数包括响应等待次数和/或响应等待时间,若所述响应等待参数包括响应等待次数,所述根据所述响应信息更新传输状态信息包括:获取所述任一目标数据集在多个目标数据集中的发送顺序;根据所述发送顺序,从多个目标数据集中确定在所述任一目标数据集之前发送的其他数据集;按照第二预设次数更新所述其他数据集中待更新数据集对应的响应等待次数,得到目标响应等待次数,其中,所述待更新数据集包括未接收到响应信息的数据集;所述根据更新后的传输状态信息确定多个所述目标数据集的传输结果包括:若所述目标响应等待次数达到预设响应等待次数,确定该待更新数据集传输异常,且所述传输异常原因为传输过程错误。

可选地,若所述响应等待参数包括响应等待时间,所述根据所述响应信息更新传输状态信息包括:根据所述待更新数据集的发送时间更新所述响应等待时间,得到目标响应等待时间;所述根据更新后的传输状态信息确定多个所述目标数据集的传输结果包括:若所述目标响应等待时间达到预设响应等待时间,确定该待更新数据集传输异常,且所述传输异常原因为所述传输过程错误。

可选地,所述传输过程错误包括解析异常,每个所述目标数据集包括一行或多行数据;在传输结果表征多个所述目标数据集中存在传输异常的异常数据集的情况下,所述方法还包括:针对每个所述异常数据集,重新获取该异常数据集对应的重采数据集,并将所述重采数据集发送至数据接收端;在将所述重采数据集发送至数据接收端后,更新该异常数据集对应的重采次数;若更新后的重采次数达到预设重采次数阈值,确定该异常数据集的异常原因为所述解析异常。

可选地,所述重新获取该异常数据集对应的重采数据集包括:针对每个所述异常数据集,获取该异常数据集的第一起始行编号;从多个所述目标数据集中,确定所述第一起始行编号之前预设行编号数量对应的待处理数据集的第二起始行编号;获取所述第一起始行编号与所述第二起始行编号之间待处理数据集的传输状态信息;获取所述待处理数据集的个数;根据该异常数据集和所述待处理数据集的传输状态信息,以及所述个数计算传输异常率;根据所述传输异常率确定重采数据集范围;重新获取所述重采数据集范围内的数据集。

可选地,所述根据所述传输异常率确定重采数据集范围包括:若所述传输异常率大于或者等于预设异常率阈值,确定所述重采数据集范围包括该异常数据集,以及所述第一起始行编号与所述第二起始行编号之间的全部待处理数据集;若所述传输异常率小于所述预设异常率阈值,确定所述重采数据集范围包括该异常数据集以及所述待处理数据集中传输异常的数据集。

第二方面,提供一种确定数据传输异常的装置,所述装置包括:发送模块,用于将待传输的多个目标数据集依次发送至数据接收端,以便所述数据接收端响应于接收到每个目标数据集,向数据发送端发送该目标数据集对应的响应信息;状态更新模块,用于若接收到所述数据接收端发送的任一目标数据集对应的响应信息,根据所述响应信息更新传输状态信息,所述传输状态信息用于表示每个所述目标数据集对应的传输状态;第一确定模块,用于根据更新后的传输状态信息确定多个所述目标数据集的传输结果,所述传输结果用于表征多个所述目标数据集是否传输异常,以及在任意所述目标数据集传输异常的情况下的传输异常原因。

可选地,所述传输状态信息包括内容丢失次数,和/或,接收所述响应信息的响应等待参数;若所述传输状态信息包括内容丢失次数,所述状态更新模块,用于获取所述任一目标数据集的第一数据大小;从所述响应信息中获取所述数据接收端接收到所述任一目标数据集的第二数据大小;若所述第二数据大小与所述第一数据大小不同,则按照第一预设次数更新所述任一目标数据集对应的所述内容丢失次数,得到目标内容丢失次数;所述第一确定模块,用于若所述目标内容丢失次数达到预设内容丢失次数,确定所述任一目标数据集传输异常,且所述传输异常原因为数据内容丢失。

可选地,所述传输状态信息包括响应等待参数,所述响应等待参数包括响应等待次数和/或响应等待时间,若所述响应等待参数包括响应等待次数,所述状态更新模块,用于获取所述任一目标数据集在多个目标数据集中的发送顺序;根据所述发送顺序,从多个目标数据集中确定在所述任一目标数据集之前发送的其他数据集;按照第二预设次数更新所述其他数据集中待更新数据集对应的响应等待次数,得到目标响应等待次数,其中,所述待更新数据集包括未接收到响应信息的数据集;所述第一确定模块,用于若所述目标响应等待次数达到预设响应等待次数,确定该待更新数据集传输异常,且所述传输异常原因为传输过程错误。

可选地,若所述响应等待参数包括响应等待时间,所述状态更新模块,用于根据所述待更新数据集的发送时间更新所述响应等待时间,得到目标响应等待时间;所述第一确定模块,用于若所述目标响应等待时间达到预设响应等待时间,确定该待更新数据集传输异常,且所述传输异常原因为所述传输过程错误。

可选地,所述传输过程错误包括解析异常,每个所述目标数据集包括一行或多行数据;在传输结果表征多个所述目标数据集中存在传输异常的异常数据集的情况下,所述装置还包括:数据重采模块,用于针对每个所述异常数据集,重新获取该异常数据集对应的重采数据集,并将所述重采数据集发送至数据接收端;重采次数更新模块,用于在将所述重采数据集发送至数据接收端后,更新该异常数据集对应的重采次数;第二确定模块,用于若更新后的重采次数达到预设重采次数阈值,确定该异常数据集的异常原因为所述解析异常。

可选地,所述数据重采模块,用于针对每个所述异常数据集,获取该异常数据集的第一起始行编号;从多个所述目标数据集中,确定所述第一起始行编号之前预设行编号数量对应的待处理数据集的第二起始行编号;获取所述第一起始行编号与所述第二起始行编号之间待处理数据集的传输状态信息;获取所述待处理数据集的个数;根据该异常数据集和所述待处理数据集的传输状态信息,以及所述个数计算传输异常率;根据所述传输异常率确定重采数据集范围;重新获取所述重采数据集范围内的数据集。

可选地,所述数据重采模块,用于若所述传输异常率大于或者等于预设异常率阈值,确定所述重采数据集范围包括该异常数据集,以及所述第一起始行编号与所述第二起始行编号之间的全部待处理数据集;若所述传输异常率小于所述预设异常率阈值,确定所述重采数据集范围包括该异常数据集以及所述待处理数据集中传输异常的数据集。

第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。

第四方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。

通过上述技术方案,数据发送端将待传输的多个目标数据集依次发送至数据接收端,以便所述数据接收端响应于接收到每个目标数据集,向数据发送端发送该目标数据集对应的响应信息;若接收到所述数据接收端发送的任一目标数据集对应的响应信息,根据所述响应信息更新传输状态信息,所述传输状态信息用于表示每个所述目标数据集对应的传输状态;根据更新后的传输状态信息确定多个所述目标数据集的传输结果,所述传输结果用于表征多个所述目标数据集是否传输异常,以及在任意所述目标数据集传输异常的情况下的传输异常原因,这样,根据实时更新的每个目标数据集对应的传输状态信息不仅可以确定目标数据集是否传输异常,还可以在确定任意目标数据集传输异常的情况下,进一步确定传输异常原因,从而方便用户可以根据该传输异常原因选择对应的处理方式对异常传输事件进行修复,以保证数据传输的准确性和完整性。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性实施例示出的一种确定数据传输异常的方法的流程图;

图2是根据一示例性实施例示出的第一种确定数据传输异常的装置的框图;

图3是根据一示例性实施例示出的第二种确定数据传输异常的装置的框图;

图4是根据一示例性实施例示出的一种电子设备的结构示意图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

首先,对本公开的应用场景进行介绍,本公开主要应用于对数据传输过程中出现的数据传输异常情况的判断场景中,以银联商务项目中交易日志数据的传输为例,通常情况下会同时存在几十个发送端(agent)同时采集交易日志数据,并发送至数据接收端,而在实际的数据传输过程中,可能会存在由于网络不稳定而导致交易日志丢失或者数据内容被截断等数据传输异常事件的发生,另外,由于在数据进入接收端以前通常会对采集的数据进行解析预处理,实际数据传输场景中也会存在因解析异常导致数据丢失的情况,使得数据无法进行准确传输。

在一种解决方案中,可以采用人工通过数据接收端接收到的数据,比对原始文件,来找到异常传输事件,但由于传输的事件数量较多,人工比对的方法不仅浪费人力物力,而且确定异常传输事件的效率很低,因此,在另一种解决方案中,为查找到具体是哪些数据传输异常,可以通过发送端记录发送事件的数量,数据接收端记录接收事件的数量,然后定期比较两者是否相等,发现是否存在异常传输事件,然后通过统计分析的方法,找到异常传输事件,再进行异常事件的重采和重传,但这只能发现传输丢失事件,对于每个传输丢失事件的具体原因无从得知,同时对于其它异常传输事件也无法进行定位,在影响数据传输准确性的同时也会影响数据传输的完整性,另外,通过定期比较的方式来发现异常传输事件,然后进行重采和重传,到数据到达接收端的延时性也较大。

为解决上述存在的问题,本公开提供一种确定数据传输异常的方法、装置、存储介质及电子设备,数据发送端在向数据接收端依次发送多个目标数据集后,若接收到该数据接收端发送的任一目标数据集对应的响应信息,可以根据该响应信息更新传输状态信息,然后基于更新后的传输状态信息可以确定多个该目标数据集是否传输异常,以及在任意该目标数据集传输异常的情况下的传输异常原因,从而方便用户根据该传输异常原因选择对应的处理方式,以保证数据传输的准确性和完整性。

下面结合附图对本公开的具体实施方式进行详细说明。

图1是根据一示例性实施例示出的一种确定数据传输异常的方法的流程图,该方法可以应用于数据发送端,如图1所示,该方法包括以下步骤:

在步骤101中,将待传输的多个目标数据集依次发送至数据接收端,以便该数据接收端响应于接收到每个目标数据集,向数据发送端发送该目标数据集对应的响应信息。

其中,该目标数据集可以理解为是一个独立的数据传输单元,在数据传输过程中,将一个该目标数据集发送至数据接收端即可视为是一个数据发送事件,当然,该目标数据集可以包括一组数据,也可以包括多组数据,以在银联商务项目中传输的交易日志数据为例,该目标数据集中可以包括一行日志文本,也可以包括多行日志文本,用户可以根据自己的实际需求设置一个数据发送事件中所发送的数据量大小,本公开对此不作限定。

另外,可以理解的是,数据接收端在成功接收到该目标数据集后,可以向该数据发送端返回该目标数据集对应的响应信息,以便告知该数据发送端,该目标数据集已成功被该数据接收端接收到,该响应信息可以包括该目标数据集对应的标识信息以及数据接收端接收到的该目标数据集的数据大小(即后续步骤中提到的第二数据大小)。

在步骤102中,若接收到该数据接收端发送的任一目标数据集对应的响应信息,根据该响应信息更新传输状态信息。

其中,该传输状态信息用于表示每个该目标数据集对应的传输状态,进一步地,该传输状态信息可以包括内容丢失次数,和/或数据发送端接收该响应信息的响应等待参数,该响应等待参数可以包括响应等待次数和/或响应等待时间。

首先需要说明的是,数据发送端在向数据接收端发送该目标数据集时,可以记录本次发送事件的基本信息,该基本信息包括本次发送事件中发送的该目标数据集的标识信息(如唯一编码标识)、本次发送事件的发送顺序(例如可以用为该目标数据集分配的自增编号表示)、该目标数据集的数据大小(即后续提到的第一数据大小)、该目标数据集所在的文件名、行编号、以及发送时间等信息,并且可以将上述多种基本信息进行存储,例如可以存储在如表1所示的预设状态信息路由表中,以便数据发送端可以通过该预设状态信息路由表对每一个目标数据集对应的发送事件进行信息维护和更新。

表1

另外,本步骤中的传输状态信息(如内容丢失次数(lostc)、响应等待次数(waitc)、响应等待时间(waitt)、以及重采次数(rc)也可以记录在如表1所示的预设状态信息路由表中,并且可以根据该响应信息实时更新该预设状态信息路由表中各传输状态信息的具体数据,还需说明的是,表1仅示例性的列出了数据发送端依次向数据接收端发送了四个目标数据集(表1中的标识1、标识2、标识3以及标识4分别为四个目标数据集的唯一标识信息)的过程中,对每个目标数据集的基本信息的记录情况,并且在表1中的每一个目标数据集(即一个发送事件)包括一行日志数据,表1仅是举例说明,本公开对此不作限定。

在实际的数据传输场景中,数据发送端依次将采集的多个目标数据集向数据接收端发送,对于多个该目标数据集中的任一目标数据集,若网络稳定,并且预处理解析器也可以成功对该目标数据集进行解析的情况下,该数据接收端可以成功接收到该目标数据集,之后该数据发送端也可以成功接收到数据接收端发送的与该目标数据集对应的响应信息,但若网络不稳定或者解析异常的情况下,该数据接收端无法成功接收到该目标数据集,数据发送端也就接收不到该响应信息,此时表示该目标数据集可能出现传输丢失的情况。

另外,在接收到该响应信息后,可以从该响应信息中解析出对应的目标数据集的标识信息以及数据接收端接收到的该目标数据集的数据大小(即第二数据大小),这样,通过解析出的该标识信息可以从如表1所示的预设状态信息路由表中找到该响应信息对应的目标数据集的信息记录。

因此,在本步骤一种可能的实现方式中,若该传输状态信息包括内容丢失次数,在根据该响应信息更新传输状态信息的过程中,可以先获取该任一目标数据集的第一数据大小(例如可以根据该任一目标数据集的标识信息从表1所示的预设状态信息路由表中查找到该第一数据大小),然后从该响应信息中获取该数据接收端接收到该任一目标数据集的第二数据大小;若该第二数据大小与该第一数据大小不同,可以表明数据接收端接收到的该任一目标数据集的内容相比较于数据发送端发送的该任一目标数据集来说,数据内容存在丢失,此时,数据接收端可以按照第一预设次数更新该任一目标数据集对应的该内容丢失次数(即表1中的lostc),得到目标内容丢失次数。

示例地,如表1所示,若最先接收到标识4对应的目标数据集的响应信息,并且进一步确定标识4对应的该目标数据集的第一数据大小与第二数据大小不同时,可以按照第一预设次数更新标识4对应的目标数据集的lostc,例如,lostc的初始值可以设置为0,在确定需要更新lostc时,可以将lostc加1,又或者,lostc的初始值可以设置为一个大于0的正整数,在确定需要更新lostc时,可以将lostc减1,此处仅是举例说明,本公开对此不作限定。

另外,若传输状态信息包括响应等待次数,本步骤在根据该响应信息更新传输状态信息的过程中,可以获取该任一目标数据集在多个目标数据集中的发送顺序;然后根据该发送顺序,从多个目标数据集中确定在该任一目标数据集之前发送的其他数据集;按照第二预设次数更新该其他数据集中待更新数据集对应的响应等待次数,得到目标响应等待次数,其中,该待更新数据集包括未接收到响应信息的数据集。

在一种可能的实现方式中,在获取该任一目标数据集在多个目标数据集中的发送顺序时,可以从预设状态信息路由表中获取该任一目标数据集对应的自增编号,然后根据该自增编号确定该发送顺序。

示例地,继续以表1为例,若数据发送端依次向数据接收端发送表1中所示的四个目标数据集后,正常情况下也会按照发送顺序的先后依次接收到数据接收端返回的对每个目标数据集的接收结果的响应信息,即先接收到标识1对应的目标数据集的响应信息,之后接收到标识2对应的目标数据集的响应信息,再接收到标识3对应的目标数据集的响应信息,最后接收到标识4对应的目标数据集的响应信息,但若实际数据传输场景中,最先接收到了标识4对应的目标数据集的响应信息,而标识1、标识2、标识3对应的目标数据集的响应信息均未接收到,此时可以确定该任一目标数据集即为标识4对应的目标数据集,根据各目标数据集的发送顺序可以确定在该任一目标数据集之前发送的其他数据集即为标识1、标识2、标识3对应的目标数据集,并且该待更新数据集也为标识1、标识2、标识3对应的目标数据集,此时,可以按照第二预设次数更新标识1、标识2、标识3对应的目标数据集的响应等待次数,例如,waitc的初始值可以设置为0,在确定需要更新waitc时,可以将waitc加1,又或者,waitc的初始值可以设置为一个大于0的正整数,在确定需要更新waitc时,可以将waitc减1,此处仅是举例说明,本公开对此不作限定。

在本步骤中,若传输状态信息包括响应等待时间,本步骤在根据该响应信息更新传输状态信息的过程中,可以根据该待更新数据集的发送时间更新该响应等待时间,得到目标响应等待时间。

其中,该发送时间可以从该预设状态信息路由表中直接获取到,这样可以基于当前时间与待更新数据集的发送时间的时间差更新该响应等待时间,得到该目标响应等待时间(如表1中的waitt)。

在步骤103中,根据更新后的传输状态信息确定多个该目标数据集的传输结果,该传输结果用于表征多个该目标数据集是否传输异常,以及在任意该目标数据集传输异常的情况下的传输异常原因。

在本步骤中,若该传输状态信息包括内容丢失次数,在根据该任一目标数据集的响应信息对该内容丢失次数进行更新,得到更新后的该目标内容丢失次数后,若确定该目标内容丢失次数达到预设内容丢失次数,可以确定该任一目标数据集传输异常,且该传输异常原因为数据内容丢失;例如,如表1所示,若标识4对应的该目标数据集的lostc的数值达到该预设内容丢失次数,可以确定标识4对应的该目标数据集传输异常,并且该传输异常原因为数据内容丢失。

因此,采用本公开提供的确定数据传输异常的方法,不仅确定出具体是哪些数据发生传输异常,也可以进一根据该传输异常原因确定出传输异常事件中数据内容丢失的事件,以便及时对这数据内容丢失的目标数据集进行数据重采和重发,保证数据传输的完整性。

若该传输状态信息包括响应等待次数或者响应等待时间,在根据该任一目标数据集的响应信息对该响应等待次数进行更新,得到更新后的该目标响应等待次数后,若确定该目标响应等待次数达到预设响应等待次数,或者,若确定更新后的该目标响应等待时间达到预设响应等待时间时,可以确定该待更新数据集传输异常,且该传输异常原因为传输过程错误。

其中,该传输过程错误可以包括传输过程中因网络不稳定导致的目标数据集传输丢失,或者因解析异常导致的数据接收端未接收到该目标数据集,此种情况下,还需进一步判断该待更新数据集传输异常时的具体异常原因。

通常情况下,在进行数据传输时,若出现数据内容丢失异常、响应等待次数异常(即响应等待次数达到预设响应等待次数)或者响应等待时间异常(即响应等待时间达到预设响应等待时间),重新采集对应的目标数据集,并进行发送后,可以收到正确的反馈响应信息,但是,若在解析预处理时,发生解析错误,可以理解为数据发送端和数据接收端的解析规则不匹配,此时会导致该发送事件阻塞,数据接收端永远无法接受到该目标数据集,数据采集端也会一直接收不到该响应信息,因此,在本步骤一种可能的实现方式中,可以通过重采次数超限的原则确定解析异常的数据传输事件。

因此,在传输结果表征多个该目标数据集中存在传输异常的异常数据集的情况下,本公开还可以针对每个该异常数据集,重新获取该异常数据集对应的重采数据集,并将该重采数据集发送至数据接收端;在将该重采数据集发送至数据接收端后,更新该异常数据集对应的重采次数;若更新后的重采次数达到预设重采次数阈值,确定该异常数据集的异常原因为解析异常,其中,每个该目标数据集可以包括一行或多行数据。

也就是说,本公开不仅可以发现数据传输丢失事件,还可以发现传输内容丢失事件,以及确定出由于解析异常导致的异常数据传输事件,从而指导用户可以基于不同的传输异常原因及时采取相对应的处理方式,以保证数据接收端接收到数据的准确性和完整性,此外,还引入响应等待次数、响应等待时间、内容丢失次数以及重采次数多个判断指标对数据传输过程中的传输异常事件进行判断,提高了数据传输异常判断的准确率和效率。

需要说明的是,本公开在进行重采的过程中,为降低发现异常传输事件的资源开源,同时保证数据重采和重传的效率,可以先确定重采数据集的范围,然后一并获取该重采数据集范围内的数据集。

这里,由于每个数据集可能包括多行数据,因此针对每个该异常数据集,可以获取该异常数据集的第一起始行编号,然后从多个该目标数据集中,确定该第一起始行编号之前预设行编号数量对应的待处理数据集的第二起始行编号;获取该第一起始行编号与该第二起始行编号之间待处理数据集的传输状态信息;获取该待处理数据集的个数;根据该异常数据集和该待处理数据集的传输状态信息,以及该个数计算传输异常率;从而可以根据该传输异常率确定重采数据集范围,然后重新获取该重采数据集范围内的数据集。

其中,该第一起始行编号和该第二起始行编号均为对应的数据集的第一行对应的行编号。

在一种可能的实现方式中,可以按照公式(1)所述的方法计算该传输异常率:

其中,errorrate表示该传输异常率,i表示该第一起始行编号,j表示该第二起始行编号,wsize表示该预设行编号数量(即预设临近行编号窗口范围),waitcj表示第j个数据集的响应等待次数,waittj表示第j个数据集的响应等待时间,lostcj表示第j个数据集的内容丢失次数,countevent表示该待处理数据集以及该异常数据集的个数(即待处理数据集的个数+1)。

还需说明的是,由于目标数据集可能包括多行数据,而根据公式j=i-wsize+1计算得到的待处理数据集的行编号可能并不是该待处理数据集的起始行编号,此时,需要将通过该公式计算得到的行编号调整为该待处理数据集的起始行编号,以保证数据传输的完整性。

这里,在根据该传输异常率确定重采数据集范围的过程中,若该传输异常率大于或者等于预设异常率阈值,说明位于该预设临近行编号窗口范围内的目标数据集的传输存在大面积的数据异常,此时为避免大量单个异常事件的查找,降低异常事件发现过程的资源开销,可以确定该重采数据集范围包括该异常数据集,以及该第一起始行编号与该第二起始行编号之间的全部待处理数据集,从而可以同时重新采集该异常数据集和该待处理数据集,并进行统一发送;另外,若该传输异常率小于该预设异常率阈值,可以确定该重采数据集范围包括该异常数据集以及该待处理数据集中传输异常的数据集,从而可以只针对该传输异常的数据集进行重采和重传,从而可以保证数据重采和重传的效率。

也就是说,本公开还可以在发现数据传输异常时,自动进行重采和重传,从而实现数据传输异常时的快速修复,进一步保证数据传输的准确性。

采用上述方法,根据实时更新的每个目标数据集对应的传输状态信息不仅可以确定目标数据集是否传输异常,还可以在任意目标数据集传输异常的情况下,进一步确定传输异常原因,另外,采用本公开提供的确定数据传输异常的方法,不仅可以发现数据传输丢失事件,还可以基于传输异常原因发现传输内容丢失事件,以及确定出由于解析异常导致的异常数据传输事件,从而指导用户可以基于不同的传输异常原因及时采取相对应的处理方式,以保证数据接收端接收到数据的准确性和完整性,此外,还引入响应等待次数、响应等待时间、内容丢失次数以及重采次数多个判断指标对数据传输过程中的传输异常事件进行判断,提高了数据传输异常判断的准确率和效率。

图2是根据一示例性实施例示出的一种确定数据传输异常的装置的框图,如图2所示,该装置包括:

发送模块201,用于将待传输的多个目标数据集依次发送至数据接收端,以便该数据接收端响应于接收到每个目标数据集,向数据发送端发送该目标数据集对应的响应信息;

状态更新模块202,用于若接收到该数据接收端发送的任一目标数据集对应的响应信息,根据该响应信息更新传输状态信息,该传输状态信息用于表示每个该目标数据集对应的传输状态;

第一确定模块203,用于根据更新后的传输状态信息确定多个该目标数据集的传输结果,该传输结果用于表征多个该目标数据集是否传输异常,以及在任意该目标数据集传输异常的情况下的传输异常原因。

可选地,该传输状态信息包括内容丢失次数,和/或,接收该响应信息的响应等待参数;若该传输状态信息包括内容丢失次数,该状态更新模块202,用于获取该任一目标数据集的第一数据大小;从该响应信息中获取该数据接收端接收到该任一目标数据集的第二数据大小;若该第二数据大小与该第一数据大小不同,则按照第一预设次数更新该任一目标数据集对应的该内容丢失次数,得到目标内容丢失次数;

该第一确定模块203,用于若该目标内容丢失次数达到预设内容丢失次数,确定该任一目标数据集传输异常,且该传输异常原因为数据内容丢失。

可选地,该传输状态信息包括响应等待参数,该响应等待参数包括响应等待次数和/或响应等待时间,若该响应等待参数包括响应等待次数,该状态更新模块202,用于获取该任一目标数据集在多个目标数据集中的发送顺序;根据该发送顺序,从多个目标数据集中确定在该任一目标数据集之前发送的其他数据集;按照第二预设次数更新该其他数据集中待更新数据集对应的响应等待次数,得到目标响应等待次数,其中,该待更新数据集包括未接收到响应信息的数据集;

该第一确定模块203,用于若该目标响应等待次数达到预设响应等待次数,确定该待更新数据集传输异常,且该传输异常原因为传输过程错误。

可选地,若该响应等待参数包括响应等待时间,该状态更新模块202,用于根据该待更新数据集的发送时间更新该响应等待时间,得到目标响应等待时间;该第一确定模块203,用于若该目标响应等待时间达到预设响应等待时间,确定该待更新数据集传输异常,且该传输异常原因为该传输过程错误。

可选地,图3是根据图2所示实施例示出的一种确定数据传输异常的装置的框图,该传输过程错误包括解析异常,每个该目标数据集包括一行或多行数据;在传输结果表征多个该目标数据集中存在传输异常的异常数据集的情况下,如图3所示,该装置还包括:

数据重采模块204,用于针对每个该异常数据集,重新获取该异常数据集对应的重采数据集,并将该重采数据集发送至数据接收端;

重采次数更新模块205,用于在将该重采数据集发送至数据接收端后,更新该异常数据集对应的重采次数;

第二确定模块206,用于若更新后的重采次数达到预设重采次数阈值,确定该异常数据集的异常原因为该解析异常。

可选地,该数据重采模块204,用于针对每个该异常数据集,获取该异常数据集的第一起始行编号;从多个该目标数据集中,确定该第一起始行编号之前预设行编号数量对应的待处理数据集的第二起始行编号;获取该第一起始行编号与该第二起始行编号之间待处理数据集的传输状态信息;获取该待处理数据集的个数;根据该异常数据集和该待处理数据集的传输状态信息,以及该个数计算传输异常率;根据该传输异常率确定重采数据集范围;重新获取该重采数据集范围内的数据集。

可选地,该数据重采模块204,用于若该传输异常率大于或者等于预设异常率阈值,确定该重采数据集范围包括该异常数据集,以及该第一起始行编号与该第二起始行编号之间的全部待处理数据集;若该传输异常率小于该预设异常率阈值,确定该重采数据集范围包括该异常数据集以及该待处理数据集中传输异常的数据集。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

采用上述装置,根据实时更新的每个目标数据集对应的传输状态信息不仅可以确定目标数据集是否传输异常,还可以在确定任意目标数据集传输异常的情况下,进一步确定传输异常原因,从而方便用户可以根据该传输异常原因选择对应的处理方式对异常传输事件进行修复,以保证数据传输的准确性和完整性。

图4是根据一示例性实施例示出的一种电子设备400的框图。如图4所示,该电子设备400可以包括:处理器401,存储器402。该电子设备400还可以包括多媒体组件403,输入/输出(i/o)接口404,以及通信组件405中的一者或多者。

其中,处理器401用于控制该电子设备400的整体操作,以完成上述的确定数据传输异常的方法中的全部或部分步骤。存储器402用于存储各种类型的数据以支持在该电子设备400的操作,这些数据例如可以包括用于在该电子设备400上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器402或通过通信组件405发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口404为处理器401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件405用于该电子设备400与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件405可以包括:wi-fi模块,蓝牙模块,nfc模块等等。

在一示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的确定数据传输异常的方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的确定数据传输异常的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器402,上述程序指令可由电子设备400的处理器401执行以完成上述的确定数据传输异常的方法。

在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的确定数据传输异常的方法的代码部分。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1