[发明专利]一种数据的缓冲方法和服务端有效
申请号: | 200910085028.9 | 申请日: | 2009-05-27 |
公开(公告)号: | CN101901193A | 公开(公告)日: | 2010-12-01 |
发明(设计)人: | 李雪峰;刘剑波 | 申请(专利权)人: | 北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F13/14 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 龙洪;霍育栋 |
地址: | 100193 北京市海淀区东北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 缓冲 方法 服务端 | ||
技术领域
本发明涉及数据缓冲机制,特别涉及一种数据的缓冲方法和服务端。
背景技术
安全设备是由硬件、软件和网络技术组成的具有专门用途的设备,它主要提供一项或多项安全功能。与安全设备配套使用的通常还有其管理控制端,在管理控制端上通常都会提供显示安全设备实时上报的安全事件的功能。
基于Web的管理控制端因其易使用,易部署,易维护等优点而被广泛使用。但因为Web应用的特殊性,在浏览器端实现显示设备上报的实时安全事件存在一定的技术困难。
在典型的Web应用中,通信过程必须由浏览器端发起,Web服务端(以下称服务端)接受浏览器端的通信请求,然后应答数据,并随后关闭链接。虽然在HTTP1.1版本中,可以通过建立长链接的方式降低服务端的负载,但仍然存在超时维护等问题。
在这种应用环境下,浏览器端为获得最新的安全事件,需要一次一次的向服务器端发送请求,而服务端需要将安全设备上报的安全事件缓冲起来,待浏览器端请求时,应答缓冲的安全事件的数据给浏览器端(如图1所示)。在单一浏览器浏览的情况下,服务器的缓冲机制保证浏览器每次应答的数据中的安全事件是连续的,如果浏览器的请求足够及时,并且服务器的应答足够迅速,浏览器端会得到足够的、连续无丢失的实时安全事件,否则浏览器两次应答的数据中实时安全事件可能是前后不衔接的。在多浏览器并发请求数据的情况下,服务端的缓冲机制不仅要满足单一浏览器时的上述要求,还要考虑处于不同网络带宽环境下的浏览器互相影响的问题,如在某些缓冲机制中,可能会产生因为应答低带宽浏览器的数据,而导致其他浏览器的应答被堵塞的情况。
发明内容
本发明要解决的技术问题是提供一种数据的缓冲方法和服务端,能够满足获取数据的连续性要求。
为了解决上述问题,本发明提供了一种数据的缓冲方法,包括:
将各缓冲存储区域按一定顺序排列,形成存储队列;
每次向一个缓冲存储区域中写入一个数据块;写入数据块时,按照所述数据块写入的时间顺序,将各所述数据块写入到存储队列中从一缓冲存储区域开始的、连续的各缓冲存储区域中,生成并记录分别指示各数据块的写入时间顺序的标识;
在一次读取操作中,依次从存储队列中连续的各缓冲存储区域中读取数据块,并获取指示该数据块写入时间顺序的标识;如果指示某一数据块写入时间顺序的标识不同于应有标识,则结束本次读取操作;所述应有标识为:指示与上一次读取的数据块相邻写入的数据块的写入时间顺序的标识;如果是一次读取操作中的第一次读取,则为指示应读取的数据块的写入时间顺序的标识。
进一步的,不允许同时写入,或同时对某一块缓冲存储区域写入和读取;允许同时读取。
进一步的,将每块缓冲存储区域在环形存储队列中所处的位置为物理偏移X;存储队列中的缓冲存储区域的总块数为C;以数据位置作为指示数据块的写入时间顺序的标识;
在每次写入数据块时的具体步骤包括:
31,将pw递增1;pw的初始值为0;
32,将所述数据块写入到物理偏移为X处的缓冲存储区域中,并将当前的pw减去1记录为该数据块的数据位置;X为pw减去1的差对C取模的结果。
进一步的,以数据位置作为指示数据块的写入时间顺序的标识;一次读取操作的具体步骤包括:
41,确定本次读取操作的最大数据块个数N,以及读取的起始数据位置Pi;如果第一次进行读取操作,Pi取0;
42,读取物理偏移为X处的数据块,并得到该数据块的数据位置p;X为所述Pi对C取模;
43,比较上述p与Pi是否相等,若相等则输出所读取的数据块,执行步骤44;否则放弃此处的数据块,令Pi为pw,返回步骤41;
44,读取物理偏移为X处的数据块,并得到该数据块的数据位置,X为p加1的和对C取模的结果;如果该处数据块的数据位置的值不等于p+1,执行步骤45;否则,执行步骤46;
45,放弃读取该处数据块,并返回该处数据块的数据位置作为下一次读取操作的Pi,结束本次读取操作;
46,输出该处数据块,并以该处数据块的数据位置作为p;
47,如果本次读取操作中已输出的数据块个数大于或等于N,则执行步骤48;否则,返回执行步骤44;
48,结束本次读取操作,返回p+1作为下一次读取操作的Pi。
进一步的,所述存储队列为环形队列;
当写入/读取到所述存储队列中最后一个缓冲存储区域后,再从所述存储队列中第一个缓冲存储区域开始写入/读取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司,未经北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910085028.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:法律信息管理系统
- 下一篇:一种嵌入式系统可靠性分析与评估方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置