一种监控传输数据完整性的方法及系统与流程

文档序号:33714014发布日期:2023-04-01 03:13阅读:192来源:国知局
一种监控传输数据完整性的方法及系统与流程

1.本发明涉及数据完整性监控的技术领域,尤其涉及一种监控传输数据完整性的方法及系统。


背景技术:

2.目前对于uac(usb aud i o c l ass)的数据传输完整性的监控,一般是通过特征数据(测试数据)分析法进行的。从机循环发送0-255的连续数据给主机,主机收到数据之后,判断数据的连续性,从而得知传输是否有数据丢失和纂改,以来监控传输的完整性。
3.但是采用上述方法usb设备发送的是特征数据,而不是真实的音频数据,所以这种方法,本质上只能作为实验室评估用,让系统做有限时间的数据传输,来推断传输的完整性,但是换成真实的音频数据,在真实的应用环境中长时间运行,数据传输是否完整,是无法监测的。特征数据是0-255(256个字节)循环发送(0 1 2......253 254 255 0 1 2......253 254 255),如果连续丢失数据长度为256个字节的整数倍,上述方法是监测不到数据丢失的。如图1所示,丢失方框内数据,主机监测的时候会发现数据还是连续的,从而判断数据没有丢失。
4.采用上述方法的缺陷是由于该方法的实现原理导致的,通过给主机循环发送特征数据,只能保证测试期间的数据完整性,在真实应用场景中,是没有任何监控机制,来检测数据完整性的;0到255的循环数据块发送,数据块之间耦合度太高,且没有任何特征标识和数据块的计数,任意连续256字节整数倍的数据丢失,无法被检测到。
5.基于上述缺陷,可以通过增加测试时长,来尽可能地确保数据传输完整性,但是不能从本质上解决实时音频传输的数据完整性检测。或者通过增加特征数据的位宽,比如用32位位宽,则可以从0计数到4,294,967,295,解决数据块之间的强耦合问题,但是只是解决了强耦合问题,万一有4,294,967,295整数倍的数据丢失,还是无法检测到。


技术实现要素:

6.针对上述问题,本发明的目的在于提供一种监控传输数据完整性的方法及系统。由于音频数据的随机性,如果采用真实应用场景的实时数据,在没有任何保障手段的前提下,主机是无法知道是否发生了数据丢失或纂改的。考虑到音频数据的随机性,可以充分利用这一特性,对每一帧音频数据进行校验,额外开一路通道,加载校验值,跟音频数据一起传输给主机,主机收到音频数据之后,按照从机同样的方法,对每一帧数据进行校验,然后跟接收的校验值比对,如果校验值一致,则可以判断接收到的数据是完整的。因为是对真实应用场景下,传输数据的同步校验,从根本上解决了上述类似技术的缺陷。
7.本发明的上述发明目的是通过以下技术方案得以实现的:
8.一种监控传输数据完整性的方法,包括以下步骤:
9.s1:在usb设备端,对准备传输的每一帧音频数据的每个通道分别做校验,获取所有所述通道的校验值,并将所述校验值与所述音频数据一起传输给usb主机端;
10.s2:所述usb主机端接收所述usb设备端传输的所述音频数据,并采用与所述usb设备端相同的方式计算每个所述通道的所述校验值;
11.s3:针对每一帧所述音频数据的每个所述通道,分别对比所述usb设备端传输过来的所述校验值与所述usb主机端计算的所述校验值,若两个所述校验值一致,则对应的所述通道的数据是完整的,否则所述通道的数据发生了数据丢失或纂改。
12.进一步地,在步骤s1中,还包括:
13.采用包括crc校验在内的方式对每个所述通道分别做校验,获取所有所述通道的校验值。
14.进一步地,在步骤s1中,还包括:
15.在每一帧的所述音频数据上,另外开辟一条所述通道,用于加载所述音频数据的所述校验值;
16.将所述校验值同时加载在所述通道的头部和尾部,中间位置用0填充。
17.进一步地,在步骤s1中,还包括:
18.对于准备传输的每一帧所述音频数据,在用于加载所述音频数据的所述校验值的所述通道上,同时加载所述音频数据的计数包,用于累积所述音频数据传输的帧数;
19.每传输一帧所述音频数据,所述计数包的计数值加1。
20.进一步地,在步骤s3中,还包括:
21.比对用于加载所述音频数据的所述校验值的所述通道的头部和尾部,若头部和尾部数据不一致,则本次传输的一帧所述音频数据数据发生了数据丢失或纂改。
22.进一步地,在步骤s3中,还包括:
23.判断每一帧的所述计数包的所述计数值是否等于上一帧的所述计数值加1,若等式成立,则当前帧的所述音频数据是完整的,否则发生了所述音频数据整包的数据丢失。
24.一种用于执行如上述的监控传输数据完整性的方法的监控传输数据完整性的系统,包括:
25.设备端校验模块,用于在usb设备端,对准备传输的每一帧音频数据的每个通道分别做校验,获取所有所述通道的校验值,并将所述校验值与所述音频数据一起传输给usb主机端;
26.主机端校验模块,用于提供给所述usb主机端接收所述usb设备端传输的所述音频数据,并采用与所述usb设备端相同的方式计算每个所述通道的所述校验值;
27.校验值比对模块,用于针对每一帧所述音频数据的每个所述通道,分别对比所述usb设备端传输过来的所述校验值与所述usb主机端计算的所述校验值,若两个所述校验值一致,则对应的所述通道的数据是完整的,否则所述通道的数据发生了数据丢失或纂改。
28.进一步地,监控传输数据完整性的系统,还包括:
29.校验值通道开辟模块,用于在每一帧的所述音频数据上,另外开辟一条所述通道,用于加载所述音频数据的所述校验值;将所述校验值同时加载在所述通道的头部和尾部,中间位置用0填充。
30.一种计算机设备,包括存储器和一个或多个处理器,所述存储器中存储有计算机代码,所述计算机代码被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述的方法。
31.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如上述的方法被执行。
32.与现有技术相比,本发明包括以下至少一种有益效果是:
33.(1)通过提供一种监控传输数据完整性的方法,包括以下步骤:s1:在usb设备端,对准备传输的每一帧音频数据的每个通道分别做校验,获取所有所述通道的校验值,并将所述校验值与所述音频数据一起传输给usb主机端;s2:所述usb主机端接收所述usb设备端传输的所述音频数据,并采用与所述usb设备端相同的方式计算每个所述通道的所述校验值;s3:针对每一帧所述音频数据的每个所述通道,分别对比所述usb设备端传输过来的所述校验值与所述usb主机端计算的所述校验值,若两个所述校验值一致,则对应的所述通道的数据是完整的,否则所述通道的数据发生了数据丢失或纂改。上述技术方案,充分利用了音频数据的随机性,对每一帧音频数据进行校验,额外开一路通道,加载校验值,跟音频数据一起传输给主机,主机收到音频数据之后,按照从机同样的方法,对每一帧数据进行校验,然后跟接收的校验值比对,如果校验值一致,则可以判断接收到的数据是完整的。因为是对真实应用场景下,传输数据的同步校验,从根本上解决了背景技术中类似技术的缺陷。
34.(2)通过对于准备传输的每一帧所述音频数据,在用于加载所述音频数据的所述校验值的所述通道上,同时加载所述音频数据的计数包,用于累积所述音频数据传输的帧数;每传输一帧所述音频数据,所述计数包的计数值加1。上述技术方法通过对每一帧的音频数据进行计算,可以检测到是否有音频数据整包丢失。
35.(3)通过比对用于加载所述音频数据的所述校验值的所述通道的头部和尾部,若头部和尾部数据不一致,则本次传输的一帧所述音频数据数据发生了数据丢失或纂改。上述技术方案,能够检测本次传输的一帧音频数据是否发生了数据丢失或纂改。
附图说明
36.图1为背景技术中数据丢失的示意图;
37.图2为本发明第一实施例中一种监控传输数据完整性的方法的整体流程图;
38.图3为本发明第一实施例中一种监控传输数据完整性的方法的细节流程图;
39.图4为本发明第一实施例中增加校验值通道前的数据包示意图;
40.图5为本发明第一实施例中增加校验值通道后的数据包示意图;
41.图6为本发明第二实施例中一种监控传输数据完整性的系统的整体结构图。
具体实施方式
42.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
44.第一实施例
45.如图2和3所示,本实施例提供了一种监控传输数据完整性的方法,包括以下步骤:
46.s1:在usb设备端,对准备传输的每一帧音频数据的每个通道分别做校验,获取所有所述通道的校验值,并将所述校验值与所述音频数据一起传输给usb主机端。
47.具体的,在本实施例中需要首先在usb设备端,对准备传输的每一帧音频数据的每个通道分别做校验,获取每一个通道的校验值。后续将校验值与音频数据一起打包封装发送到usb主机端。
48.对于校验值的存储方式,在本实施例中的方式为:如图4和图5,在每一帧的所述音频数据上,另外开辟一条所述通道,用于加载所述音频数据的所述校验值;考虑到数据丢失的不确定性,丢失可能在传输校验值的通道,故将所述校验值同时加载在所述通道的头部和尾部,中间位置用0填充。因为校验值在单独的通道传输,所以usb主机在算力紧张或者实时性要求高的情况下,可以直接丢弃该通道数据,不做校验,只在项目验收阶段,做有限时间的校验,验证数据传输的完整性,效果等同于上述的相似技术。但是这不是本发明的唯一的存储校验值的方式,此种方式,把音频数据各个通道的校验值,放在额外的通道上,跟音频数据一起通过usb接口传输给主机,因为增加了一路额外的通道,对数据传输的吞吐量有更高的要求。对此,还可以采用另一种可行的方案,可以把校验值和下文中的计数值,通过其他的数据传输手段,发送给usb主机,这样不会增加usb传输的负担,但是需要额外的传输手段,在很多应用场景是不具备这种条件的,而且音频数据和校验值分开传输,会带来数据同步的问题。
49.进一步地,对于校验值的计算方式,本发明不做明确的规定,可以根据实际情况,usb设备端和usb主机端采用合适的计算方法,比如有些usb主机端有硬件模块支持快速crc计算,可以选用crc作为计算校验值的方法。
50.进一步地,考虑到一次传输所有数据丢失的可能性,对于准备传输的每一帧所述音频数据,在用于加载所述音频数据的所述校验值的所述通道上,同时加载所述音频数据的计数包,用于累积所述音频数据传输的帧数;每传输一帧所述音频数据,所述计数包的计数值加1(如图5)。
51.s2:所述usb主机端接收所述usb设备端传输的所述音频数据,并采用与所述usb设备端相同的方式计算每个所述通道的所述校验值。
52.具体的,usb主机端,在收到一次传输的音频数据之后,在存放各通道数据的同时,用与usb设备端相同的方法计算出校验值。
53.s3:针对每一帧所述音频数据的每个所述通道,分别对比所述usb设备端传输过来的所述校验值与所述usb主机端计算的所述校验值,若两个所述校验值一致,则对应的所述通道的数据是完整的,否则所述通道的数据发生了数据丢失或纂改。
54.进一步地,比对用于加载所述音频数据的所述校验值的所述通道的头部和尾部,若头部和尾部数据不一致,则本次传输的一帧所述音频数据数据发生了数据丢失或纂改。
55.进一步地,判断每一帧的所述计数包的所述计数值是否等于上一帧的所述计数值加1,若等式成立,则当前帧的所述音频数据是完整的,否则发生了所述音频数据整包的数据丢失。如假设计数值为ccnt,是否等于上次的传输计数pcnt值加1,即ccnt=pcnt+1,如果等式不成立,则可以判断,传输过程中发生了整包(即通道1到n+1)数据丢失。
56.第二实施例
57.如图6所示,本实施例提供了一种用于执行如第一实施例中的监控传输数据完整性的方法的监控传输数据完整性的系统,包括:
58.设备端校验模块1,用于在usb设备端,对准备传输的每一帧音频数据的每个通道分别做校验,获取所有所述通道的校验值,并将所述校验值与所述音频数据一起传输给usb主机端;
59.主机端校验模块2,用于提供给所述usb主机端接收所述usb设备端传输的所述音频数据,并采用与所述usb设备端相同的方式计算每个所述通道的所述校验值;
60.校验值比对模块3,用于针对每一帧所述音频数据的每个所述通道,分别对比所述usb设备端传输过来的所述校验值与所述usb主机端计算的所述校验值,若两个所述校验值一致,则对应的所述通道的数据是完整的,否则所述通道的数据发生了数据丢失或纂改。
61.进一步地,监控传输数据完整性的系统,还包括:
62.校验值通道开辟模块4,用于在每一帧的所述音频数据上,另外开辟一条所述通道,用于加载所述音频数据的所述校验值;将所述校验值同时加载在所述通道的头部和尾部,中间位置用0填充。
63.一种计算机可读存储介质,计算机可读存储介质存储有计算机代码,当计算机代码被执行时,如上述方法被执行。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,read on l y memory)、随机存取存储器(ram,random access memory)、磁盘或光盘等。
64.以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
65.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
66.应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有2条留言
  • 180627... 来自[中国] 2023年04月04日 20:33
    很好的方案,学习了
    0
  • 155293... 来自[中国] 2023年04月02日 14:43
    这项专利发明的意义非凡,思路新颖,可以有效的监控数据丢失问题
    0
1