[发明专利]基于squid代理服务器的数据存储方法在审
申请号: | 201811073147.8 | 申请日: | 2018-09-14 |
公开(公告)号: | CN109408483A | 公开(公告)日: | 2019-03-01 |
发明(设计)人: | 涂高元;邱志斌;郭永兴;陆云燕;叶细锋;时宜 | 申请(专利权)人: | 厦门天锐科技股份有限公司 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/176;G06F16/172;G06F16/16 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 361000 福建省厦门市厦*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 环形共享内存 读取 代理服务器 第三方程序 数据存储 用户数据 二级缓存 共享内存 所有文件 文件缓存 写入文件 用户发送 保存 清空 外网 删除 取出 重复 访问 | ||
1.一种基于squid代理服务器的数据存储方法,其特征在于包括如下步骤:
步骤1,用户通过squid代理服务器访问外网时,代理服务器判断文件列表是否为空,若为空,再判断环形共享内存是否存满,若未存满,则将接收到的用户数据保存到环形共享内存中,若环形共享内存已存满,则将接收到的用户数据写入文件列表中最新的一个文件中;若文件列表不为空,则将接收到的用户数据写入文件列表中最新的一个文件中;
步骤2,随着第三方程序读取环形共享内存中的数据,环形共享内存不再存满,此时从文件列表中取出最早的文件,并读取其中的内容存入环形共享内存中,并删除该文件;
步骤3,重复步骤1-2,直至文件列表中的所有文件都被读取,清空文件列表。
2.如权利要求1所述的基于squid代理服务器的数据存储方法,其特征在于:所述环形共享内存采用环形队列的形式,是一个首尾相连的FIFO的数据结构,逻辑上是将数组元素q[0]与q[MAXN-1]连接,形成一个存放队列的环形空间。
3.如权利要求2所述的基于squid代理服务器的数据存储方法,其特征在于:所述数据结构中,用tail来指向写的位置,用head来指向读的位置,用status来表示当前块是可读还是可写;开始时,head和tail都指向0的位置,同时所有块的状态status为可写,此时只能进行写入操作无法进行读取操作;当第一次写入数据时,数据写入到第0块的位置,同时tail向前移动一位到达1的位置,此时,第0块的状态status变为可读,当再次进行写操作时,将写入第1块的位置,同时第一块的状态status变为可读,tail向前移动到2;此时进行读取操作时,读取第0块的数据,同时head向前移动一位,到达1的位置,此时第0块的状态status改为可写状态;直至当写到第MAXN-1块再进行写入操作时,需判断第0块的状态为可读还是可写,如果此时0的状态为可写,则将数据写入到第0块,否则不写入环形队列中,而改为写入文件中;同理,当用户读取到MAXN-1块时,如果此时第0块的状态为可读,则读取第0块的数据,否则不读。
4.如权利要求1所述的基于squid代理服务器的数据存储方法,其特征在于:所述步骤1中,当环形共享内存存满时,将剩余的用户数据保存到文件中,每个文件缓存500M的数据;当单个文件数据超过500M时,则创建一个新的文件以存储剩余的用户数据。
5.如权利要求4所述的基于squid代理服务器的数据存储方法,其特征在于:所述文件以创建的时间点命名,当环形共享内存中的数据被读取时,按时间顺序从最早创建的文件中读取相应的数据写入环形共享内存中,当某个文件中的所有数据都被读取完后,删除该文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门天锐科技股份有限公司,未经厦门天锐科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811073147.8/1.html,转载请声明来源钻瓜专利网。