[发明专利]一种数据传递方法和设备在审
申请号: | 201510884165.4 | 申请日: | 2015-12-04 |
公开(公告)号: | CN106844075A | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 谢丹琦 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 北京鑫媛睿博知识产权代理有限公司11297 | 代理人: | 龚家骅 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 传递 方法 设备 | ||
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种数据传递方法。本申请实施例同时还涉及一种数据传递设备。
背景技术
在现有技术中,需要将采集到的数据,回传给监控设备;而在具体的回传过程中,需要在对系统资源的消耗要尽可能的小,以便减小对采集的性能监控数据准确性的影响。
而在目前的回传方案中,有以下几种方式:
方式一、单线程回传,也即在采集得到数据后,立马将数据回传给监控设备,而不对数据进行保存;这种方式会频繁调用回传程序,产生系统开销,从而影响数据准确性;使得无法保证数据的完整性,且一旦一次回传失败后,该数据就会丢失,无法重试。
方式二、通过日志文件方式回传,也即先将采集到的监控数据,打印到一个日志文件中,日志文件保存在用户的机器上;同时再启动一个进程,用以异步地逐行扫描该日志文件,每读取一行日志文件数据,就将读取到的日志文件数据回传给监控设备;在这种方式中,会造成频繁的IO(Input/Output,输入/输出)操作,会占用大量的系统IO资源,同时在IO操作过程中,也会对CPU(Central Processing Unit,中央处理器)等指标产生影响,同样会造成数据的不准确。
方式三、通过数组或链表的方式回传,也即将采集到的数据先存放在一个数组或链表中,同时再启动一个进程B,定时从数组或链表中获取数据,并将获取到的数据回传给监控设备;但是数组和链表线程不安全,在多线程 的情况下,容易出现问题;其次,数组和链表在取出数据后,需要将数组或链表中的这个数据删除,删除过程需要对整个数组或链表的数据进行移动,数据量大的话,会造成系统开销,影响采集数据的准确性;而频繁的节点操作,会引起频繁的申请和释放内存操作,造成系统开销;且如果消费数据的进程出现问题,导致数据无法及时被使用掉,会导致数组或链表中的数据堆积,时间长了容易引起内存溢出的问题。
可见现有的回传方式都无法满足在回传时对系统资源的消耗要尽可能的小,以及减小对采集的性能监控数据准确性的影响的需要。
发明内容
针对现有技术中无法满足在回传时对系统资源的消耗要尽可能小的要求,以及面临无法减小对采集的性能监控数据准确性的影响的缺陷,本申请提出了一种数据传递方法,包括:
将采集到的数据存入循环数组;
从所述循环数组中提取数据;
将提取的数据回传给数据接收设备。
可选的,所述循环数组中包含有预设数量用于存储数据的区域;各所述区域之间存在先后顺序关系;
所述将采集到的数据存入循环数组,具体包括:
将采集到的数据按照所述区域的先后顺序依次存储在所述循环数组的区域中。
可选的,所述循环数组中包括头指针和尾指针,所述头指针和所述尾指针分别对应所述循环数组中一个区域;所述头指针对应的区域的编号与所述头指针的值相同;所述尾指针对应的区域的编号和所述尾指针的值相同;
所述将采集到的数据按照所述区域的先后顺序依次存储在所述循环数组的区域中,具体包括:
将采集到的数据存入所述循环数组中所述尾指针对应的区域;
判断所述循环数组的各区域是否已满,且头指针与尾指针是否对应于同一个区域;
若判断结果都为是,则将头指针的值预加1;
若判断结果为否,则将表示所述循环数组中数据的数量的数值加1;
将尾指针的值预加1;
判断当前的头指针或尾指针所对应的区域是否溢出所述循环数组;
若当前的头指针所对应的区域溢出所述循环数组,则取消预加1后的所述头指针的值,并将所述头指针的值归零;若当前的头指针所对应的区域没有溢出所述循环数组,则保留预加1后的头指针的值为所述头指针的值;
若当前的尾指针所对应的区域溢出所述循环数组,则取消预加1后的所述尾指针的值,并将所述尾指针的值归零;若当前的尾指针所对应的区域没有溢出所述循环数组,则保留预加1后的尾指针的值为尾指针的值。
可选的,所述循环数组中包含有预设数量用于存储数据的区域;各所述区域之间存在先后顺序关系;
所述从所述循环数组中提取数据,具体包括:
按照所述先后顺序关系依次从所述循环数组的区域中提取数据。
可选的,所述循环数组中包括头指针,所述头指针对应所述循环数组中一个区域;所述头指针对应的区域的编号所述头指针的值相同;
所述按照所述先后顺序关系依次从所述循环数组的区域中提取数据,具体包括;
判断所述循环数组中是否存储有数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510884165.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种带有冲洗部件的豆浆机头
- 下一篇:眼镜(BG14370)
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置