-
公开(公告)号:CN102129396B
公开(公告)日:2013-07-10
申请号:CN201110051971.5
申请日:2011-03-04
Applicant: 中国科学院软件研究所
Abstract: 本发明公开了一种线程间数据交换方法,涉及信息技术领域,该方法包括以下步骤:1)数据提供线程和数据消费线程共享的内存中设置一个缓存数据结构,所述缓存数据结内部包括多个数据缓存块;2)数据提供线程通过调用数据放入接口,将数据放入数据缓存块中;3)数据消费线程通过调用数据获取接口读取数据缓存块中的数据,实现快速的数据交换。该方法既保证了线程间数据交换的实时性,同时又能够保证线程间进行海量数据交换时的吞吐量,可以支持进程内线程之间进行大量数据的交换。在进行零星数据交换时,数据能够在非常短的时间内完成交换。
-
公开(公告)号:CN102129396A
公开(公告)日:2011-07-20
申请号:CN201110051971.5
申请日:2011-03-04
Applicant: 中国科学院软件研究所
Abstract: 本发明公开了一种线程间数据交换方法,涉及信息技术领域,该方法包括以下步骤:1)数据提供线程和数据消费线程共享的内存中设置一个缓存数据结构,所述缓存数据结内部包括多个数据缓存块;2)数据提供线程通过调用数据放入接口,将数据放入数据缓存块中;3)数据消费线程通过调用数据获取接口读取数据缓存块中的数据,实现快速的数据交换。该方法既保证了线程间数据交换的实时性,同时又能够保证线程间进行海量数据交换时的吞吐量,可以支持进程内线程之间进行大量数据的交换。在进行零星数据交换时,数据能够在非常短的时间内完成交换。
-
公开(公告)号:CN106557272B
公开(公告)日:2019-07-30
申请号:CN201510640091.X
申请日:2015-09-30
Applicant: 中国科学院软件研究所
Abstract: 本发明公开了一种高效的传感器历史数据归档方法。本方法为:1)在服务器上建立两级缓存对传感器产生的历史数据记录进行缓存;每一级缓存均包含多个缓存块;2)将待缓存的所述历史数据记录首先缓存到一级缓存的当前使用且未满的缓存块中,并且实时从一级缓存中取出数据并压缩后缓存到二级缓存中;在二级缓存中,根据历史数据记录的来源,将同一传感器产生的历史数据记录存放到同一编号的缓存块中;3)从二级缓存中取出若干被存满的缓存块并根据被存满的时间先后顺序确定这些取出缓存块在文件中的写入位置;然后根据确定的写入位置将这些取出的缓存块写入文件中,并清空这些取出的缓存块。本方法针对传感器历史数据的归档具有高效率的表现。
-
公开(公告)号:CN106557272A
公开(公告)日:2017-04-05
申请号:CN201510640091.X
申请日:2015-09-30
Applicant: 中国科学院软件研究所
Abstract: 本发明公开了一种高效的传感器历史数据归档方法。本方法为:1)在服务器上建立两级缓存对传感器产生的历史数据记录进行缓存;每一级缓存均包含多个缓存块;2)将待缓存的所述历史数据记录首先缓存到一级缓存的当前使用且未满的缓存块中,并且实时从一级缓存中取出数据并压缩后缓存到二级缓存中;在二级缓存中,根据历史数据记录的来源,将同一传感器产生的历史数据记录存放到同一编号的缓存块中;3)从二级缓存中取出若干被存满的缓存块并根据被存满的时间先后顺序确定这些取出缓存块在文件中的写入位置;然后根据确定的写入位置将这些取出的缓存块写入文件中,并清空这些取出的缓存块。本方法针对传感器历史数据的归档具有高效率的表现。
-
公开(公告)号:CN102999378B
公开(公告)日:2015-08-26
申请号:CN201210511370.2
申请日:2012-12-03
Applicant: 中国科学院软件研究所
IPC: G06F9/46
Abstract: 本发明涉及一种通过读写锁实现线程间的同步方法,其步骤包括:1)初始化读写锁,将读临界区和写临界区初始化为可进入状态,写通知事件初始化为被触发状态;2)当多个读线程和/或写线程并发访问共享资源,根据临界区保护所述共享资源内关键代码,设置读写锁;3)返回读写锁信息完成读写锁设置,实现资源共享。本发明提出了以临界区和事件组合实现读写锁的方法,具有简单易用、轻量快速的特点,同时本方法采用临界区作为主要互斥工具,避免了使用内核态对象时的用户状态频繁切换的开销,写线程不会无限等待,只需要等待到申请写锁时的读线程都完成操作,而不会被后面申请读锁的线程抢占共享资源,大大提高了读写锁的性能。
-
公开(公告)号:CN103810223A
公开(公告)日:2014-05-21
申请号:CN201210461154.1
申请日:2012-11-15
Applicant: 中国科学院软件研究所
IPC: G06F17/30
Abstract: 本发明公开一种基于数据分组的内存数据组织查询方法,其步骤包括:将数据分成多个分组,在每个分组设立独立的插入任务队列、插入线程和查询线程;分组选择线程为待插入数据选择一个分组并将该数据插入到该分组的插入任务队列中;每个插入线程轮询其所属分组的插入任务队列,并将其中数据插入到该分组中;查询任务分发线程将查询任务分发给各分组的查询线程,各查询线程进行分组内部的数据查询并将查询结果反馈至查询任务分发线程;查询任务分发线程对各分组的查询结果进行汇总。本发明既能保证批量数据的快速的插入,又能有保证范围查询的快速的结果反馈,有效地提高了数据库系统的数据查询性能。
-
公开(公告)号:CN102075193B
公开(公告)日:2013-07-31
申请号:CN201110036388.7
申请日:2011-02-11
Applicant: 中国科学院软件研究所
IPC: H03M7/30
Abstract: 本发明公开了一种基于时空关系的RFID事件压缩方法及解压缩方法,压缩方法包括下列步骤:1)RFID事件处理服务器将RFID读写器读取到的原始数据生成RFID事件;2)根据RFID事件的压缩信息,判断是否压缩RFID事件。3)过滤位置属性和状态属性没有发生变化的RFID事件。4)根据用户指定的开始和结束时间节点,删除中间时间节点对应的RFID事件。5)基于时间和位置关系对RFID事件进行压缩。解压缩则根据参照RFID事件和时间或位置差值还原RFID事件;并将还原RFID事件通过订阅发布服务发送给订阅该事件的RFID应用系统。本发明的压缩方法,仅保存海量RFID数据中的关键数据,减少了需要存储的数据量,有效利用了存储空间。而解压缩方法,能快速解压缩数据,方便数据的查询和使用。
-
公开(公告)号:CN102999378A
公开(公告)日:2013-03-27
申请号:CN201210511370.2
申请日:2012-12-03
Applicant: 中国科学院软件研究所
IPC: G06F9/46
Abstract: 本发明涉及一种通过读写锁实现线程间的同步方法方法,其步骤包括:1)初始化读写锁,将读临界区和写临界区初始化为可进入状态,写通知事件初始化为被触发状态;2)当多个读线程和/或写线程并发访问共享资源,根据临界区保护所述共享资源内关键代码,设置读写锁;3)返回读写锁信息完成读写锁设置,实现资源共享。本发明提出了以临界区和事件组合实现读写锁的方法,具有简单易用、轻量快速的特点,同时本方法采用临界区作为主要互斥工具,避免了使用内核态对象时的用户状态频繁切换的开销,写线程不会无限等待,只需要等待到申请写锁时的读线程都完成操作,而不会被后面申请读锁的线程抢占共享资源,大大提高了读写锁的性能。
-
公开(公告)号:CN102075193A
公开(公告)日:2011-05-25
申请号:CN201110036388.7
申请日:2011-02-11
Applicant: 中国科学院软件研究所
IPC: H03M7/30
Abstract: 本发明公开了一种基于时空关系的RFID事件压缩方法及解压缩方法,压缩方法包括下列步骤:1)RFID事件处理服务器将RFID读写器读取到的原始数据生成RFID事件;2)根据RFID事件的压缩信息,判断是否压缩RFID事件。3)过滤位置属性和状态属性没有发生变化的RFID事件。4)根据用户指定的开始和结束时间节点,删除中间时间节点对应的RFID事件。5)基于时间和位置关系对RFID事件进行压缩。解压缩则根据参照RFID事件和时间或位置差值还原RFID事件;并将还原RFID事件通过订阅发布服务发送给订阅该事件的RFID应用系统。本发明的压缩方法,仅保存海量RFID数据中的关键数据,减少了需要存储的数据量,有效利用了存储空间。而解压缩方法,能快速解压缩数据,方便数据的查询和使用。
-
-
-
-
-
-
-
-