本申请涉及但不限于光纤通道航空电子技术,其中涉及一种实现数据处理的方法、装置、计算机存储介质及终端。
背景技术:
1、光纤通道航空电子(fc-ae,fibre channel-aviation electronics)是一种航空高速数据总线技术,用于在航空、航天电子系统中传输高速、可靠的数据和控制信息。fc-ae技术,通过在航空航天电子系统中应用fibre channel的优势,结合航空航天电子系统特殊的需求,提供了高速、可靠和抗干扰的数据传输解决方案,大量上层应用协议应运而生;由于数据处理需求越来越复杂多样,通用的数据缓存和上传的处理方法,无法满足一些特定的数据需求。
2、基于fc-ae的通用的数据缓存和读取方法,是将数据缓存在队列中,通过轮询方式逐条将数据读出,拷贝到用户空间内存。高速数据连续接收时,由于内存拷贝导致效率低下,容易造成数据阻塞,同时如果应用层动态获取不同消息唯一标识(id)的数据时会导致数据的丢失;图1为相关技术中数据丢失的示意图,如图1所示,数据按接收顺序缓存于队列中,队列中4条数据的消息id分别是message1(图中用消息id表示缓存在队列中的数据)、message3、message2和message2,应用层第一次读取数据,需要消息id为message2的数据,而通过轮询方式逐条读取时读取的数据的消息id是message1,故丢弃;第二次读取数据,需要消息id为message2的数据,通过轮询方式逐条读取时读取的数据的消息id是message3,故丢弃;第三次读取数据时,需要消息id为message3的数据,通过轮询方式逐条读取时读取的数据的消息id是message2,故丢弃;队列中有需要的数据,但通过轮询方式逐条读取数据的方法,导致连续三次都没有获取到需要的数据,最终导致数据丢失;此外,应用层按照预设周期通过上述轮询方式读取缓存的数据,这会导致数据未被及时取出时缓存数据的内存被写满,造成数据缓存出错。
3、综上,在高速数据连续接收时,数据缓存和读出的处理质量,成为一个有待解决的问题。
技术实现思路
1、以下是对本申请详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
2、本公开实施例提供一种实现数据处理的方法、装置、计算机存储介质及终端,能够提升高速数据连续接收时的数据处理质量。
3、本公开实施例提供了一种实现数据处理的方法,包括:
4、按照第一内存和第二内存的先后顺序缓存数据,第一内存和第二内存的物理地址连续,数据包括光纤通道航空电子fc-ae数据;
5、生成缓存的每一条数据的检索信息;
6、应用层执行数据读出时,确定需要读出的数据的检索信息;
7、根据确定的检索信息读出缓存的数据;
8、其中,第一内存缓存区满时,触发应用层进行数据读出。
9、在一种示例性实例中,所述生成缓存的每一条数据的检索信息,包括:
10、缓存每一条所述数据时,根据所述数据的fc-ae通道号、消息唯一标识id和存储位置信息,生成相应的所述检索信息。
11、在一种示例性实例中,所述确定需要读出的数据的检索信息之前,所述方法还包括:
12、将所述检索信息写入预设的存储区域。
13、在一种示例性实例中,所述检索信息中还包括有效标志信息,所述方法还包括:
14、将所述检索信息写入所述存储区域时,通过所述有效标志信息标识所述检索信息有效;
15、确定所述需要读出的数据的检索信息之后,根据确定的所述检索信息读出缓存的数据之前,通过所述有效标志信息标识所述检索信息失效。
16、在一种示例性实例中,所述确定需要读出的数据的检索信息,包括:
17、根据所述需要读出的数据的fc-ae通道号和消息id,确定所述需要读出的数据的检索信息。
18、在一种示例性实例中,所述方法还包括:
19、统计缓存至所述第一内存和所述第二内存中的数据的个数;
20、当所述第一内存和第二内存中的数据的个数为零时,按照第一内存和第二内存的先后顺序缓存数据。
21、另一方面,本公开实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述实现数据处理的方法。
22、再一方面,本公开实施例还提供一种终端,包括:存储器和处理器,所述存储器中保存有计算机程序;其中,
23、处理器被配置为执行存储器中的计算机程序;
24、所述计算机程序被所述处理器执行时实现如上述实现数据处理的方法。
25、还一方面,本公开实施例还提供一种实现数据处理的装置,包括:缓存单元、生成检索信息单元、确定检索信息单元和读出单元;其中,
26、缓存单元设置为:按照第一内存和第二内存的先后顺序缓存数据,第一内存和第二内存的物理地址连续,数据包括光纤通道航空电子fc-ae数据;
27、生成检索信息单元设置为:生成缓存的每一条数据的检索信息;
28、确定检索信息单元设置为:应用层执行数据读出时,确定需要读出的数据的检索信息;
29、读出单元设置为:根据确定的检索信息读出缓存的数据;
30、其中,第一内存缓存区满时,触发应用层进行数据读出。
31、在一种示例性实例中,所述生成检索信息单元是设置为:
32、缓存每一条所述数据时,根据数据的fc-ae通道号、消息唯一标识id和存储位置信息,生成相应的所述检索信息。
33、本申请技术方案包括:按照第一内存和第二内存的先后顺序缓存数据,第一内存和第二内存的物理地址连续,数据包括光纤通道航空电子(fc-ae)数据;生成缓存的每一条数据的检索信息;应用层执行数据读出时,确定需要读出的数据的检索信息;根据确定的检索信息读出缓存的数据;其中,第一内存缓存区满时,触发应用层进行数据读出。本公开实施例通过两块内存进行数据存储,第一内存缓存区满时,触发应用层进行数据读出,避免了在高速数据连续接收时发生数据阻塞和数据缓存错误,通过检索信息进行数据的动态读取,避免了发生动态获取不同消息id的数据时出现数据丢失,提升高速数据连续接收时的数据处理质量。
34、本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
1.一种实现数据处理的方法,包括:
2.根据权利要求1所述的方法,其特征在于,所述生成缓存的每一条数据的检索信息,包括:
3.根据权利要求1所述的方法,其特征在于,所述确定需要读出的数据的检索信息之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述检索信息中还包括有效标志信息,所述方法还包括:
5.根据权利要求1~4任一项所述的方法,其特征在于,所述确定需要读出的数据的检索信息,包括:
6.根据权利要求1~4任一项所述的方法,其特征在于,所述方法还包括:
7.一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的实现数据处理的方法。
8.一种终端,包括:存储器和处理器,所述存储器中保存有计算机程序;其中,
9.一种实现数据处理的装置,包括:缓存单元、生成检索信息单元、确定检索信息单元和读出单元;其中,
10.根据权利要求9所述的装置,其特征在于,所述生成检索信息单元是设置为: