CN109522140B - 通讯板卡接收数据方法 - Google Patents
通讯板卡接收数据方法 Download PDFInfo
- Publication number
- CN109522140B CN109522140B CN201811407908.9A CN201811407908A CN109522140B CN 109522140 B CN109522140 B CN 109522140B CN 201811407908 A CN201811407908 A CN 201811407908A CN 109522140 B CN109522140 B CN 109522140B
- Authority
- CN
- China
- Prior art keywords
- layer
- data
- software
- resource
- middle layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出了一种通讯板卡接收数据的方法。本方法包括以下步骤:在以往由底层资源层和上层应用软件层所构成的软件层中间,添加一个中间层,并为其申请足够的内存空间用于临时存放从底层资源层采集上来的所有数据,中间层以监听底层硬件资源数据采集中断的方式采集底层数据,上层应用软件层依据功能和性能的需求从中间层提取数据,当中间层出现数据溢出时向上层应用软件层上报异常并处理。本发明实例不仅保持了数据通讯板卡的本身已有的全部功能,同时还能够解决当底层资源层数据采集高频数据导致底层数据缓存溢出而丢失数据的问题,降低硬件更新成本。
Description
技术领域
本发明涉及计算机应用软件技术领域,尤其涉及上层应用软件与底层硬件数据通讯领域。
背景技术
在导弹地面测试软件中,为了验证导弹的全部功能是否满足功能和性能要求,往往需要对导弹整个发射流程中的所有数据进行采集和保存,以便后续进行数据分析使用。但随着导弹功能软件化程度的不断加大,导弹运行过程中各个子系统间的数据交互量随之增大,各个子系统间交互的需求也不尽相同,这就对测试设备的数据采集功能提出了更高的要求。
在以往的使用过程中我们发现,当采集的数据量超过一定范围后,测试设备中的通讯板卡会出现数据丢包的情况。其中主要的原因是通讯数据量的增大,在上层应用软件层两次读取数据期间,底层资源板卡接收到的数据超出了其自身提供的缓存空间,使得底层板卡数据缓存出现溢出或者覆盖,导致上层应用软件层出现数据丢包。
针对现有技术的缺陷,提出本申请相对于现有技术需要解决的技术问题。
发明内容
鉴于此,为了解决现有技术中的至少一种技术问题,本发明提供了一种通讯板卡接收数据方法。该方法包括:
在软件层中加入一个中间层,在内存中申请足够的空间用于存储通讯板卡接收的数据;
中间层持续监听底层资源层的通讯板卡的采集中断信号,及时采集底层资源层的通讯板卡接收到的数据,并将接收到的数据临时存储;
软件层中的上层应用软件按照功能和性能需求取走软件层中的中间层中临时存放的数据,用于上层应用分析;
当中间层出现数据溢出时,向上层应用软件反馈数据异常情况,由上层应用软件进行相应处理。
本发明一方面解决了某些型号测试软件使用过程中出现数据丢包严重的问题,且当发生此类问题的时候能够即时发现并采取处理;另一方面通过对软件层的优化,减少了由于硬件资源无法满足快速提升的软件功能需求而产生的硬件资源更新成本,进而缩减项目成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,显而易见,下面所描述的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例的数据接收方法的逻辑流程示意图;
图2是本发明一实施例的数据接收方法的整体架构示意图;
图3是本发明一实施例的数据接收方法的数据流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动的前提下,所获得的所有其他实施例,都属于本发明保护的范围。
下面将详细描述本发明的各个方面的特征和示意性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域的技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体设置和方法,而是在不脱离本发明的精神的前提下覆盖了结构、方法、器件的任何改进、替换和修改。在附图和下面的描述中,没有示出公知的结构和技术,以避免对本发明造成不必要的模糊。
需要说明的是,在不冲突的情况下,本发明实施例及实施例中的特征可以互相结合,各个实施例可以相互参考和引用。
图1是本发明一实施例的数据接收方法的逻辑流程示意图;图2是本发明一实施例的数据接收方法的整体架构示意图;图3是本发明一实施例的数据接收方法的数据流程示意图。
下面参考图1、图2和图3,并结合实施例来详细说明本发明。
实施例1:底层资源层包含通讯板卡1和通讯板卡2,其中通讯板卡1的采样周期为5ms,采样长度为200B,通讯板卡2的采样周期为10ms,采样长度为300B,上层应用软件层数据采样周期需求为100ms。
实施例1包括以下步骤:
步骤1:计算各项指标计算所需申请的最小内存空间,在上层软件采样周期20s内,底层资源层中通讯板卡1接收数据量为4000B,通讯板卡2接收数据量为3000B,总计接收数据量为7000B,为保证能够正常接收还需提供40%左右的存储余量,则中间层需要申请的内存空间大小为9800B,据此设置为10MB;
步骤2:软件启动后中间层持续监听底层资源板卡的采集中断请求,通讯板卡1以5ms为周期向中间层发送采集中断请求,通讯板卡2以10ms为周期向中间层发送采集中断请求,中间层收到采集中断请求后将底层资源板卡缓存中的数据提取,并储存在申请的内存空间中等待上层应用软件层提取;
步骤3:上层应用软件层以100ms为周期向中间层提取数据,将中间层缓存的数据全部取出并清空缓存区,以便存放新的数据;
步骤4:当上层应用软件层提取数据周期出现异常时,会导致中间层缓存区的数据超出10MB内存空间大小,中间层向上层应用软件层上报数据溢出异常,并清空中间层缓存;
步骤5:上层应用软件层收到数据溢出异常后告知用户,进行问题分析并解决。
上述板卡接收高频数据时丢包的通用解决方法,主要解决方案是在应用软件层和底层硬件板卡之间加入一个中间层,该中间层通过软件实现,该方案可以如下所示:
1)在应用软件中加入一个中间层,在内存中申请足够的空间用于存储数据;
2)测试设备软件开始测试后,中间层用于监听底层板卡的采集中断,及时采集底层通讯板卡接收到的数据,并将数据临时存储;
3)上层应用软件按照功能和性能需求取走中间层中存放的数据,用于上层应用分析;
4)当中间层出现数据溢出时及时向上层应用反馈情况,由上层应用进行相应处理;
本发明一方面解决了某些型号测试软件使用过程中出现数据丢包严重的问题,且当发生此类问题的时候能够即时发现并采取处理,另一方面通过对软件层的优化,减少了由于硬件资源无法满足快速提升的软件功能需求而产生的硬件资源更新成本,进而缩减项目成本。
以上实施例仅用以说明本发明的技术方案,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明揭露的技术范围内,可以轻易想到各种等效的修改或者替换,这些修改或者替换都应该涵盖在本发明的保护范围之内。
结论:以往软件层中,由于上层应用软件层采集需求与底层资源层采集需求存在差异,可能导致底层资源层采集的数据不能及时被应用层取出而滞留在硬件缓存中,而硬件缓存空间为固定值且比较小,容易造成底层数据缓存出现溢出使得数据出现丢失。该方法设计完成后,经过多次试验验证,表明该方法能够有效的解决此前出现的数据丢失问题,达到设计目的。
需要说明的是,上述实施例中所示的功能组件的实现方式可以为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
最后应该说明的是:以上实施例仅用以说明本发明的技术方案,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明揭露的技术范围内,可以轻易想到各种等效的修改或者替换,这些修改或者替换都应该涵盖在本发明的保护范围之内。
Claims (4)
1.一种通讯板卡接收数据的方法,用于导弹地面测试软件的上层应用层和底层板卡资源之间的数据通讯,底层资源层包括CAN总线、1553B通讯板卡,其特征在于,包括:
S1,在软件层中加入一个中间层,在内存中申请足够的空间用于存储通讯板卡接收的数据;
S2,中间层持续监听底层资源层的通讯板卡的采集中断信号,及时采集底层资源层的通讯板卡接收到的数据,并将接收到的数据临时存储;
S3,软件层中的上层应用软件按照功能和性能需求取走软件层中的中间层中临时存放的数据,用于上层应用分析;
S4,当中间层出现数据溢出时,向上层应用软件反馈数据异常情况,由上层应用软件进行相应处理;
其中,S2包括:
软件层以线程的形式调用中间层软件;
中间层软件线程持续监听底层资源层的通讯板卡的采集中断信号,当接收到中断时,将底层资源层接收到数据取走并存储至中间层之前申请的内存空间中;
中间层软件收到底层采集中断时,判断中间层缓存剩余容量是否足够存储空间用于存放底层资源层所采集到的数据,当容量不足时表明数据溢出,中间层软件向上层应用软件反馈异常,否则将底层资源层采集得到的数据存入中间层缓存,并清空底层资源层缓存数据。
2.根据权利要求1所述的方法,其特征在于,S3包括:
上层应用软件依据功能和性能要求向中间层提取数据;
当数据被提取后,清空中间层数据缓存,以便接受新的数据;
当上层应用软件接收到中间层软件的异常反馈时,对异常情况进行分析,并根据分析结果解决异常;
当数据接收流程结束或者异常终止时,中止线程并销毁。
3.根据权利要求1所述的方法,其特征在于,根据分析结果解决异常,包括:
通过扩大缓存空间和/或提高采数频率的手段优化上层应用软件解决异常。
4.根据权利要求1-3中任意一项所述的方法,其特征在于,还包括:
基于底层资源层的采样频率、采样长度以及上层应用软件的采样频率,为中间层设置足够的内存空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811407908.9A CN109522140B (zh) | 2018-11-23 | 2018-11-23 | 通讯板卡接收数据方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811407908.9A CN109522140B (zh) | 2018-11-23 | 2018-11-23 | 通讯板卡接收数据方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522140A CN109522140A (zh) | 2019-03-26 |
CN109522140B true CN109522140B (zh) | 2023-10-20 |
Family
ID=65777490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811407908.9A Active CN109522140B (zh) | 2018-11-23 | 2018-11-23 | 通讯板卡接收数据方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522140B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111752194A (zh) * | 2020-06-17 | 2020-10-09 | 江西洪都航空工业集团有限责任公司 | 一种基于usb接口的便携式gjb289a总线通讯设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4858151A (en) * | 1986-09-29 | 1989-08-15 | Kabushiki Kaisha Toshiba | Data processing device for use in scintillation camera apparatus |
CN102638487A (zh) * | 2011-03-02 | 2012-08-15 | 中国科学院地质与地球物理研究所 | 大型遥测地震仪高性能数据传输方法 |
CN104881600A (zh) * | 2015-06-23 | 2015-09-02 | 中国矿业大学(北京) | 一种解决探地雷达数据采集系统中数据溢出的技术方法 |
CN105574242A (zh) * | 2015-12-11 | 2016-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种通信接口及基于该接口的仿真应用方法 |
CN108228490A (zh) * | 2018-01-26 | 2018-06-29 | 武汉精测电子集团股份有限公司 | 一种基于pcie卡高速数据传输的驱动方法 |
CN108551490A (zh) * | 2018-05-14 | 2018-09-18 | 西京学院 | 一种工业流数据编码解码系统及方法 |
CN108804347A (zh) * | 2017-05-05 | 2018-11-13 | 华中科技大学 | 一种用于工业大数据汇聚的缓存层、汇聚系统及方法 |
-
2018
- 2018-11-23 CN CN201811407908.9A patent/CN109522140B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4858151A (en) * | 1986-09-29 | 1989-08-15 | Kabushiki Kaisha Toshiba | Data processing device for use in scintillation camera apparatus |
CN102638487A (zh) * | 2011-03-02 | 2012-08-15 | 中国科学院地质与地球物理研究所 | 大型遥测地震仪高性能数据传输方法 |
CN104881600A (zh) * | 2015-06-23 | 2015-09-02 | 中国矿业大学(北京) | 一种解决探地雷达数据采集系统中数据溢出的技术方法 |
CN105574242A (zh) * | 2015-12-11 | 2016-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种通信接口及基于该接口的仿真应用方法 |
CN108804347A (zh) * | 2017-05-05 | 2018-11-13 | 华中科技大学 | 一种用于工业大数据汇聚的缓存层、汇聚系统及方法 |
CN108228490A (zh) * | 2018-01-26 | 2018-06-29 | 武汉精测电子集团股份有限公司 | 一种基于pcie卡高速数据传输的驱动方法 |
CN108551490A (zh) * | 2018-05-14 | 2018-09-18 | 西京学院 | 一种工业流数据编码解码系统及方法 |
Non-Patent Citations (2)
Title |
---|
TD-SCDMA网络测试仪STM-1数据采集卡的实现;裴二荣等;《重庆邮电大学学报(自然科学版)》;20070228;第19卷(第01期);全文 * |
基于PCI总线的MPEG-2解码插卡软件接口设计;王峰等;《红外与激光工程》;20020225;第31卷(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109522140A (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107589994B (zh) | 应用进程优先级管理的方法、设备、系统及存储介质 | |
CN111045933B (zh) | 一种回归策略更新方法、装置、存储介质及终端设备 | |
CN110362418B (zh) | 一种异常数据恢复方法、装置、服务器及存储介质 | |
US10324784B2 (en) | Mitigating crashes of an application server executing a monitoring agent | |
RU2571562C2 (ru) | Способ, устройство и система для переноса ресурса | |
CN109522140B (zh) | 通讯板卡接收数据方法 | |
CN106569871A (zh) | 升级处理方法及装置 | |
CN108446300B (zh) | 数据信息的扫描方法及装置 | |
CN104991866B (zh) | Js程序的调试方法及装置 | |
CN115470008A (zh) | 一种元数据访问方法、装置和存储介质 | |
CN110069217A (zh) | 一种数据存储方法及装置 | |
CN113535214A (zh) | 算法文件升级方法、装置、电子装置和存储介质 | |
CN112286559A (zh) | 一种车载智能终端的升级方法及装置 | |
CN112363841A (zh) | 应用进程的查杀方法、装置、电子设备及存储介质 | |
CN107589907B (zh) | 数据处理方法、电子设备及计算机可读存储介质 | |
CN108121514B (zh) | 元信息更新方法、装置、计算设备及计算机存储介质 | |
CN109361714B (zh) | 用户登录鉴权方法、装置、设备及计算机存储介质 | |
CN104008155A (zh) | 资源控制方法、装置和电子设备 | |
CN110413679A (zh) | 数据库信息处理方法、装置、设备及可读存储介质 | |
CN116560791A (zh) | 进程的处理器亲和性管理方法、装置及电子设备 | |
CN111427603B (zh) | 应用程序的升级方法及装置 | |
CN111107429A (zh) | 提高电视系统性能的方法、装置及计算机可读存储介质 | |
CN111352710A (zh) | 进程管理方法及装置、计算设备、存储介质 | |
CN109388436A (zh) | 开机流程的控制方法、装置及存储介质 | |
CN113806119B (zh) | 存储卡处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |