[发明专利]一种跨进程的数据采集处理方法有效
申请号: | 201811072813.6 | 申请日: | 2018-09-14 |
公开(公告)号: | CN109359005B | 公开(公告)日: | 2022-04-19 |
发明(设计)人: | 涂高元;邱志斌;郭永兴;陆云燕;时宜 | 申请(专利权)人: | 厦门天锐科技股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F9/54 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 361000 福建省厦门市厦*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 跨进 数据 采集 处理 方法 | ||
本发明公开一种跨进程的数据采集处理方法,用于实现数据采集进程与数据处理进程之间数据的存储;数据采集进程与数据处理进程共享磁盘存储,方法包括如下步骤:将数据采集进程输出的数据保存于共享磁盘的文件夹中,若输出的数据大小高于限值,则分为多个任务内容文件进行保存,所有文件的路径和文件名信息均根据时间先后记录在待处理任务列表文件todo.list中;将待处理任务列表文件todo.list改名为doing.list,数据采集进程继续输出的任务内容文件,记录在新的待处理任务列表文件todo.list中;数据处理进程逐行处理任务列表doing.list对应的文件,并在处理完毕后删除该对应的文件。此种方法既可保障数据的可靠存储转移使用,同时也避免了数据库复杂数据存储方式和索引建立的性能丢失。
技术领域
本发明涉及一种跨进程的数据采集处理方法。
背景技术
在软件开发中,出于模块化目的,不但常常将一个应用程序分解为多个静态库/动态库模块,有时也会基于稳定性和多实例运行的考虑,将一个应用软件拆解为多个应用程序模块,采用多进程协作运行的方式实现特定的软件功能。
对于32位进程而言,将一个软件拆解为多个进程,可以更加充分地应用64位操作系统的内存资源;对于一个软件中较为复杂、不够稳定的部分代码,拆解独立为一个进程,再加上进程故障守护重启机制,可以有效避免不稳定的功能代码引起的进程崩溃问题影响其他进程中关键代码的运行。
总而言之,软件采用多进程协作运行的方式设计是一个非常自然的设计。但是,引入的一个新问题是,多进程设计的软件中,一个进程往往以另一个进程的输出作为输入,这对进程间数据处理任务的转交、传递提出了要求。
在主流操作系统中,两个进程之间交换较多的数据,较为常用的两个方法,一是共享内存,二是管道。由于基于计算机的内存完成进程间数据传递,性能较高,因此,这在大部分场合下,是极佳的选择。
上面提到的共享内存或者管道技术,用于两个进程间传递数据,在大部分场合下,是极佳的选择。但在一些特殊的场合下,也存在失效的问题。
假设有两个进程,进程A和进程B,进程A位于前端收集原始数据,并做预处理,将预处理后的数据递交给进程B;进程B位于后端,专门用于对进程A传递而来的数据进行更为复杂的后续处理。
由于进程B主要负责对进程A预处理过的数据进行更复杂的后续处理,那么意味着进程B涉及的算法代码通常更加复杂,也更加容易出错和不稳定,同时复杂的处理也基本意味着对单笔数据处理的时间周期也更长。
上面的分析,主要说明进程B相对于进程A而言不稳定异常退出的概率更大,并且处理数据的效率更低,进程A可能在某些高峰时期以1000次/每秒的速率采集和预处理数据,进程B则有可能以最快10次/每秒的速率进行复杂处理。带来的问题是,进程B内可能会堆积大量的待处理数据在内存中,在大量内存数据未处理完毕的时候,如果进程B故障崩溃,将会发生大量的数据丢失。
考虑到上述复杂处理的耗时性以及可能的不稳定性,如果要实现可靠的数据处理,必须考虑引入磁盘存储。如果进程A将预处理后的数据,直接写入磁盘文件中,那么进程B将可以按自己的处理性能逐个处理,而不必担心进程A有突发大量的预处理数据任务推送导致在短时间内发生大量的内存资源占用。
总而言之,不引入磁盘存储,仅仅基于内存进行跨进程的数据任务传递,将会面临两个威胁:一是大量的内存资源占用;二是,关键处理进程的崩溃将会引起大量的数据丢失。
对于在多个进程之间共享的磁盘存储,有一个潜在的可能选项,是类似MSSQLServer、Oracle、MySQL这样的关系数据库。从功能角度而言,是可行的,但是关系数据库的主要优势在于提供二维平面化数据的索引查询,其复杂的数据存储格式和索引功能,在单纯实现先进先出任务队列的功能需求下,显得多余且性能低下,往往难以达到理想的速度性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门天锐科技股份有限公司,未经厦门天锐科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811072813.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置