一种基于局域网的数据缓存方法技术

技术编号:23084981 阅读:20 留言:0更新日期:2020-01-11 01:07
本发明专利技术涉及数据更新技术领域,公开了一种基于局域网的数据缓存方法。包括以下过程:组成一个局域网的多个计算机建立组播通讯;源节点计算机将需要保存的数据存储到内存数据库,源节点计算机通过组播通知局域网中的其它计算机有数据需要保存,并建立更新数据的数据包;局域网中源节点计算机以外的其它计算机收到更新通知后,查询本地是否有同样的数据需要保存;如果没有同样的数据则去局域网中查询需要保存的数据,更新节点计算机和源节点计算机之间建立下载链接,将需要保存的数据存储到更新节点计算机的内存数据库。该方法中只要局域网中至少一台计算机保持工作,缓存需要的数据,在局域网其它计算机可以在重启后重新获取需要的数据。

A data caching method based on LAN

【技术实现步骤摘要】
一种基于局域网的数据缓存方法
本专利技术涉及数据更新
,特别是一种基于局域网的数据缓存方法。
技术介绍
现有的数据存储方式有以下几种:(1)分布式存储,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落;例如HadoopHDFS,OpenStack的对象存储Swif,CPHE等。(2)数据库存储,也称作集中存储,建立一个庞大的数据库,把各种信息存入其中,各种功能模块围绕信息库的周围并对信息库进行录入、修改、查询、删除等操作的组织方式;如DB2,oracle,mysql,Redis等。(3)计算机内存缓存数据,利用计算机内存存储数据,进程退出或重启数据将会丢失,无法持久化。(4)计算机磁盘存储,将数据存入到计算机磁盘,可以做到持久化.但是,针对上述现有的存储方式:采用分布式存储系统和数据库存储系统,系统过于庞大,成本高,缺乏灵活性,不适用于少量数据缓存;采用本地计算机内存存储数据,在当前计算机重启后,数据将会丢失;本地计算机磁盘存储数据,在不适用磁盘的计算机网络中(比如网吧行业,计算机多大都是无盘),无法存储数据到磁盘。
技术实现思路
本专利技术所要解决的技术问题是:针对上述存在的问题,提供了一种基于局域网的数据缓存方法。本专利技术采用的技术方案如下:一种基于局域网的数据缓存方法,包括以下过程:多个计算机组成一个局域网,计算机间建立组播通讯;源节点计算机将需要保存的数据存储到内存数据库,源节点计算机通过组播通知局域网中的其它计算机有数据需要保存,并建立更新数据的数据包;局域网中源节点计算机以外的其它计算机收到更新通知后,查询本地是否有同样的数据需要保存;如果有同样的数据则抛弃更新通知;如果没有同样的数据则去局域网中查询需要保存的数据;当源节点计算机收到更新节点计算机的查询信息,更新节点计算机和源节点计算机之间建立下载链接,将需要保存的数据存储到更新节点计算机的内存数据库。进一步的,所述数据存储格式采用Key-Value数据格式,key是整个局域网分布式缓存的唯一标识,内容值value中1-128位二进制用于存储数据的MD5值,129位-160位二进制用于存储数据大小SIZE,160位以后的数据,用于保存具体数据DATA,源节点计算机建立的更新数据的数据包包括Key和value,MD5值是由SIZE和DATA部分进过MD5算法获取,计算机的更新通知数据包含Key和value的MD5+SIZE部分数据。进一步的,查询本地是否有同样的数据需要保存时,通过key值找到对应的数据,取出对应数据的MD5值进行比对来判断。进一步的,将数据按照一定的大小进行分片,更新节点和源节点通过SIZE除以一定的大小得到分片数;数据分片后,源节点计算机根据数据分片的片数来提供多个下载节点下载服务,同时更新节点计算机根据需要更新的数据分片与多个计算机建立下载链接。进一步的,当更新节点计算机下载成功后,更新节点计算机变为源节点计算机,为局域网中源节点计算机以外的计算机提供下载服务。进一步的,当局域网有新计算机加入,在局域网中通过组播发布一条加入网络的通知消息;局域网中的所有计算机接收到新计算机的通知消息,发布各自计算机的数据更新通知;新计算机收到数据更新通知放入任务队列;新计算机载任务队列中逐步下载更新完所有数据。进一步的,当计算机准备修改某一个key值时,做修改操作之前该计算机对所述key值进行锁定,本计算机将所述key值的锁定消息广播给局域网中其它计算机,仅由本计算机进行所述Key值修改;当本计算机写完修改数据后,对所述key值解除锁定,并将所述key值解除锁定的消息广播给局域网其它计算机;然后将本计算机中所述key值对应的修改后数据更新到局域网其它计算机,对于key值的锁定设置有超时时间,通常设置为5秒,超时后锁将自动失效,以避免计算机值发出了锁定没有发出解除锁定的情况。进一步的,广播所述key值的锁定消息时,广播信息包括key值和本计算机的IP值,根据IP值的大小设置写入修改数据的优先级队列,当局域网中具有多个计算机同时广播所述key值的锁定消息时,由优先级更高的计算机来操作写入修改数据的操作。局域网所有机器的锁定状态将被替换成优先级更高的机器的锁定状态;进一步的,所述优先级队列的设置方式为:IP值越小优先级越高。与现有技术相比,采用上述技术方案的有益效果为:1,本专利技术通过路由器建立局域网,通过组播通讯通知查询并建立下载链接,其架构简单,可以作为基础组件快速开发应用;2,本专利技术通过路由器建立局域网,通过组播通讯,可以不需要依赖本地磁盘和网络数据库来缓存数据;只要局域网中的每一时刻具有至少一台计算机保持工作,缓存需要的数据,在局域网其它计算机可以在重启后通过本专利技术的方案重新获取需要的数据。例如在网吧的应用场景中,可以通过该方法在局域网中缓存需要保存的数据。3,本专利技术的技术方案仅用于本计算机的数据缓存到网络中,效果明显;修改某个存储数据时,通过锁定的方式使计算机在写入修改数据操作是同一个计算机,没有数据一致性问题;4,本专利技术的技术方案对数据一致性要求不高的分布式写数据,可以不依赖专门的存储系统,利用网络中的所有计算机的空闲资源缓存数据,也不依赖单个计算机是否能正常工作。附图说明图1本专利技术实施例1中基于局域网的数据缓存方法示意图。图2是本专利技术实施例中数据存储格式示意图。图3是本专利技术实施例2中基于数据分片的局域网中数据缓存方法示意图。图4是本专利技术实施例3基于源节点裂变的局域网数据缓存方法示意图。图5是本专利技术实施例4具有新加入计算机时基于局域网的数据缓存方法示意图。具体实施方式下面结合附图对本专利技术做进一步描述。本专利技术在没有集中存储、分布式存储系统、同时本地没有本地磁盘的情况下,利用网络中计算机的空闲的内存空间,存储数据。实施例1:如图1所示,本实施例中局域网中有3台计算机PC1、PC2、PC3,但本专利技术并不限制局域网中的计算机个数。PC1、PC2、PC3通过路由器组成一个局域网,能进行组播通讯。每个计算机在网络中是一个对等节点,每个节点主要有组播模块,下载服务模块,客户端模块,逻辑处理模块。其中组播模块,用于发送查询请求,发送操作锁定请求,接收更新请求;下载服务模块,用于提供数据下载服务器;客户端,用于下载其他机器的数据;逻辑模块,用于生成数据MD5值,数据存储,查询,更新,维护操作队列等逻辑处理。图1中的数据缓存方法:1)本实施例局域网络中有PC1,PC2,PC3三台计算机在工作。2)PC1为源节点计算机,PC1需要保存数据到分布式网络中进行缓存,先需要将数据通过逻辑模块存储到PC1的内存数据库(内存DB);数据存储格式为如图2,采用Key-Value数据格式,key是整个局域网分布式缓存的唯一标识,内容值va本文档来自技高网...

【技术保护点】
1.一种基于局域网的数据缓存方法,其特征在于,包括以下过程:/n多个计算机组成一个局域网,计算机间建立组播通讯;/n源节点计算机将需要保存的数据存储到内存数据库,源节点计算机通过组播通知局域网中的其它计算机有数据需要保存,并建立更新数据的数据包;/n局域网中源节点计算机以外的其它计算机收到更新通知后,查询本地是否有同样的数据需要保存;如果有同样的数据则抛弃更新通知;如果没有同样的数据则去局域网中查询需要保存的数据;/n当源节点计算机收到更新节点计算机的查询信息,更新节点计算机和源节点计算机之间建立下载链接,将需要保存的数据存储到更新节点计算机的内存数据库。/n

【技术特征摘要】
1.一种基于局域网的数据缓存方法,其特征在于,包括以下过程:
多个计算机组成一个局域网,计算机间建立组播通讯;
源节点计算机将需要保存的数据存储到内存数据库,源节点计算机通过组播通知局域网中的其它计算机有数据需要保存,并建立更新数据的数据包;
局域网中源节点计算机以外的其它计算机收到更新通知后,查询本地是否有同样的数据需要保存;如果有同样的数据则抛弃更新通知;如果没有同样的数据则去局域网中查询需要保存的数据;
当源节点计算机收到更新节点计算机的查询信息,更新节点计算机和源节点计算机之间建立下载链接,将需要保存的数据存储到更新节点计算机的内存数据库。


2.如权利要求1所述的基于局域网的数据缓存方法,其特征在于,所述数据存储格式采用Key-Value数据格式,key是整个局域网分布式缓存的唯一标识,内容值value中1-128位二进制用于存储数据的MD5值,129位-160位二进制用于存储数据大小SIZE,160位以后的数据用于保存具体数据DATA,源节点计算机建立的更新数据的数据包包括Key和value,MD5值是由SIZE和DATA部分进过MD5算法获取,计算机的更新通知数据包含Key和value的MD5+SIZE部分数据。


3.如权利要求2所述的基于局域网的数据缓存方法,其特征在于,查询本地是否有同样的数据需要保存时,通过key值找到对应的数据,取出对应数据的MD5值进行比对来判断。


4.如权利要求2所述的基于局域网的数据缓存方法,其特征在于,将数据按照一定的大小进行分片,更新节点和源节点通过SIZE除以一定的大小得到分片数;数据分片后,源节点计算机根据数据分片的片数来提供多个下载节点...

【专利技术属性】
技术研发人员:周虎
申请(专利权)人:成都吉胜科技有限责任公司
类型:发明
国别省市:四川;51

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

1