机考题库软件 您好,欢迎来到南京精略教育软件有限公司!免费服务热线:400-080-5550

首页 > 行业动态 > Ext海量数据处理方法

Ext海量数据处理方法


平台数据量每天能做到1亿的数据,用户每次提交的数据量是1千万,只是一次提交,但是要做数据的检索,提交的每次数据都要做检索,检索信息是否合法,检索信息是否真实存在,检索信息等很多信息,然后入库保存,针对这种效应,怎么能快速的实现检索然后入库、做到最优化的用户体验,和最优化的数据操作很简单的常规思想。
提示:数据验证信息另外在一张数据表中
方案一:
一、用户如何提交数据,如果是文件格式,1千万文件大小应该在百M级。按每秒传办理3M用户起码要等待30秒以上。
服务器端在获取到文件时第一是对文件做存储(放硬盘或内存如果放内存大小应该在1G以内,根据实际情况而定)。然后前台返回信息给用户!减少用户等待。
二、启动检索检验、优先以多线程的方式检索数据。如:每个线程一次性读取1千条数据,减少IO次数。线程数及每次读取量视服务器资源而定。
三、如果是从1亿条数据中做比对检验,可以将这些数据按一定规律分区使用lucene建立检索,非必要情况不直接走数据库查询。如分为10个区,则数据量降低为1千万。
四、以多线程方式入库数据。
五、更新这批数据的信息,如成功多少个,失败多少。耗时-秒,并视情况是否短信通知相应用户。
         启用lucene的检索机制,实现效率上的提升;
方案二:
一、              用户提交数据,用文件形式提交,上亿数据时百M级以上,针对用户体验和性能考虑,服务器配置处理器较高端配置为佳,通过文件提交分包处理原则,批次处理数据;
服务器端获取文件后,做分包信息处理,存放地址以实际服务器配置而定,减少用户等待;
二、              启动检索检验、优先以多线程的方式检索数据。如:每个线程一次性读取1千条数据,减少IO次数。线程数及每次读取量视服务器资源而定。
三、              取出检索的所有数据,方式多种,简便方式用缓存实现,存放在内存中,内存数据的处理是毕竟是高于硬盘的。
四、         使用Google的域名重复检索机制,实现数据检索,在内存中分区进行数据检索,使用Hash的n次映射,列点判断,此处可实现多线程的检索(注;内存数据比较按分包进行,以免内存不足,此根据实际情况而定,此处算法有误差存在)
五、         检索结果,多线程的入库方式

发布时间:2013-01-14 11:24:02

分享到: