一种基于草稿箱的词条编辑备份方法和草稿箱系统的制作方法

文档序号:6402396阅读:188来源:国知局
专利名称:一种基于草稿箱的词条编辑备份方法和草稿箱系统的制作方法
技术领域
本发明涉及互联网百科词条编辑技术。更具体地,本发明涉及基于草稿箱的词条编辑备份方法和草稿箱系统。
背景技术
用户在编辑百科词条的过程中,会遇到突发事件如不小心点到退出编辑器,或者是说临时有事,而又不想发布自己的不完整的版本,这个时候就需要一种词条编辑的备份功能可以将用户编辑的词条内容暂时保存,以便用户下次继续完善自己未发布的词条。并且,用户在编辑完进行词条发布的时候,由于一些原因,如内容中含有违禁词,或者网络故障,或者误操作关闭了浏览器等,从而导致发布失败;用户花费大量时间完成的内容会丢失,这极大的伤害了用户的编辑积极性,降低了用户体验。进一步,现有技术中,用户利用手动保存来保存自己刚才编辑的词条内容,但现有技术的保存方式是连同词条版本一起保存,但这样会产生很多的冗余的版本,虽然版本多了,但这并不能给用户带来好的体验,因为很多的版本的质量并不是很好。所以,需要对词条编辑 的备份技术进行完善从而提高用户体验。

发明内容
本发明目的在于提供一种技术方案,能够有效解决因突发原因或发布失败时保留词条编辑内容的问题。本发明的目的还在于提供一种技术方案,避免词条编辑过程中的冗余版本过多的问题。具体技术方案如下:一种基于草稿箱的词条编辑备份方法,包括用户对所编辑的词条进行保存草稿的操作还包括以下步骤:判断该用户是否已存在该词条的草稿箱;如果不存在则创建草稿箱,将所述草稿保存至该草稿箱;如果存在则将所述草稿更新至该草稿箱。所述方法进一步包括:编辑过程中,根据手动或自动指令将当前草稿更新至所述草稿箱。所述判断该用户是否已存在该词条的草稿箱进一步包括:所述前端服务器向词条中心服务器发送包括词条名、用户加密ID、编辑原因和草稿正文的查询请求;所述词条中心服务器根据所述词条名和用户加密ID构建查询命令并向数据库服务器发送该查询命令;所述数据库服务器将查询结果返回给所述词条中心服务器;所述词条中心服务器根据该查询结果判断是否存在草稿箱,如果不存在则创建草稿箱,将所述草稿保存至该草稿箱,如果存在,则将所述草稿更新至该草稿箱。所述创建草稿箱,将所述草稿保存至该草稿箱进一步包括:所述词条中心服务器根据所述词条名、用户加密ID、编辑原因和草稿正文构建插入命令并向所述数据库服务器发送该插入命令;所述数据库服务器执行该插入命令,创建所述用户该词条名的草稿箱,所述草稿箱包括关键数据表和草稿内容表,所述关键数据表包括主键,词条名,用户加密ID,用户名,最后编辑时间,编辑原因,草稿状态7个字段;所述草稿内容表包括主键和草稿正文2个字段。所述数据库服务器执行该插入命令,创建所述用户该词条名的草稿箱进一步包括:将所述词条名和用户加密ID作为该草稿箱的唯一索引并保存在所述数据库服务器。所述将所述草稿更新至该草稿箱进一步包括:所述词条中心服务器根据所述草稿正文构建更新命令并向所述数据库服务器发送该更新命令;所述数据服务器根据该更新命令更新所述草稿箱中关键数据表的编辑时间以及草稿内容表的草稿正文。本发明还提供一种基于草稿箱的词条发布方法,包括用户进行词条发布操作,该方法还包括判断该用户是否已存在该词条的草稿箱;如果不存在则创建草稿箱,将所述草稿保存至该草稿箱;如果存在则将所述草稿更新至该草稿箱;还包括:判断发布是否成功,如果发布成功,则删除所述草稿;如果发布失败,则保留所述草稿箱。所述判断发布是否成功进一步包括:所述词条中心服务器向所述前端服务器返回发布结果,所述前端服务器根据该发布结果判断发布是否成功;所述删除所述草稿箱进一步包括:所述前端服务器向所述词条中心服务器发送删除请求;所述词条中心服务器向所述数据库服务器发送删除命令;所述数据库服务器根据所述删除命令删除草稿箱。所述数据库服务器根据所述删除命令删除草稿箱是将所述草稿状态进行状态位更改。本发明还提供一种基于草稿箱的新词条创建方法,包括用户进行创建新词条的操作,还包括以下步骤:判断该用户是否已存在该词条的草稿箱;当存在,则将该草稿箱中的草稿正文加载到词条编辑器;当不存在,则直接启动空白词条编辑器。该创建方法进一步包括所述编辑过程中,根据手动或自动指令将当前草稿更新至所述草稿箱。该创建方法,进一步包括所述发布方法。
本发明还提供一种基于草稿箱的已有词条编辑方法,包括用户进行编辑已有词条的操作,还包括以下步骤:判断该用户是否已存在该词条的草稿箱;如果不存在,则启动该已有词条的词条编辑器;如果存在,则提示该用户是否放弃该草稿箱,如果该用户选择不放弃则启动对比编辑页面,如果该用户选择放弃则启动该已有词条的词条编辑器。该编辑方法进一步包括所述编辑过程中,根据手动或自动指令将当前草稿更新至所述草稿箱。该编辑方法进一步包括上述发布方法。相应地,本发明还提供一种词条编辑用草稿箱系统,包括:前端服务器,用于将包含词条数据的请求发送到词条中心服务器,所述词条数据包括词条名、用户加密ID、编辑原因和草稿正文,所述请求响应于用户的操作;词条中心服务器,用于根据所述请求封装所述词条数据并发送给数据库服务器。数据库服务器,用于根据封装好的词条数据查询、创建、更新或删除草稿箱;所述草稿箱包括关键数据表和草稿箱内容表;所述关键数据表包括主键,词条名,用户加密ID,用户名,最后编辑时间,编辑原因,草稿状态7个字段;所述草稿箱内容表包括主键和草稿正文2个字段。本发明有益效果在于:通过提供一种在词条编辑的过程中备份词条数据和词条编辑正文的方法和系统,在突发原因或发布失败时对用户辛辛苦苦编辑的内容能够及时备份,从而提高了用户体验。


下面将参照附图并结合实施例对本发明进行具体说明。图1为词条编辑备份方法流程图;图2为词条编辑用草稿箱系统结构示意图;图3为词条发布方法流程图;图4为新词条创建方法流程图;图5为已有词条编辑方法流程图。
具体实施例方式下面参照附图并借助本发明的实施例,对本发明的技术方案做详细描述。本发明提供一种基于草稿箱的词条编辑备份方法,如图1所示的方法流程图,该方法包括以下步骤:在进行词条编辑时,当用户对所编辑的词条进行保存草稿的操作时,该方法进一步包括S30、判断该用户是否已存在该词条的草稿箱,进行步骤S31,则进行步骤S32 ;S31、如果不存在则创建草稿箱,将词条编辑内容(或称为草稿)保存至该草稿箱中,进行步骤S33 ;S32、如果存在将词条编辑内容更新至该草稿箱,进入步骤S33 ;S33、继续编辑的过程中,根据手动或自动指令将当前词条编辑内容更新至所述草稿箱。如图2,本发明的词条编辑用草稿箱系统包括:前端服务器、词条中心服务器和数据库服务器。前端服务器,用于部署词条编辑器,用户操作词条编辑器的动作都会由该前端服务器验证处理,该前端服务器还用于将包含词条数据的请求发送到词条中心服务器。前端服务器发送的所述请求响应于用户的操作,比如草稿箱存在与否的查询请求、词条发布请求等。所述词条数据包括用户所编辑词条的相关信息,比如词条名、用户加密ID、编辑原因和草稿正文,该词条数据将作为数据库服务器中草稿箱数据表中的字段值。词条中心服务器,用于响应于前端服务器的请求构建相关命令并调用数据库服务器。具体地,该词条中心服务器首先验证前端服务器发送来的词条数据。如果验证结果是数据不合理,如词条名为空、词条名太长、词条被删除或编辑内容含有违禁词等等,则会返回错误信息给前端服务器,前端服务器获得该错误信息并返回给正在操作的用户。如果所述词条数据验证通过,所述词条中心服务器会根据前端服务器发来的请求将该词条数据封装为sql语句从而创建响应于该请求的命令,并将该以sql语句形式表现的该命令发送给数据库服务器。调用数据库服务器来完成对草稿箱数据的增删改查操作。数据库服务器用于根据上述封装好的词条数据完成对草稿箱的查询、创建、更新或删除操作。其中,数据库服务器为该用户的该词条建立草稿箱数据表,包括关键数据表比如t_wiki_doc_draft 和草稿箱内容表比如 t_wiki_doc_draft_text。所述关键数据表包括主键,词条名,用户加密ID,用户名,最后编辑时间,编辑原因,草稿状态7个字段;所述草稿箱内容表包括主键和草稿正文2个字段。例如,关键数据表的组成为:'DRAFT_ID'’主键ID’,该主键ID是数据库自增长形成,可以通过用户加密ID和词条名进一步查询获得;'D0C_TITLE',词条名’;' USER_ID_ENCRYPT'’ 用户加密 ID’ ;'USER_NICK'’用户名’,通过用户加密ID也可以在数据库服务器上查询到该USER_NICK ;'LAST_EDIT_HME',最后编辑时间’;'DRAFT_EDIT_REASON',编辑原因,;' DRAFT_STATE'’ 草稿状态。关键数据表中的草稿状态值为O或1,其意义将在下面予以说明。例如,草稿箱内容表的组成如下:'DRAFT_ID',主键 ID,;'D0C_TEXT',草稿正文’。本发明备份方法的具体流程如下:用户进入到部署在前端服务器上的词条编辑器,该词条编辑器包含保存、发布、保存到草稿箱三个按钮。步骤S301、用户通过词条编辑器首先会向前端服务器发送一个保存草稿的请求,前端服务器接收到该请求,该请求包含词条名、用户加密ID、编辑原因和草稿正文这四个参数。步骤S302、前端服务器得到上述各参数,并向词条中心服务器发送包括上述各参数的查询请求。步骤S303、词条中心服务器封装所述词条名和用户加密ID从而构建草稿箱是否存在的查询命令,并发送该查询命令至数据库服务器。比如该查询命令为sql语句的形式:SELECT*FR0M t_wiki_doc_draft where D0C_TITLE=’ 互动百科’ and USER_ID_ENCRYPT=' GdwFRBHZmXW9daOV8’。通过上面查询命令的结果,还可以查到的主键字段DRAFT_ID的值比如等于I。步骤S304、数据库服务器将查询结果返回给词条中心服务器,该查询结果包括是否存在草稿箱的信息,在存在草稿箱时也进一步包括主键字段值比如DRAFT_ID为I。步骤S305、词条中心服务器根据该查询结果判断是不是存在草稿箱。如果查询结果是不存在的话,执行步骤S311、词条中心服务器根据所述词条名、用户加密ID、编辑原因和草稿正文构建插入命令并发送给数据库服务器。步骤S312、数据库服务器接收并执行该插入命令,创建该词条名下对应于所述用户的草稿箱。步骤S311中例如对关键数据表字段值的插入sql语句为:INSERT INTO t_wiki_doc_draft(D0C_TITLE, USER_ID_ENCRYPT, USER_NICK, LAST_EDIT_TIME, DRAFT_EDIT_REAS0N, DRAFT_STATE)VALUES(’ 互动百科 ’,’GdwFRBHZmXW9daOV8’,’ 田恬 ’,"2012/12/2810:57:28",’ 完善内容 ’,I)。其中通过用户加密ID可以从用户数据库中查询到用户名USER_NICK,LAST_EDIT_ ΜΕ是默认给的当前时间。数据库服务器自增得到主键DRAFT_ID比如为I。进一步对草稿内容表字段值的插入sql语句:INSERT INTO t_wiki_doc_draft_text (DRAFT_ID, D0C_TEXT) values ( ‘I’,’ 草稿箱内容’)。步骤S312进一步包括利用所述用户加密ID与所述词条名建立该草稿箱的唯一索引并保存,这样一条新的草稿箱记录出现。建立唯一索引的目的是为了提高数据库查询的效率,同时保证数据库记录的唯一性,即一条草稿箱记录只能由用户加密ID和词条名唯一确定。如果查询结果是已存在草稿箱的话,用户可以进一步查询草稿箱内容,比如通过词条中心服务器构建并发送如下形式的sql语句:SELECT*FR0M t_wiki_doc_draft_text where DRAFT_ID=1从而查询到草稿正文;也可以执行步骤S321、词条中心服务器根据所述草稿正文构建并发送更新草稿箱的命令至数据库服务器比如更新关键数据表和草稿内容表的 sql 语句分别是:update t_wiki_doc_draft set LAST_EDIT_TIME=’ 最新时间 ’,DRAFT_EDIT_REASON=> 编辑原因 ’,DRAFT_STATE=lwhere D0C_TITLE=’ 互动百科,and USER_ID_ENCRYPT=,GdwFRBHZmXW9daOV8,; update t_wiki_doc_draft_text setD0C_TEXT=’草稿内容’ where DRAFT_ID=1根据所述用户加密ID和/或词条名可以查询出DRAFT_ID 值。
S322、数据库服务器根据上述更新命令将该用户对应的该词条更新为最新的草稿箱。这里更新的字段为草稿内容表中的草稿正文和关键数据表中的最后编辑时间字段。这样的更新草稿箱方式是覆盖保存方式,不再保存词条版本,因此草稿箱中总是存放最新的词条编辑内容作为草稿正文,避免了版本冗余的缺陷。然后步骤S330、数据库服务器将处理的结果,即哪个用户的哪个词条被更新或创建返回给词条中心服务器,然后再由词条中心服务器将数据库服务器处理的结果反馈给前端服务器。前端服务器将这个流程下的处理成功或失败的结果告知给用户。以上即完成了一次草稿箱的操作。其中,前端服务器通过RMI (Remote MethodInvocation,即远程方法调用)的形式访问词条中心服务器。在步骤S33中,当用户在词条编辑器中继续编辑所述词条时,用户手动保存或者每隔一段时间比如5分钟词条编辑器自动发出保存草稿的指令,则将当前词条编辑内容更新至对应该用户的该词条的草稿箱中。如图3所示的流程图,本发明还提供一种基于草稿箱的词条发布方法,用户点击发布按钮进行词条发布操作,系统执行步骤S30-步骤S32,即该用户是否已存在该词条的草稿箱并根据草稿箱存在与否进行创建或更新草稿箱的步骤。之后,执行S34、前端服务器向词条中心服务器发送该词条的发布请求,所述词条中心服务器向所述前端服务器返回发布结果,所述前端服务器根据该发布结果判断发布是否成功,如果发布成功,则进行步骤S35,删除所述草稿;如果发布失败(原因可能词条编辑内容中含有违禁词等),则进行步骤S36保留所述草稿箱。其中步骤S35进一步包括:S351、所述前端服务器向所述词条中心服务器发送删除请求,该删除请求包括该用户的用户加密ID和所编辑词条的词条名;S352、所述词条中心服务器构建删除命令并向所述数据库服务器发送该删除命令。比如该删除命令以sql语句形式表示:update t_wiki_doc_draft set DRAFT_STATE=Owhere draft_I D= 其中问号“? ”的值是根据所述用户加密ID和词条名查询出的主键ID值。S353、所述数据库服务器根据所述删除命令删除草稿箱。关于草稿箱的删除操作,本发明在草稿箱的关键数据表中设计了草稿状态这一字段作为状态位,当该字段值为O的时候表明该草稿箱是无效的即被删除的状态,对用户是隐藏的,当该字段值是I的时候表明该草稿箱是有效的,用户可以看到草稿箱。因此,本发明中的草稿箱的删除只是对其状态位的更改,而不是真正意义上的直接将该记录删除。因此具体表现在删除命令的Sql语句中,则仅更新状态位字段DRAFT_STATE使其值为O即可。在草稿箱数据表设计该字段的目的是,每个用户与每个词条有且只有一条草稿箱的记录,每次用户保存草稿的时候,只是保存该用户的最新的一条草稿箱内容。在步骤S36中,前端服务器不会再向词条中心服务器发送删除该用户该词条的草稿箱的请求,此时的草稿箱中即保存了该词条的最新的草稿正文。这样不会导致用户花了很长时间编辑的词条因意外而消失,避免了对用户编辑积极性的伤害。除在词条发布成功时,执行上述删除操作外,用户在进入其草稿箱列表时也可以执行该删除操作。优选实施例一图4是基于草稿箱的新词条创建方法的流程图;当用户创建新词条的时候,经过用户验证,权限验证等通过之后,用户就可以进入词条编辑器中,在进入词条编辑器的过程中,执行步骤S30判断该用户是否已存在该新词条的草稿箱;步骤SlO当存在该新词条的草稿箱,则直接将该草稿箱中的草稿正文加载到词条编辑器中;S11、当不存在则直接启动该新词条的空白的词条编辑器。然后用户可以继续执行图1备份方法中的步骤S33以及图3的发布方法。优选实施例二图5是基于草稿箱的已有词条编辑方法的流程图,当用户点击编辑已有词条的时候,经过用户验证,权限验证等通过之后,执行步骤S30,判断判断该用户是否已存在该词条的草稿箱。S20、如果不存在,则启动该已有词条的词条编辑器;S21、如果存在,则提示该用户是否放弃该草稿箱,如果该用户选择不放弃则启动对比编辑页面,如果该用户选择放弃则执行步骤S20。对比编辑页面是将发布版本与该草稿箱的草稿正文进行对比。然后用户可以继续执行图1备份方法中的步骤S33以及图3的发布方法。优选实施例三在发生意外(原因可能有网络断开、误点关闭浏览器)退出词条编辑器的情况下,首先执行步骤S30-S32后再退出。应当理解,以上借助优选实施例对本发明的技术方案进行的详细说明是示意性的而非限制性的。本领域的普通技术人员在阅读本发明说明书的基础上可以对各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。本发明的保护范围仅由随附权利要求书限定。
权利要求
1.一种基于草稿箱的词条编辑备份方法,包括用户对所编辑的词条进行保存草稿的操作,其特征在于,还包括以下步骤: S30、判断该用户是否已存在该词条的草稿箱; S31、如果不存在则创建草稿箱,将所述草稿保存至该草稿箱; S32、如果存在则将所述草稿更新至该草稿箱。
2.根据权利要求1所述的备份方法,其特征在于,所述方法进一步包括: S33、编辑过程中,根据手动或自动指令将当前草稿更新至所述草稿箱。
3.根据权利要求1所述的基于草稿箱的词条编辑备份方法,其特征在于, 所述步骤S30进一步包括: 步骤S302、所述前端服务器向词条中心服务器发送包括词条名、用户加密ID、编辑原因和草稿正文的查询请求; 步骤S303、所述词条中心服务器根据所述词条名和用户加密ID构建查询命令并向数据库服务器发送该查询命令; 步骤S304、所述数据库服务器将查询结果返回给所述词条中心服务器; 步骤S305、所述词条中心服务器根据该查询结果判断是否存在草稿箱,如果不存在则进行步骤S31,如果存在,则进行步骤S32。
4.根据权利要求3所述的基于草稿箱的词条编辑备份方法,其特征在于, 所述步骤S31进一步包括: S311、所述词条中心服务器根据所述词条名、用户加密ID、编辑原因和草稿正文构建插入命令并向所述数据库服务器发送该插入命令; S312、所述数据库服务器执行该插入命令,创建所述用户该词条名的草稿箱,所述草稿箱包括关键数据表和草稿内容表,所述关键数据表包括主键,词条名,用户加密ID,用户名,最后编辑时间,编辑原因,草稿状态7个字段;所述草稿内容表包括主键和草稿正文2个字段。
5.根据权利要求4所述的基于草稿箱的词条编辑备份方法,其特征在于, 步骤S312进一步包括: 将所述词条名和用户加密ID作为该草稿箱的唯一索引并保存在所述数据库服务器。
6.根据权利要求4所述的基于草稿箱的词条编辑备份方法,其特征在于, 所述步骤S32进一步包括: S321、所述词条中心服务器根据所述草稿正文构建更新命令并向所述数据库服务器发送该更新命令; S322、所述数据服务器根据该更新命令更新所述草稿箱中关键数据表的编辑时间以及草稿内容表的草稿正文。
7.一种基于草稿箱的词条发布方法,包括用户进行词条发布操作,其特征在于, 该方法还包括如权利要求1所述的步骤S30-S32 ; S34、判断发布是否成功,如果发布成功,则进行步骤S35;如果发布失败,则进行步骤S36 ; S35、删除所述草稿箱; S36、保留所述草稿箱。
8.根据权利要求7所述的发布方法,其特征在于, 所述步骤S34进一步包括: 所述词条中心服务器向所述前端服务器返回发布结果,所述前端服务器根据该发布结果判断发布是否成功; 所述步骤S35进一步包括: 5351、所述前端服务器向所述词条中心服务器发送删除请求; 5352、所述词条中心服务器向所述数据库服务器发送删除命令; 5353、所述数据库服务器根据所述删除命令删除草稿箱。
9.根据权利要求8所述的发布方法,其特征在于, 所述步骤S353数据库服务器根据所述删除命令删除草稿箱是将所述草稿状态进行状态位更改。
10.一种基于草稿箱的新词条创建方法,包括用户进行创建新词条的操作,其特征在于,还包括以下步骤: 如权利要求1所述的步骤S30判断该用户 是否已存在该词条的草稿箱; 510、当存在,则将该草稿箱中的草稿正文加载到词条编辑器; 511、当不存在,则直接启动空白词条编辑器。
11.根据权利要求10所述的创建方法,其特征在于,该方法进一步包括如权利要求2所述的步骤S33 ;和/或,该方法进一步包括如权利要求6或7的发布方法。
12.一种基于草稿箱的已有词条编辑方法,包括用户进行编辑已有词条的操作,其特征在于,包括以下步骤: 如权利要求1所述的步骤S30判断该用户是否已存在该词条的草稿箱; S20、如果不存在,则启动该已有词条的词条编辑器; 步骤S21、如果存在,则提示该用户是否放弃该草稿箱,如果该用户选择不放弃则启动对比编辑页面,如果该用户选择放弃则执行步骤S20。
13.根据权利要求12的编辑方法,其特征在于,该方法进一步包括如权利要求2所述的步骤S33 ;和/或,该方法进一步包括如权利要求6或7的发布方法。
14.一种词条编辑用草稿箱系统,其特征在于,包括: 前端服务器,用于将包含词条数据的请求发送到词条中心服务器,所述词条数据包括词条名、用户加密ID、编辑原因和草稿正文,所述请求响应于用户的操作; 词条中心服务器,用于根据所述请求封装所述词条数据并发送给数据库服务器。
数据库服务器,用于根据封装好的词条数据查询、创建、更新或删除草稿箱;所述草稿箱包括关键数据表和草稿箱内容表;所述关键数据表包括主键,词条名,用户加密ID,用户名,最后编辑时间,编辑原因,草稿状态7个字段;所述草稿箱内容表包括主键和草稿正文2个字段。
全文摘要
本发明公开了一种基于草稿箱的词条编辑备份方法和草稿箱系统,该方法包括判断该用户是否已存在该词条的草稿箱;如果不存在则创建草稿箱,将所述草稿保存至该草稿箱;如果存在则将所述草稿更新至该草稿箱。系统包括前端服务器、词条中心服务器和数据库服务器。通过本发明,在突发原因或发布失败时可以对用户辛辛苦苦编辑的内容能够及时备份,从而提高了用户体验。
文档编号G06F17/24GK103207818SQ20131014384
公开日2013年7月17日 申请日期2013年4月23日 优先权日2013年4月23日
发明者潘海东, 梅春, 付绍高 申请人:互动在线(北京)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1