一种基于云平台的普适背单词系统及其构建方法

文档序号:6536591阅读:191来源:国知局
一种基于云平台的普适背单词系统及其构建方法
【专利摘要】本发明公开一种基于云平台的普适背单词系统及其构建方法,在满足用户在线背诵单词的需求下,针对用户在使用过程中产生的各种数据的特点,设计合理的数据存储格式,利用传统数据库存储词库和用户信息,利用Hadoop分布式文件系统(HDFS)存储用户背诵单词的进度。在此基础上设计面向跨用户进度统计的文件寻址策略,结合MapReduce并行统计算法进行单词背诵信息等数据统计。该背单词通过对后台模块的进行的webservice封装,形成支持包括手机和PC在内的多平台的背单词软件,实现多平台间单词记忆信息的同步与共享。
【专利说明】一种基于云平台的普适背单词系统及其构建方法
【技术领域】
[0001]本发明涉及一种基于云平台的背单词网站系统及其构建方法,属于信息处理【技术领域】。
【背景技术】
[0002]人们对学习外语越来越重视。背单词网站通过合理的策略帮助用户记忆单词,记录用户的背诵进度,并提供挖掘和分析功能,是当下比较时尚流行且有效的工具。
[0003]随着网站用户人数的增加,网站中的数据会急剧膨胀。传统的数据库在数据维护和扩展方面都存在着瓶颈,因此需要考虑采用分布式文件系统来存储用户信息。

【发明内容】

[0004]发明目的:针对现有技术中存在的问题,本发明提供一种实时性好、占用资源少的基于云平台的背单词网站系统及其构建方法。
[0005]技术方案:一种基于云平台的普适背单词系统,充分利用HDFS来存储和处理海量数据。具体包括以下几个模块:
登录注册:提供用户登录和注册的功能。用户注册后,数据库记录用户信息,服务器生成背诵单词信息的空文件,并在注销后传输到HDFS上来存储。下次登录后,再从HDFS上获取存档,记录背诵单词的进度。
[0006]单词背诵:提供一个动态可调的背单词策略,支持用户根据自己的学习进度自主调节单词背诵策略。用户可以添加或者删除词库,检验背诵单词的熟练程度,查看学习进度等功能。服务器端将进度文件传输至HDFS上并覆盖原来的存档。
[0007]词库管理:管理员可以增力卩、删除词库,修改词库列表信息。该模块实现了一个后台管理类,管理词库只需上传词库文件,由于与词库相对应的实体类、Hibernate配置文件等系统所必需的文件具有固定的格式,不同词库的配置文件之间的区别在于词库名称的不同。这样,只需将词库文件的名称作为参数传递给专门的功能类,系统即可自动生成对应的实体类、Hibernate配置文件等系统所必需的文件。
[0008]数据统计:管理员登录后,指定需要统计的词库的背诵信息,即背单词系统所有选择了该词库用户对该词库中单词的掌握情况;随后启动数据统计,并将结果分类展示,以完成数据统计。
[0009]所述基于云平台的普适背单词系统中,对用户在使用过程中产生的各种数据的特点,设计合理的数据存储格式,利用传统数据库存储词库和用户信息,利用Hadoop分布式文件系统(HDFS)存储用户背诵单词的进度。
[0010]所述基于云平台的普适背单词系统中,设计了存储于HDFS上的文件,记录用户选择的词库列表和对单词的记忆熟练程度。每个用户拥有独立的以用户名命名的存档,用户目录下,采用xml存储用户选择的词库信息,以所选词库命名的文件夹,不同熟练程度的单词记录在不同的文件中。[0011 ] 所述基于云平台的普适背单词系统中,利用Hadoop支持的通配符匹配文件名,设计了面向跨用户进度统计的文件寻址策略,结合MapReduce并行统计算法进行的单词背诵信息等数据统计。
[0012]一种基于云平台的普适背单词系统的构建方法,包括新用户注册、用户登录和数据统计步骤,具体如下:
新用户注册:用户注册后,生成相关的进度文件,用于存放用户进度信息;
用户登录:用户登录后,服务器将从HDFS中下载相关的进度文件,在存档中记录下用户的所有操作直到用户注销,或者长时间没有收到请求而自动注销后,将相关的进度文件上传到HDFS中,覆盖原来的进度文件存档;
数据统计,包括以下步骤:管理员指定需要统计的词库,有两种方式进行选择;
全部:统计用户对所有词库的背诵情况;
选择词库:统计用户对特定词库的背诵情况;
利用面向跨用户进度统计的文件寻址策略来设置输入目录:用户进度文件设计时,每个用户拥有自己的文件目录,背诵的不同词库的单词存放在不同的文件夹中,熟练程度不同的单词存放在不同文件中,利用Hadoop支持的一系列通配符设置输入目录;
管理员指定需要统计的词库后,默认对所有词库中用户对该词库中单词的背诵情况进行统计;启动Map/Reduce作业,统计情况记录在日志文件中,统计过程中出现的错误将报告给管理员,最后结果按照词库名分类。
[0013]本发明与现有技术相比,具有的有益效果是:
本发明是一种基于云平台的普适背单词系统及其构建方法,分析背单词系统中的各类数据,根据其读写特点,词库和用户信息等不需要经常变动且数据量较小的数据存储在传统数据库中,经常变动且数据量大的用户进度文件,设计合理的内容格式,便于HDFS的存储。同时结合Hadoop存储容量和计算能力的扩展性,设计了一组完整的基于MapReduce的单词统计算法,充分发挥MapReduce的并行计算特性,极大的提高了单词背诵信息等海量数据统计的计算效率,方便管理员的管理。
【专利附图】

【附图说明】
[0014]图1为本发明实施例的系统框图;
图2为本发明实施例的中用户注册的流程图;
图3为本发明实施例中用户登录的流程图;
图4为本发明实施例中统计单词背诵信息的流程图。
【具体实施方式】
[0015]下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0016]基于云平台的普适背单词系统的关键在于处理网站中产生的海量数据,设计合理的文件内容格式,使其适合存储在采用廉价集群构成的HDFS系统,便于网站的读取和修改。设计一组完整的基于MapReduce的单词统计算法来处理该这些海量数据,该算法通过将关系型数据的操作转化为适合MapReduce计算的键值对形式进行求和运算,充分发挥了MapReduce的并行计算特性,极大的提高了海量数据统计的计算效率。
[0017]如图1所示,基于云平台的普适背单词系统包括以下四个模块:
登录注册:提供用户登录和注册的功能。用户注册后,数据库记录用户信息,服务器生成背诵单词信息的空文件,并在注销后传输到HDFS上来存储。下次登录后,再从HDFS上获取存档,记录背诵单词的进度。
[0018]单词背诵:提供一个动态可调的背单词策略,支持用户根据自己的学习进度自主调节单词背诵策略。用户可以添加或者删除词库,检验背诵单词的熟练程度,查看学习进度等功能。服务器端将进度文件传输至HDFS上并覆盖原来的存档。
[0019]词库管理:管理员可以增力口、删除词库,修改词库列表信息。该模块实现了一个后台管理类,管理词库只需上传词库文件,由于与词库相对应的实体类、Hibernate配置文件等系统所必需的文件具有固定的格式,不同词库的配置文件之间的区别在于词库名称的不同。这样,只需将词库文件的名称作为参数传递给专门的功能类,系统即可自动生成对应的实体类、Hibernate配置文件等系统所必需的文件。
[0020]数据统计:管理员登录后,指定需要进行统计的词库的背诵信息,即在网站中注册的所有用户队其选择的该词库中单词的掌握情况。随后启动数据统计,并将结果分类展示,以满足调查需求。
[0021]基于云平台的普适背单词系统的构建方法,包括用户注册、用户登录和数据统计步骤,具体如下:
如图2所示的流程图,新用户注册,包括以下步骤:
用户注册后,生成相关的进度文件。用户进度信息中,词库记录包括用户名、用户选择的词库、词库的总单词数和用户上次退出时背诵的该词库中最后一个单词。单词记录包括用户名、单词本身、单词所属词库和熟悉程度,熟悉程度分为A、B、C、D四个等级,分别表示熟练、比较熟悉、一般、陌生四个等级。用户目录下,以所选词库命名的文件夹,每个文件下都有A.txt、B.txt、C.txt、D.txt四个文件。文件里一行记录一个单词id。其中采用xml存储用户选择的词库信息。文件以用户名命名。
[0022]用户登录后,服务器将从HDFS中下载相关文件,在存档中记录下用户的所有操作直到用户注销,或者长时间没有收到请求而自动注销后,将相关文件上传到HDFS中,覆盖原来的存档。
[0023]如图3所示的流程,管理员进行数据统计,包括以下步骤:
管理员指定需要统计的词库,有两种方式进行选择。
[0024]全部:统计用户对所有词库的背诵情况。
[0025]选择词库:统计用户对特定词库的背诵情况。
[0026]面向跨用户进度统计的文件寻址策略:用户进度文件设计时,每个用户拥有自己的文件目录,背诵的不同词库的单词存放在不同的文件夹中,熟练程度不同的单词存放在不同文件中。利用Hadoop支持的一系列通配符可以轻松的设置输入目录。
[0027]管理员指定需要统计的词库后,默认对所有词库中用户对该词库中单词的背诵情况进行统计。启动Map/Reduce作业,统计情况记录在日志文件中,统计过程中出现的错误将报告给管理员,最后结果按照词库名分类。Map/Reduce作业按照以下步骤执行:用户程序的副本中有一个称为master,其余称为worker, master是负责调度的,为空闲worker分配作业(Map作业或者Reduce作业),worker的数量也是可以由用户指定的。
[0028]用户进度文件作为输入文件划分成M份(M程序根据集群中节点的使用情况定义),即分片。每片称为split。
[0029]被分配了 Map作业的worker,开始读取对应分片的输入数据,Map作业数量是由M
决定的,和split--对应;Map作业从输入数据中抽取出键值对,〈key, value〉对。key为
单词首字母所在位置,value为单词值。每一个键值对都作为参数传递给map函数,
map函数根据传入的键值对计算每行相同的单词个数,产生新的中间键值对〈key, value)键值对,key为单词,value表示单词出现的个数中间键值对被缓存在内存中。
[0030]combine对每个map函数产生的中间键值对进行合并,对相同的单词的value值加一,等待reduce处理。
[0031]master通知分配了 Reduce作业的worker它负责的分区在什么位置,当Reduceworker把所有它负责的中间键值对都读过来后,先对它们进行排序,使得相同键的键值对
聚集在一起。
[0032]reduc e worker遍历排序后的中间键值对,对于每个唯一的键,都将键与关联的值传递给reduce函数,reduce函数产生的输出会添加到这个分区的输出文件中。
[0033]当所有的Map和Reduce作业都完成了,master唤醒用户程序,MapReduce函数调用返回用户程序的代码。
[0034]所有执行完毕后,MapReduce输出放在了 R个分区的输出文件中(分别对应一个Reduce作业)。用户通常并不需要合并这R个文件,而是将其作为输入交给另一个MapReduce程序处理。
[0035]在成功完成之后,MapReduce执行的输出存放在R个输出文件中(每一个reduce任务产生一个由用户指定名字的文件)。
【权利要求】
1.一种基于云平台的普适背单词系统,其特征在于,利用HDFS来存储和处理海量数据;具体包括以下几个模块: 登录注册:提供用户登录和注册的功能;用户注册后,数据库记录用户信息,服务器生成背诵单词信息的空文件,并在用户注销登录后传输到HDFS上存储;用户下次登录后,再从HDFS上获取存档,记录背诵单词的进度; 单词背诵:支持用户根据自己的学习进度自主调节单词背诵策略,用户可以添加或者删除词库,检验背诵单词的熟练程度,查看学习进度;服务器端将进度文件传输至HDFS上并覆盖原来的存档; 词库管理:管理员可以增加、删除词库,修改词库列表信息;该模块实现了一个后台管理类,管理词库只需上传词库文件,系统即可自动生成对应的实体类、Hibernate配置文件等系统所必需的文件; 数据统计:管理员登录后,指定需要统计的词库的背诵信息,即背单词系统所有选择了该词库用户对该词库中单词的掌握情况;随后启动数据统计,并将结果分类展示,以完成数据统计。
2.如权利要求1所述的基于云平台的背单词网站系统,其特征在于:针对用户在使用过程中产生的各种数据的特点,设计数据存储格式,利用数据库存储词库和用户信息,利用Hadoop分布式文件系统(HDFS)存储用户背诵单词的进度;设计用户进度文件内容格式,记录用户选择的词库列表和对单词的记忆熟练程度,使其适合HDFS的存储;每个用户拥有独立的以用户名命名的存档,用户目录下,采用xml存储用户选择的词库信息,以所选词库命名文件夹,不同熟练程度的单词记录在不同的文件中。
3.一种基于云平台的普适背单词系统的构建方法,其特征在于,包括新用户注册、用户登录和数据统计步骤,具体如下: 新用户注册:用户注册后,生成相关的进度文件,用于存放用户进度信息; 用户登录:用户登录后,服务器将从HDFS中下载相关的进度文件,在存档中记录下用户的所有操作直到用户注销,或者长时间没有收到请求而自动注销后,将相关的进度文件上传到HDFS中,覆盖原来的进度文件存档; 数据统计,包括以下步骤:管理员指定需要统计的词库,有两种方式进行选择; 全部:统计用户对所有词库的背诵情况; 选择词库:统计用户对特定词库的背诵情况; 用户进度文件设计时,每个用户拥有自己的文件目录,背诵的不同词库的单词存放在不同的文件夹中,熟练程度不同的单词存放在不同文件中,利用Hadoop支持的一系列通配符设置输入目录; 管理员指定需要统计的词库后,默认对所有词库中用户对该词库中单词的背诵情况进行统计;启动Map/Reduce作业,统计情况记录在日志文件中,统计过程中出现的错误将报告给管理员,最后结果按照词库名分类。
4.如权利要求3所述的基于云平台的普适背单词系统的构建方法,其特征在于, 用户进度信息中,词库记录包括用户名、用户选择的词库、词库的总单词数和用户上次退出时背诵的该词库中 最后一个单词;单词记录包括用户名、单词本身、单词所属词库和熟悉程度,熟悉程度分为A、B、C、D四个等级,分别表示熟练、比较熟悉、一般、陌生四个等级;用户目录下,以所选词库命名文件夹,每个文件夹下都有A.txt、B.txt、C.txt、D.txt四个文件;文件里一行记录一个单词id ;其中采用xml文件存储用户选择的词库信息,并以用户名命名。
5.如权利要求3所述的基于云平台的普适背单词系统的构建方法,其特征在于,Map/Reduce作业按照以下步骤执行: 用户程序的副本中有一个称为master,其余称为worker, master是负责调度的,为空闲worker分配作业,Map作业或者Reduce作业,worker的数量也是可以由用户指定的;用户进度文件作为输入文件划分成M份,即分片,每片称为split ; 被分配了 Map作业的worker,开始读取对应分片的输入数据,Map作业数量是由M决定的,和split--对应;Map作业从输入数据中抽取出键值对,〈key, value〉对;key为单词首字母所在位置,value为单词值;每一个键值对都作为参数传递给map函数,map函数根据传入的键值对计算每行相同的单词个数,产生新的中间键值对〈key, value〉键值对,key为单词,value表示单词出现的个数,中间键值对被缓存在内存中; combine对每个map函数产生的中间键值对进行合并,对相同的单词的value值加一,等待reduce处理; master通知分配了 Reduce作业的worker负责的分区在什么位置,当Reduce worker把所有它负责的中间键值对都读过来后,先对它们进行排序,使得相同键的键值对聚集在一起; Reduce worker遍历排`序后的中间键值对,对于每个唯一的键,都将键与关联的值传递给reduce函数,reduce函数产生的输出会添加到这个分区的输出文件中; 当所有的Map和Reduce作业都完成了,master唤醒用户程序,MapReduce函数调用返回用户程序的代码; 所有执行完毕后,MapReduce输出放在了 R个分区的输出文件中;用户通常并不需要合并这R个文件,而是将其作为输入交给另一个MapReduce程序处理; 在成功完成之后,MapReduce执行的输出存放在R个输出文件中。
【文档编号】G06F17/30GK103778223SQ201410031104
【公开日】2014年5月7日 申请日期:2014年1月22日 优先权日:2014年1月22日
【发明者】冯钧, 胡小克, 杜丙帅, 徐曦, 唐志贤, 朱跃龙, 万定生, 李士进, 许潇, 史涯晴, 盛震宇 申请人:河海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1