论文部分内容阅读
追溯系统是为保证产品质量而建立的有效质量监督体系。近年来随着食品安全问题日益突出,以追溯系统为核心的质量监督体系得到了广泛发展。通过食品追溯系统建立有效的食品追溯体制,做到食品从生产、加工到销售各环节的全方位透明监督可以有效地消除食品安全隐患保证食品安全。然而食品是大众消费品,很多食品公司的食品年产量往往达到百万乃至千万级,要做到对这些食品的信息追溯需要处理大量的生产细节数据,而这些数据往往因为数据量大、结构复杂等特点而成为处理难题。因此,如何稳定而高效的处理追溯数据成为解决追溯问题的关键。基于以上所述背景,本文对食品追溯系统中海量数据处理问题进行了研究,主要内容集中在海量数据环境下的数据存储模型设计与重复数据检测两个方面。在数据的存储方面,针对追溯数据特点,设计了采用关系数据库与NoSQL数据库并用的数据存储模型来满足多样的数据存取需求。关系数据库存储企业信息化管理数据并响应系统企业信息管理请求,为保证追溯信息完整,企业信息化管理数据存储在关系型数据库的同时也存储在NoSQL中,NoSQL数据库一方面作为关系数据库的镜像数据库存储关系数据库中的企业信息化管理数据,一方面存储产品的追溯数据,追溯数据的查询请求通过NoSQL响应。这种模型下当企业信息化管理数据变化时,变化的数据需要从关系数据库同步到NoSQL数据库中。为此我们对关系数据库与NoSQL数据库的同步问题进行了研究,提出了基于中间件缓存的数据同步方法。该方法的主要过程是数据中间件通过维护一个数据缓存模块,将关系数据库中的数据变化存入缓存,并通过设定一定的同步条件,使缓存数据在满足同步条件时同步到辅助镜像数据库中,同步条件根据系统条件计算得来。另外,当读取NoSQL数据库数据时,中间件通过读取缓存中的更新数据,对数据库的查询结果进行修正,保证查询结果数据的实时一致性。与传统同步方法相比,基于中间件缓存的数据同步方法具有较好地解决了异构数据库同步时数据模型的变化问题,并具有数据查询实时一致、过程安全、数据同步适应性强等特点。重复数据检测方面,依据传统的数据清洗手段,对追溯领域较为严重的重复数据问题进行了分析,提出适应海量数据环境的重复数据检测方法。方法分为存量数据重复数据检测与增量数据的重复值检测两个方面。存量数据检测上,对传统近邻排序算法进行了改进,并结合MapReduce模型通过检测任务的并行执行方式实现算法的高效检测;增量数据的检测上,改变近邻排序算法的窗口比较方式,提出适应增量数据检测的跳动窗口比较形式,并结合MapReduce对算法进一步改进,避免了大量无效的检测比较,加快了数据检测效率。总体而言,改进后的算法更适应海量数据环境,在保证算法检测准确度的基础上,大大提高了算法的执行效率。本文通过对海量数据环境下追溯数据处理问题的研究,设计了关系数据库与NoSQL数据库并用,通过数据中间件解决异构数据库数据同步问题的数据存储模型,解决了追溯领域数据的数据变化问题,并为该领域问题提供了创造性的数据存储模型参考。除此之外,通过对重复数据检测方法的研究保证了数据的质量,在很大程度上解决了海量数据环境中数据清洗面临的问题,为构建高质量的数据仓库创造条件,对大数据信息挖掘的研究具有深远的理论意义。