用于永久存储实时数据流的具有原子事务的双重缓冲制造技术

技术编号:11161950 阅读:45 留言:0更新日期:2015-03-18 17:56
本公开涉及用于永久存储实时数据流的具有原子事务的双重缓冲。本发明专利技术提供了一种方法,所述方法包括:在存储器中,配置第一缓冲区以存储第一缓冲区数据,配置第二缓冲区以存储第二缓冲区数据,以及配置指示永久存储至存储设备的实时数据的永久存储大小的变量。在所述存储设备上,文件被配置成存储所述实时数据,并且字段被配置成存储所述变量。接收所述实时数据的流,并且所述流被附加至所述第一缓冲区数据。在满足写入准则时,将所述第一缓冲区数据与所述第二缓冲区数据进行交换,将所述第二缓冲区数据的缓冲区大小添加至所述变量,以及将所述第二缓冲区数据从所述第二缓冲区传递至写入高速缓存。在满足提交准则时,将存储在所述写入高速缓存中的所述流附加至所述文件,以及将所述变量永久存储至所述字段。

【技术实现步骤摘要】
用于永久存储实时数据流的具有原子事务的双重缓冲
本申请大体涉及处理实时数据,并且具体涉及使用具有原子事务的双重缓冲处理实时电生理数据。
技术介绍
许多各种不同医疗规程涉及将物体(诸如传感器、管、导管、分配设备以及植入物)置于患者体内。实时成像方法通常用于这些手术期间协助医生将对象和其周围的事物可视化。然而,在大多数的情况下,实时三维成像是不可能的或不可取的。相反,通常利用被配置成获取内部对象的实时空间坐标的医疗系统。 医疗规程期间,医疗系统可以收集包括模拟EP数据和/或数字EP数据的实时电生理(EP)数据。模拟EP数据的实例包括但不限于电极的电压和电流、患者体温以及从其他传感器收集到的数据。数字EP数据的实例包括但不限于其他系统所提供的数字数据和信号处理计算的结果,诸如导管的空间位置和患者呼吸状态。 以上描述给出了本领域中相关技术的总体概述,不应当被理解为承认了其包含的任何信息构成对抗本专利申请的现有技术。
技术实现思路
在此根据本专利技术的实施例来提供一种用于存储实时数据的方法,包括:在存储器中,配置第一缓冲区以存储第一缓冲区数据,配置第二缓冲区以存储第二缓冲区数据,以及配置指示永久存储至存储设备的实时数据的永久存储大小的变量;在存储设备上,配置用以存储实时数据的文件并且配置用以存储变量的字段;由处理器接收实时数据的流;以及将实时数据的流附加至第一缓冲区数据。该方法还包括:在满足写入准则时,将第一缓冲区中的第一缓冲区数据与第二缓冲区中的第二缓冲区数据进行交换;将第二缓冲区中的第二缓冲区数据的缓冲区大小添加至变量;以及调用写入函数以将第二缓冲区数据从第二缓冲区传递至写入高速缓存。该方法还包括:在满足提交准则时,调用提交函数以将存储在写入高速缓存中的实时数据的流附加至文件,以及将变量永久存储至字段。 在一些实施例中,实时数据可以包括在执行医疗规程时收集到的电生理(EP)数据。在另外的实施例中,EP数据可以选自模拟数据和数字数据。在另外的实施例中,模拟数据可以选自包括电压、电流以及温度的列表。在补充的实施例中,数字数据可以选自包括图像数据、位点测量、力测量以及呼吸状态的列表。 在另外的实施例中,第一缓冲区可存储在存储器中的第一地址,并且第二缓冲区可存储在存储器中的第二地址,并且其中将第一缓冲区中的第一缓冲区数据与第二缓冲区中的第二缓冲区数据进行交换包括使缓冲区指针中存储的缓冲区地址在第一地址和第二地址之间切换,由此切换第一缓冲区和第二缓冲区的角色。 在另外的实施例中,该方法可包括配置用以保护第一缓冲区的第一读出器-写入器锁定和用以保护第二缓冲区和变量的第二读出器-写入器锁定。在包括第一读出器锁定和第二读出器锁定的一些实施例中,该方法可包括:在附加实时数据的流之前,获取用于第一读出器-写入器锁定的写入器锁定;以及在附加实时数据的流之后,将写入器锁定从第一读出器-写入器锁定释放。在包括第一读出器锁定和第二读出器锁定的另外的实施例中,该方法可包括:在满足写入准则时并在交换第一缓冲区和第二缓冲区之前,获取用于第一读出器-写入器锁定的第一写入器锁定和用于第二读出器-写入器锁定的第二写入器锁定;以及在将第一缓冲区中的第一缓冲区数据与第二缓冲区中的第二缓冲区数据进行交换时,释放第一写入器锁定和第二写入器锁定。 在包括第一读出器锁定和第二读出器锁定的另外的实施例中,该方法可包括:在调用写入函数之后并在将缓冲区大小添加至变量之前,获取用于第二读出器-写入器锁定的写入器锁定;清空第二缓冲区;以及在清空第二缓冲区时,释放写入器锁定。在包括第一读出器锁定和第二读出器锁定的补充的实施例中,将变量永久存储至字段可包括:获取用于第二读出器-写入器锁定的读出器锁定;将变量复制至另外变量;释放读出器锁定;以及将另外变量存储至字段。 在包括第一读出器锁定和第二读出器锁定的另外的实施例中,在接收到检索实时数据的范围的请求时,该方法可包括:计算该范围的范围大小;在存储器中,配置响应缓冲区;获取用于第一读出器-写入器锁定的第一读出器锁定和用于第二读出器-写入器锁定的第二读出器锁定;将包括范围和第一缓冲区的交集的第一数据复制至响应缓冲区,第一数据具有第一大小;将包括范围和第二缓冲区的交集的第二数据预先附加至响应缓冲区,第二数据具有第二大小;释放第一读出器锁定和第二读出器锁定;以及在范围大小大于第一大小和第二大小的总和时:从写入高速缓存和存储设备,检索包括范围的互补范围的第三数据和包括第一数据和第二数据的第四数据;以及将第三数据预先附加至响应缓冲区。 在另外的实施例中,该方法可包括配置用以保护第一缓冲区的第一读出器-写入器锁定、用以保护第二缓冲区的第二读出器-写入器锁定以及用以保护变量的第三读出器-写入器锁定。在包括第一读出器锁定、第二读出器锁定以及第三读出器锁定的一些实施例中,该方法可包括:在附加实时数据的流之前,获取用于第一读出器-写入器锁定的写入器锁定;以及在附加实时数据的流之后,将写入器锁定从第一读出器-写入器锁定释放。在包括第一读出器锁定、第二读出器锁定以及第三读出器锁定的另外的实施例中,该方法可包括:在满足写入准则时,并且在将第一缓冲区中的第一缓冲区数据与第二缓冲区中的第二缓冲区数据进交换之前,获取用于第一读出器-写入器锁定的第一写入器锁定和用于第二读出器-写入器锁定的第二写入器锁定;以及在将第一缓冲区中的第一缓冲区数据与第二缓冲区中的第二缓冲区数据进行交换时,释放第一写入器锁定和第二写入器锁定。 在包括第一读出器锁定、第二读出器锁定以及第三读出器锁定的另外的实施例中,该方法可包括:在调用写入函数之后,并且在将缓冲区大小添加至变量之前,获取用于第二读出器-写入器锁定的第一写入器锁定和用于第三读出器-写入器锁定的第二写入器锁定;清空第二缓冲区;以及在清空第二缓冲区时,释放第一写入器锁定和第二写入器锁定。在包括第一读出器锁定、第二读出器锁定以及第三读出器锁定的补充的实施例中,将变量永久存储至字段可包括:获取用于第三读出器-写入器锁定的读出器锁定;将变量复制至另外变量;释放读出器锁定;以及将另外变量存储至字段。 在包括第一读出器锁定、第二读出器锁定以及第三读出器锁定的另外的实施例中,在接收到检索实时数据的范围的请求时,该方法可包括:计算该范围的范围大小;在存储器中,配置响应缓冲区;获取用于第一读出器-写入器锁定的第一读出器锁定和用于第二读出器-写入器锁定的第二读出器锁定;将包括范围和第一缓冲区的交集的第一数据复制至响应缓冲区,第一数据具有第一大小;将包括范围和第二缓冲区的交集的第二数据预先附加至响应缓冲区,第二数据具有第二大小;释放第一读出器锁定和第二读出器锁定;以及在范围大小大于第一大小和第二大小的总和时:从写入高速缓存和存储设备,检索包括范围的互补范围的第三数据和包括第一数据和第二数据的第四数据;以及将第三数据预先附加至响应缓冲区。 在此根据本专利技术的实施例还提供了一种用于存储实时数据的装置,该装置包括:存储设备,该存储设备被配置成存储文件以及存储指示永久存储至文件的实时数据的永久存储大小的字段;存储器,该存储器被布置成存储被配置成存储第一缓冲区数据的第一缓冲区、被配置成存储第二本文档来自技高网...

【技术保护点】
一种用于存储实时数据的方法,包括:在存储器中,配置第一缓冲区以存储第一缓冲区数据,配置第二缓冲区以存储第二缓冲区数据,以及配置指示永久存储至存储设备的所述实时数据的永久存储大小的变量;在所述存储设备上,配置用以存储所述实时数据的文件以及配置用以存储所述变量的字段;由处理器接收所述实时数据的流;将所述实时数据的所述流附加至所述第一缓冲区数据;在满足写入准则时:将所述第一缓冲区中的所述第一缓冲区数据与所述第二缓冲区中的所述第二缓冲区数据进行交换;将所述第二缓冲区中的所述第二缓冲区数据的缓冲区大小添加至所述变量;以及调用写入函数以将所述第二缓冲区数据从所述第二缓冲区传递至写入高速缓存;以及在满足提交准则时:调用提交函数以将存储在所述写入高速缓存中的所述实时数据的所述流附加至所述文件;以及将所述变量永久存储至所述字段。

【技术特征摘要】
2013.08.28 US 14/0117961.一种用于存储实时数据的方法,包括: 在存储器中,配置第一缓冲区以存储第一缓冲区数据,配置第二缓冲区以存储第二缓冲区数据,以及配置指示永久存储至存储设备的所述实时数据的永久存储大小的变量; 在所述存储设备上,配置用以存储所述实时数据的文件以及配置用以存储所述变量的字段; 由处理器接收所述实时数据的流; 将所述实时数据的所述流附加至所述第一缓冲区数据; 在满足写入准则时: 将所述第一缓冲区中的所述第一缓冲区数据与所述第二缓冲区中的所述第二缓冲区数据进行交换; 将所述第二缓冲区中的所述第二缓冲区数据的缓冲区大小添加至所述变量;以及 调用写入函数以将所述第二缓冲区数据从所述第二缓冲区传递至写入高速缓存;以及 在满足提交准则时: 调用提交函数以将存储在所述写入高速缓存中的所述实时数据的所述流附加至所述文件;以及 将所述变量永久存储至所述字段。2.根据权利要求1所述的方法,其中所述实时数据包括在执行医疗规程时收集到的电生理伍?)数据。3.根据权利要求2所述的方法,其中所述数据选自模拟数据和数字数据。4.根据权利要求3所述的方法,其中所述模拟数据选自包括电压、电流和温度的列表。5.根据权利要求3所述的方法,其中所述数字数据选自包括图像数据、位点测量、力测量和呼吸状态的列表。6.根据权利要求1所述的方法,其中所述第一缓冲区存储在所述存储器中的第一地址,并且所述第二缓冲区存储在所述存储器中的第二地址,并且其中将所述第一缓冲区中的所述第一缓冲区数据与所述第二缓冲区中的所述第二缓冲区数据进行交换包括使缓冲区指针中存储的缓冲区地址在所述第一地址和所述第二地址之间切换,由此切换所述第一缓冲区和所述第二缓冲区的角色。7.根据权利要求1所述的方法,包括配置用以保护所述第一缓冲区的第一读出器-写入器锁定和用以保护所述第二缓冲区和所述变量的第二读出器-写入器锁定。8.根据权利要求7所述的方法,包括: 在附加所述实时数据的所述流之前,获取用于所述第一读出器-写入器锁定的写入器锁定;以及 在附加所述实时数据的所述流之后,将所述写入器锁定从所述第一读出器-写入器锁定释放。9.根据权利要求7所述的方法,包括: 在满足所述写入准则时并在交换所述第一缓冲区和所述第二缓冲区之前,获取用于所述第一读出器-写入器锁定的第一写入器锁定和用于所述第二读出器-写入器锁定的第二写入器锁定;以及 在将所述第一缓冲区中的所述第一缓冲区数据与所述第二缓冲区中的所述第二缓冲区数据进行交换时,释放所述第一写入器锁定和所述第二写入器锁定。10.根据权利要求7所述的方法,包括: 在调用所述写入函数之后并在将所述缓冲区大小添加至所述变量之前,获取用于所述第二读出器-写入器锁定的写入器锁定; 清空所述第二缓冲区;以及 在清空所述第二缓冲区时释放所述写入器锁定。11.根据权利要求7所述的方法,其中将所述变量永久存储至所述字段包括: 获取用于所述第二读出器-写入器锁定的读出器锁定; 将所述变量复制至另外变量; 释放所述读出器锁定;以及 将所述另外变量存储至所述字段。12.根据权利要求7所述的方法,包括在接收到检索所述实时数据的范围的请求时: 计算所述范围的范围大小; 在所述存储器中,配置响应缓冲区; 获取用于所述第一读出器-写入器锁定的第一读出器锁定和用于所述第二读出器-写入器锁定的第二读出器锁定; 将包括所述范围和所述第一缓冲区的交集的第一数据复制至所述响应缓冲区,所述第一数据具有第一大小; 将包括所述范围和所述第二缓冲区的交集的第二数据预先附加至所述响应缓冲区,所述第二数据具有第二大小; 释放所述第一读出器锁定和所述第二读出器锁定;以及 在所述范围大小大于所述第一大小和所述第二大小的总和时: 从所述写入高速缓存和所述存储设备,检索包括所述范围的互补范围的第三数据和包括所述第一数据和所述第二数据的第四数据;以及将所述第三数据预先附加至所述响应缓冲区。13.根据权利要求1所述的方法,包括配置用以保护所述第一缓冲区的第一读出器-写入器锁定、用以保护所述第二缓冲区的第二读出器-写入器锁定、以及用以保护所述变量的第三读出器-写入器锁定。14.根据权利要求13所述的方法,包括: 在附加所述实时数据的所述流之前,获取用于所述第一读出器-写入器锁定的写入器锁定;以及 在附加所述实时数据的所述流之后,将所述写入器锁定从所述第一读出器-写入器锁定释放。15.根据权利要求13所述的方法,包括: 在满足所述写入准则时并在将所述第一缓冲区中的所述第一缓冲区数据与所述第二缓冲区中的所述第二缓冲区数据进行交换之前,获取用于所述第一读出器-写入器锁定的第一写入器锁定和用于所述第二读出器-写入器锁定的第二写入器锁定;以及 在将所述第一缓冲区中的所述第一缓冲区数据与所述第二缓冲区中的所述第二缓冲区数据进行交换时,释放所述第一写入器锁定和所述第二写入器锁定。16.根据权利要求13所述的方法,包括: 在调用所述写入函数之后并在将所述缓冲区大小添加至所述变量之前,获取用于所述第二读出器-写入器锁定的第一写入器锁定和用于所述第三读出器-写入器锁定的第二写入器锁定; 清空所述第二缓冲区;以及 在清空所述第二缓冲区时,释放所述第一写入器锁定和所述第二写入器锁定。17.根据权利要求13所述的方法,其中将所述变量永久存储至所述字段包括: 获取用于第三读出器-写入器锁定的读出器锁定; 将所述变量复制至另外变量; 释放所述读出器锁定;以及 将所述另外变量存储至所述字段。18.根据权利要求13所述的方法,包括在接收到检索所述实时数据的范围的请求时: 计算所述范围的范围大小; 在所述存储器中,配置响应缓冲区; 获取用于所述第一读出器-写入器锁定的第一读出器锁定和用于所述第二读出器-写入器锁定的第二读出器锁定; 将包括所述范围和所述第一缓冲区的交集的第一数据复制至所述响应缓冲区,所述第一数据具有第一大小; 将包括所述范围和所述第二缓冲区的交集的第二数据预先附加至所述响应缓冲区,所述第二数据具有第二大小; 释放所述第一读出器锁定和所述第二读出器锁定;以及 在所述范围大小大于所述第一大小和所述第二大小的总和时: 从所述写入高速缓存和所述存储设备,检索包括所述范围的互补范围的第三数据和包括所述第一数据和所述第二数据的第四数据;以及将所述第三数据预先附加至所述响应缓冲区。19.一种用于存储实时数据的装置,包括: 存储设备,所述存储设备被配置成存储文件以及存储指示永久存储至所述文件的所述实时数据的永久存储大小的字段; 存储器,所述存储器被布置成存储被配置成存储第一缓冲区数据的第一缓冲区、被配置成存储第二缓冲区数据的第二缓冲区、以及存储指示所述永久存储大小的变量;以及处理器,所述处理器被配置成: 接收所述实时数据的流, 将所述实时数据的所述流附加至所述第一缓冲区数据, 在满足写入准则时: 将所述第一缓冲区中的所述第一缓冲区数据与所述第二缓冲区中的所述第二缓冲区数据进行交换, 将所述第二缓冲区中的所述第二缓冲区数据的缓...

【专利技术属性】
技术研发人员:E拉沃纳G科恩R勒曼YA蒂梅
申请(专利权)人:韦伯斯特生物官能以色列有限公司
类型:发明
国别省市:以色列;IL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1