数据处理的方法及系统与流程

文档序号:15445976发布日期:2018-09-14 23:22阅读:179来源:国知局

本申请涉及信息处理技术领域,尤其涉及一种数据处理的方法及系统。



背景技术:

随着信息时代的到来,出现了很多数据处理类的平台,比如,自媒体平台,如微博,问答类平台,如知乎,百科类平台,如维基百科等。

虽然目前有很多数据处理类的平台,但是都存在一定的问题,比如,在上述平台上进行数据搜索时,一般都需要依赖网络,检索速度慢,而且,互联网上大部分平台存在同类数据没有结构化的问题,这也是阻碍互联网数据进一步发展的重要原因。



技术实现要素:

为了在一定程度上解决上述问题,本申请提供了一种数据处理的方法及系统。

根据本申请实施例的第一方面,提供一种数据处理的方法,包括:

客户端接收从服务器同步的数据,所述数据为规范化数据;

客户端检测用户的操作,所述操作包括如下项中的至少一项:检索;提交;对本地数据的更新操作,所述更新操作包括:添加、修改、或者,删除;所述本地数据为规范化数据,所述更新操作为规范化的更新操作;

客户端在所述操作是检索时,在本地数据中检索结果;

客户端在所述操作是提交时,接收用户提交的数据,并对用户提交的数据进行检测,以及将检测通过的数据发送给服务器;

客户端在所述操作是对本地数据的更新操作时,对本地数据进行更新操作,并在预设时机,将更新操作的数据发送给服务器。

根据本申请实施例的第二方面,提供一种数据处理的系统,包括:客户端,所述客户端用于:

接收从服务器同步的数据,所述数据为规范化数据;

检测用户的操作,所述操作包括如下项中的至少一项:检索;提交;对本地数据的更新操作,所述更新操作包括:添加、修改、或者,删除;所述本地数据为规范化数据,所述更新操作为规范化的更新操作;

在所述操作是检索时,在本地数据中检索结果;

在所述操作是提交时,接收用户提交的数据,并对用户提交的数据进行检测,以及将检测通过的数据发送给服务器;

在所述操作是对本地数据的更新操作时,对本地数据进行更新操作,并在预设时机,将更新操作的数据发送给服务器。

本申请的实施例提供的技术方案可以包括以下有益效果:

客户端通过将服务器中的数据同步到本地,并在检索时在本地检索,可以不依赖网络,并且提高检索速度,降低了服务器自身的压力。通过对数据进行规范化定义以及操作,可以有效解决互联网平台数据冗余及数据完善问题,并降低处理难度。通过对客户端的数据进行更新操作,可以实现数据由用户来掌控,增加了用户的拥有感;通过将用户提交的数据以及更新后的数据发送给服务器,丰富了服务器的数据来源和数据量。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是本申请一个实施例提供的数据处理的方法的流程示意图;

图2是本申请实施例中数据同步的方法流程示意图;

图3是本申请实施例中提交数据的方法流程示意图;

图4是本申请实施例中收集数据的方法流程示意图;

图5是本申请实施例中系统管理员审核数据的流程图;

图6是本申请实施例中超级管理员审核数据的流程图;

图7是本申请一个实施例中提供的数据处理的系统的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和系统的例子。

图1是本申请一个实施例提供的数据处理的方法的流程示意图,如图1所示,本实施例的方法包括:

s11:客户端接收从服务器同步的数据,所述数据为规范化数据。

其中,规范化数据是指数据的数据结构是预先被定义好的。

具体而言,系统管理员(如数据维护人员,产权拥有者等)在定义数据时,可以将数据分为多个层级,如未特殊说明,本申请实施例以三个层级为例,分别是数据领域(domain)、数据类别(category)和数据模块(module),数据模块中记录数据的具体内容。为了对数据进行规范化管理,系统管理员还会对数据模块中记录的数据的数据结构进行定义。下面举例说明:

比如,数据处理系统(具体如后台审核系统)中没有教育->语文->名人名言模块的数据,此时,系统管理员可以新建domain:教育->category:语文->module:名人名言,然后自己定义名人名言的数据结构,比如说,名人名言包括:人名、国籍、名言等。然后提交,经过超级管理员审核后,就可以同步到其他用户客户端了。

s12:客户端检测用户的操作,所述操作包括如下项中的至少一项:检索;提交;对本地数据的更新操作,所述更新操作包括:添加、修改、或者,删除;所述本地数据为规范化数据,所述更新操作为规范化的更新操作。

本申请实施例中,如果未做特殊说明,数据是指规范化数据。

规范化的更新操作是指根据本地数据的数据结构进行的更新操作,以使得更新后的数据的数据结构与更新前的数据的数据结构一致。比如,客户端从服务器同步了上述的教育->语文->名人名言这一模块的数据,如果用户需要增加一条名人名言,则按照已同步的数据的数据结构进行增加,比如,已同步的数据的数据结构包括人名、国籍和名言,则用户按照上述的人名、国籍和名言这一数据结构增加。

s13:客户端在所述操作是检索时,在本地数据中检索结果。

另外,客户端在检测到用户的检索操作时,除了在本地检索结果,还可以同时向服务器请求结果。

例如,客户端在检测到用户的检索操作,如检测到用户对“搜索”按钮的点击操作,在本地数据中检索结果,以及同时并行地向服务器发送异步请求,该异步请求中携带待检索的相关内容,如检索的关键字、版本号(versioncode)等,从而从服务器获取到相关结果。

客户端在展示结果时,会优先展示先获取到的结果,比如,如果本地的规范化数据中能够检索到结果,由于一般来讲,在本地查找的速度会比从服务器请求结果的速度快,因此,会展示从本地检索到的结果。而如果本地没有检索到结果,则展示从服务器请求得到的结果。进一步的,在从服务器请求得到结果后,可以将其存储在本地,以便后续流程可以直接从本地检索得到结果。

s14:客户端在所述操作是提交时,接收用户提交的数据,并对用户提交的数据进行检测,以及将检测通过的数据发送给服务器。

用户可以通过提交页面进行数据提交,以上述三个层级的数据为例,用户可以选择需要提交的数据所属的数据领域、数据类别和数据模块,在选择数据模块后,提交页面上显示所选择的数据模块的数据结构,用户根据提交页面所显示的数据结构进行数据提交,从而提交的数据也是满足数据领域->数据类别->数据模块这种层级,且数据模块满足特定的数据结构,即提交的数据也是规范化数据。上述提交页面上所显示的数据结构是客户端从服务器同步下来的,系统管理员预先对各数据模块的数据结构进行定义并提交给超级管理员进行审核,之后存储在服务器中。

用户在提交数据前,客户端需要对数据进行检测,检测一般为重复性检测,从而降低数据冗余。

s15:客户端在所述操作是对本地数据的更新操作时,对本地数据进行更新操作,并在预设时机,将更新操作后的数据发送给服务器。

由于本地数据是规范化数据,更新操作是规范化的更新操作,因此,更新后的数据也是规范化数据。

通过对数据进行规范化,不仅可以降低数据冗余,还可以降低处理难度。以在本地检索为例,由于本地数据是规范化数据,即本地数据的数据结构是定义好的,因此可以仅在数据结构的特定字段中进行检索,这样可以加快检索速度。比如,需要检索化学物质中相对分子质量小于100的所有物质,如果定义好数据结构,相对分子质量在数据表中的字段为molecularweight,在检索时只需要在相对分子质量所属的字段(molecularweight)中检索即可,即执行:select*from物质表wheremolecularweight<100,就查询出来了。

本实施例中,客户端通过将服务器中的数据同步到本地,并在检索时在本地检索,可以不依赖网络,并且提高检索速度,降低了服务器自身的压力。通过对数据进行规范化定义以及操作,可以有效解决互联网平台数据冗余及数据完善问题,并降低处理难度。通过对客户端的数据进行更新操作,可以实现数据由用户来掌控,增加了用户的拥有感;通过将用户提交的数据以及更新后的数据发送给服务器,丰富了服务器的数据来源和数据量。

本申请实施例中,会涉及如下角色:客户端、服务器、用户和后台管理员。下面分别说明如下:

客户端:安装在手机(安卓系统或者ios系统等)、平板、电脑等设备上的应用程序(app)或者浏览器,包含登录、数据提交等模块,具有数据同步、数据收集、数据提交等功能。

服务器:存放发布的程序(如网站、后台审核系统)、数据(比如各领域数据、用户数据等)等。

用户:即客户端用户。

后台管理员,对服务器中的内容进行管理的人员。本实施例中以后台管理员分为系统管理员和超级管理员为例。可以理解的是,还可以分为其他级别的管理员,不同级别的管理员具有不同的权限。

系统管理员:具有系统管理员审核数据的权限。

超级管理员:具有超级管理员审核数据的权限。

其中,系统管理员审核数据的具体内容以及超级管理员审核数据的具体内容请参见后续描述。

另外,系统管理员和超级管理员除了以上权限外,还同时具有查看、检索数据等权限。

本申请实施例中,优选的,数据分为三级,由大到小依次为数据领域(简称领域domain,下同)、数据类别(简称类别category,下同)、数据模块(简称模块module,下同),每一模块的数据,进一步划分为预留数据、提交数据、用户数据。其中:

①预留数据(datatype=1):服务器预留数据表(简称预留表,下同)中的数据、客户端从服务器预留表同步得到的数据、用户在客户端预先整理的一部分数据。

②提交数据(datatype=2):服务器提交数据表(简称提交表,下同)中的数据、客户端从服务器提交表同步得到的数据、用户在提交页面(客户端提交页面,下同)提交的数据。

③用户数据(datatype=3):服务器用户数据表(简称用户表,下同)中的数据、客户端从服务器用户表同步得到的数据。

若从用户操作数据的角度,除了以上①②③,更进一步划分为:

④用户本地数据(datatype=4):客户端本地添加的数据。该类数据最终会上传到用户表中。

⑤用户临时数据:客户端本地修改、删除的datatype=1|2|3(a|b表示a与b的相互关系为“或”,下同)的数据,该类数据最终会上传到服务器用户临时表中(简称用户临时表,下同)。

可以理解的是,上述以数据分为三级为例,还可以继续分为更多层级,比如,进一步对数据类别(category)或数据模块(module)进行划分,分为四级、五级。

预留表、提交表、用户表可以统称为主表,系统管理员审核表和用户临时表可以统称为从表。

可以理解的是,预留表、提交表、用户表,可以合并为一个表,合并后的表增加一个datatype字段。

可以理解的是,系统管理员审核表和用户临时表可以合并为一个表。

将多个表合并为一个表可以降低数据处理的难度,减少表的数量。多个表分别设置可以避免数据库空间的浪费。

本申请实施例中,对于数据状态可做如下约定:

数据状态分为通过、不通过、待审核、再次审核、失效。其中通过的下一个状态为失效,失效为最终的状态。即状态为“通过”的数据,不可改变为除“失效”之外的其他状态,状态为“失效”的数据,不可改变为其他状态。

当然,可以理解的是,数据状态也可以进行其他方式的设定。

下面分别对上述流程中的各步骤进行说明。

同步数据:

用户下载客户端并安装,如果不登录,只能操作预留数据。第一次使用,需要用户接受相关协议(协议中包括允许收集用户操作的数据)后,才允许注册。用户登录成功后,选择关注的领域,客户端会根据用户关注的领域,同步对应的预留表中的数据、提交表和用户表中通过的数据;如果不是第一次使用,客户端也会根据服务端的配置,在适当的时机同步超级管理员最新审核的数据。

可以理解的是,也可以采用其他方式,比如,登录后不接受协议也可以同步,登录后可以同步等。

图2是本申请实施例中数据同步的方法流程示意图,如图2所示,包括:

s21:客户端获取调用参数,所述调用参数包括:领域标识(domainid)、类别标识(categoryid)、第一版本号和第一主版本号,所述第一版本号是客户端本地记录的版本号(versioncode),所述第一主版本号是客户端本地记录的主版本号(masterversioncode)。

其中,调用参数为调用同步接口的参数。客户端能够从本地读取到上述的调用参数。

其中,领域标识、类别标识和模块标识可以是由用户选择的,或者是默认设置的。领域标识用于标识数据领域,数据领域如教育;类别标识用于标识数据类别,数据类别如化学。进一步的,当需要同步特定数据模块下的数据时,调用参数还可以包括:模块标识,模块标识用于标识数据模块,数据模块如化学方程式。

客户端还未从服务器同步过数据时,第一版本号和第一主版本号为空。当客户端从服务器同步过数据时,客户端能够从本地读取到同步过的数据的第一版本号和第一主版本号。

超级管理员审核后的数据,具体是指如下操作(oper=1和oper=2)后的数据,会随之配置相应的versioncode和masterversioncode。

超级管理员审核表用来记录超级管理员审核的数据,该表字段至少包括:domainid(领域标识)、categoryid(类别标识)、dataids(数据信息数组)、versioncode、masterversioncode。

其中,dataids包含多个数据信息,格式为[moduleid|datatype|dataid|oper|dataversioncode,...],其中,moduleid为模块id,datatype为数据类型,dataid为数据id,oper为操作状态(有1和2两个状态)、dataversioncode为数据版本号。

oper=1:超级管理员a~c,a.添加的、修改的预留数据,b.修改通过或改变通过的、接收系统管理员修改通过或改变通过的提交数据、用户数据,c.接收用户本地修改的预留数据、提交数据、用户数据。

其中,以修改通过的提交数据为例,是指,超级管理员将状态为非“通过”状态的提交数据的状态修改为“通过”状态;

以改变通过的提交数据为例,是指,超级管理员将状态为非“通过”状态的提交数据的状态改变为“通过”状态。

oper=2:超级管理员a~e,a.删除的预留数据,b.删除通过(包括修改通过或改变通过)的、改变失效的、修改失效的提交数据、用户数据,c.接收用户本地删除的预留数据、提交数据、用户数据,d.接收系统管理员删除的预留数据、改变失效的提交数据和用户数据、修改失效的提交数据和用户数据,e.接收系统管理员接收用户删除的预留数据、提交数据、用户数据。

其中,以改变失效的提交数据为例,是指,超级管理员将状态为非“失效”状态的提交数据改变为“失效”状态;

以修改失效的提交数据为例,是指,超级管理员将状态为非“失效”状态的提交数据修改为“失效”状态。

需要说明的是,“修改”和“改变”的区别在于:假设展示数据的页面称为数据列表页面,则在数据列表页面上可以显示数据及其对应的状态,当需要“改变”状态时,可以直接在数据列表页面进行状态改变。当需要“修改”时,需要先进入数据修改页面,在数据修改页面进行状态或者数据内容的修改。在数据列表页面上可以设置有进入数据修改页面的入口按钮,点击该入口按钮后可以进入数据修改页面。

oper=1和oper=2中的任何一种操作,均会更新dataids中的信息,同时versioncode加1。oper=1中的任何一种操作,均会导致主表中对应数据的版本号(即dataversioncode)加1。

当数据超过字段dataids预设容量之后,masterversioncode增加1。如果需要用户重新同步主表数据,也只需要将masterversioncode增加1即可。

可以理解的是,超级管理员审核表中的dataids,可以新建一个专门的表来记录,并引入新建表的id作为超级管理员审核表中的外键。

s22:客户端将所述调用参数发送给服务器。

s23:服务器获取所述领域标识和类别标识对应的记录,所述记录包括:第二版本号和第二主版本号。

服务器接收到调用参数后,可以在超级管理员审核表中查找调用参数中的领域标识和类别标识对应的记录。

上述的记录包括:domainid(领域标识)、categoryid(类别标识)、dataids(数据信息数组)、versioncode、masterversioncode。为了与接收的第一版本号和第一主版本号区分,可以将超级管理员审核表中记录的versioncode、masterversioncode分别称为第二版本号和第二主版本号。

另一方面,当服务器内不存在对应的记录时,则需要在超级管理员审核表中插入调用参数。

s24:服务器比较所述第一版本号和第二版本号,以及所述第一主版本号和第二主版本号,以及根据比较结果得到返回结果。

s24具体可以包括:

如果第一主版本号小于第二主版本号,则获取预留数据、改变通过的提交数据与改变通过的用户数据,以及设置状态值为第一状态值,并将获取的数据、所述第二版本号和第二主版本号,以及所述状态值作为返回结果;

如果第一主版本号等于第二主版本号,并且第一版本号小于第二版本号,则获取与所述领域标识和所述类别标识对应的数据信息数组,并根据获取的数据信息数组获取对应的数据,以及设置状态值为第二状态值,并将获取的数据、所述第二版本号和所述状态值作为返回结果;

如果第一主版本号等于第二主版本号,并且第一版本号等于第二版本号,则设置状态值为第三状态值,并将所述状态值作为返回结果。

以第一状态值表示为status=1,第二状态值表示为status=2,第三状态值表示为status=0,则上述各情况可以具体表述如下:

第一种情况:如果第一主版本号小于第二主版本号,则清空超级管理员审核表对应的dataids中的内容,并获取预留数据、改变通过的提交数据与改变通过的用户数据,与超级管理员审核表中的versioncode和masterversioncode和status=1一块返回到客户端。

第二种情况:如果第一主版本号等于第二主版本号,并且第一版本号小于第二版本号,则获取超级管理员审核表中的dataids内容,然后根据dataids中的数据信息,获取对应数据,并与超级管理员审核表中的versioncode和status=2一块返回到客户端。

第三种情况:如果第一主版本号等于第二主版本号,并且第一版本号等于第二版本号,则返回status=0到客户端。

其中,针对第二种情况,服务器可以根据调用参数中包括的领域id和类别id在超级管理员审核表中获取对应的dataids,再根据获取的dataids从主表中获取与dataids中信息所对应的数据。

s25:服务器将返回结果发送给客户端。

s26:客户端接收所述返回结果,并根据所述返回结果保持本地数据不变或者更新本地数据。

s26的具体内容可以包括:

如果返回结果中的状态值为第三状态值,则保持本地数据不变;

如果返回结果中的状态值为第二状态值,则批量插入或更新本地数据版本号小于返回数据版本号的数据,本地数据版本号高于返回数据版本号的,进行预设的冲突处理操作,同时将本地的版本号和主版本号从所述第一版本号和第一主版本号分别更新为所述第二版本号和第二主版本号;

如果返回结果中的状态值为第一状态值,则批量插入或更新本地数据版本号小于返回数据版本号的数据,本地数据版本号高于返回数据版本号的,进行预设的冲突处理操作,同时将本地的版本号从所述第一版本号更新为所述第二版本号。

与服务器的处理对应,用各参数可以具体表述为:

第一种情况:如果status=0,则不作处理,即保持客户端本地数据不变。

第二种情况:如果status=1,则批量插入或更新本地数据版本号小于返回数据版本号的数据,本地数据版本号高于返回数据版本号的,进行预设的冲突处理操作,同时更新本地versioncode和masterversioncode。

第三种情况:如果status=2,则批量插入或更新本地数据版本号小于返回数据版本号的数据,本地数据版本号高于返回数据版本号的,进行预设的冲突处理操作,同时更新本地versioncode。

上述步骤中的预设的冲突处理操作可以具体包括:

默认强制覆盖;默认永不覆盖;或者,向用户显示提示信息,提示用户选择覆盖或者不覆盖,再根据用户的选择对冲突数据进行覆盖或不覆盖。上述的冲突数据是指本地数据版本号高于返回数据版本号的数据。

提交数据:

提交数据为用户在客户端数据提交页面提交的数据,一般通过一些激励政策(比如积分形式等)鼓励用户提交。

图3是本申请实施例中提交数据的方法流程示意图,如图3所示,提交数据包括:

s31:客户端向用户展示提交页面,并接收用户在提交页面内输入的数据。

客户端向用户展示提交页面后,用户可以在提交页面内输入数据,用户在输入数据时,按照预定的数据层级和数据结构进行输入,比如,输入的数据包括:数据领域的具体内容(如教育)、数据类别的具体内容(如化学)、数据模块的具体内容(如具体的化学方程式)。上述的具体内容可以是用户在预设的内容中选择的,或者是用户主动填写的。

s32:客户端在用户输入过程中检测所输入的数据是否重复,并根据检测结果提示用户编辑完善或继续提交。

填写的过程中,系统会自动检测数据是否重复,检测会根据数据的复杂度,选择不同的方式,如化学物质会选择化学式与化学名进行检测,内容较长的,会进行文本相似度判断,并列出内容相同的或相似度高的数据,提示用户编辑完善或继续提交。

s33:客户端将用户编辑完善后的数据或继续提交的数据,发送给服务器。

比如,用户在编辑完善后点击确认按钮,或者,点击继续提交按钮后,客户端将相应的数据发送给服务器。

收集数据:

对于用户操作(修改、添加、删除)本地数据,操作后的数据,会在合适的时机上传到服务器(比如:操作完后,立即上传到服务器,上传失败,则本地保留上传失败的记录,下次打开客户端后,继续上传,直到上传成功为止,上传成功后,删除本地记录)。这个过程用户不可感知。主要目的是为了收集用户操作的数据,简称收集数据。

图4是本申请实施例中收集数据的方法流程示意图,如图4所示,收集数据的方法包括:

s41:如果所述操作为用户对第一种数据的修改或删除操作,则服务器接收修改或删除的数据,并将修改或删除的数据记录在用户临时表中,同时将主表中对应数据的从表数据存在标识更新为第一值,所述从表数据存在标识用于标识从表中是否有对应数据,所述第一值表明从表有对应数据。

第一种数据包括:预留数据;数据状态为“通过”的提交数据;或者,数据状态为“通过”的用户数据。

数据状态为“通过”可以是修改为“通过”或者改变为“通过”。

hasslavedata(从表数据存在标识)用来标识从表(系统管理员审核表或用户临时表)中是否有对应的数据。比如,0:表示从表无对应数据,1:从表有对应数据。

s42:如果所述操作为添加操作,则服务器接收用户添加的数据,并将用户添加的数据插入到用户表中。

s43:如果所述操作为用户对第二种数据的修改或删除操作,则服务器接收修改或删除的数据,并相应修改或删除用户表中对应的数据。

第二种数据是数据类型为datatype=4的数据,即用户在本地添加的数据。

备注:a.客户端datatype=1|2|3的数据id与服务器对应。b.对于服务器用户表中的数据,来自于客户端添加的数据(datatype=4),由于一个用户可以登录多个客户端,服务器用户表为了区分同一用户在不同客户端添加的数据,需要在客户端和服务器对应的表中添加一个额外的id(比如客户端id或当前时间戳等),与用户id一起作为联合主键。

下面对后台审核系统的处理流程进行说明。后台审核系统的处理流程包括:系统管理员审核数据的流程,以及超级管理员审核数据的流程。

图5是本申请实施例中系统管理员审核数据的流程图,如图5所示,系统管理员审核数据的流程包括:

s51:服务器接收系统管理员对特定数据领域和特定数据类别的特定数据模块的选择操作。

比如,系统管理员登录后台数据审核系统,选择教育->化学->化学方程式。

s52:服务器接收系统管理员对所选择的数据模块中特定数据类型的类型选择操作,根据所述类型选择操作查找对应的数据,对查找到的数据进行处理,以及对处理后的数据进行展示。

其中,类型选择操作例如选择:预留数据、提交数据、用户数据或者联合审核。

所述查找的数据包括:主表中的数据、系统管理员审核表中的数据、用户临时表中的数据。

对查找到的数据进行处理包括:用从系统管理员审核表中查到的数据替换掉对应的主表数据、将用户临时表中查到的数据追加到对应的主表中。

比如,系统管理员进行类型选择操作后,系统会按照hasslavedata(倒序)、组id(顺序)和数据id(顺序)从主表中查找第一页数据,然后根据查到的数据,从系统管理员审核表中查找当前系统管理员对应的数据以及从用户临时表中,查找到对应的数据,并将从系统管理员审核表中查到的数据替换掉对应的主表数据、从用户临时表中查到的数据追加到对应的主表中,最后完成数据的展示。

备注:a.联合审核为系统将主表中的数据按照hasslavedata倒序、组id顺序和数据id顺序一块列出后通过对比,进行数据的审核。b.组id指数据组id,每一条数据都有一个组,相似或相同的数据为同一组。只有超级管理员才可以为数据分配组。

s53:服务器接收系统管理员对展示的数据的审核操作,并根据所述审核操作,更新或删除从表中的数据,以及更新主表中的从表数据存在标识。

系统管理员审核数据,具体包括:

对展示的主表中的数据进行修改、删除或者改变状态;

对展示的系统管理员审核表中的数据进行修改、删除或者改变状态;

对展示的用户临时表中的数据进行接收或者抛弃;

对各种修改后的数据再进行修改、删除或者改变状态;

对各种改变状态后的数据再进行修改、删除或者改变状态;

需要说明的是,修改包括修改数据内容或者修改数据的状态;

改变状态是指:对能够改变状态的数据进行改变状态,其中,能够改变状态的数据满足:改变状态之前状态为未失效,且,数据不是如下两种情况:情况一:主表中的预留数据,情况二:预留数据在系统管理员审核表中所对应的数据。

s53具体可以包括:

第一种情况:对展示的主表中的数据进行修改、删除或者改变状态:操作成功后,将操作成功的数据,插入到系统管理员审核表中,同时更新主表中对应数据的hasslavedata=1,更新展示的该条数据。

第二种情况:对展示的系统管理员审核表中的数据进行修改、删除或者改变状态:操作成功后,对操作成功的数据,在系统管理员审核表中,修改、删除或者改变状态,更新展示的该条数据。

第三种情况:接收用户临时数据:获取对应的用户临时数据,并删除用户临时表中的该条数据,以及判断在系统管理员审核表中是否有该条数据,若有则该条用户临时数据更新到系统管理员审核表中,否则插入到系统管理员审核表中,并更新主表中对应数据的hasslavedata=1,操作成功后,更新展示的该条数据。

第四种情况:抛弃用户临时数据:删除用户临时表对应的数据,以及判断在系统管理员审核表中是否有该条数据,若有则不作处理,否则,更新主表中对应数据的hasslavedata=0,操作成功后,更新展示的该条数据。

第五种情况:对各种修改后的数据再进行修改、删除或者改变状态,对各种改变状态后的数据再进行修改、删除或者改变状态:按照各种修改或改变状态后的数据类型进行相应处理,原理类似,此处不再进一步描述。比如,一条主表中的数据被修改后,如果需要对该修改后的数据再次进行修改,则由于该条数据是主表中的数据,则按照上述的第一种情况处理。

图6是本申请实施例中超级管理员审核数据的流程图,如图6所示,超级管理员审核数据的流程包括:

s61:服务器接收超级管理员对特定数据领域和特定数据类别的特定数据模块的选择操作。

比如,超级管理员登录后台数据审核系统,选择教育->化学->化学方程式。

s62:服务器接收超级管理员对所选择的数据模块中特定数据类型的类型选择操作,根据所述类型选择操作查找对应的数据,以及展示查找到的数据。

其中,类型选择操作例如选择:预留数据、提交数据、用户数据或者联合审核。

所述查找的数据包括:主表中的数据、系统管理员审核表中的数据、用户临时表中的数据。

比如,超级管理员进行类型选择操作后,系统会按照hasslavedata(倒序)、组id(顺序)和数据id(顺序)列出主表中的一页数据以及对应的系统管理员审核表和用户临时表中的数据。

s63:服务器接收超级管理员对展示的数据的审核操作。

超级管理员审核数据,具体包括:

对展示的主表中的数据进行修改、删除或者改变状态;

对展示的用户临时表中的数据进行接收或者抛弃;

对展示的系统管理员审核表中的数据进行接收或者抛弃;

为数据分配组;

需要说明的是,修改包括修改数据内容或者修改数据的状态;

改变状态是指:对能够改变状态的数据进行改变状态,其中,能够改变状态的数据满足:改变状态之前状态为未失效,且,数据不是主表中的预留数据;

s64:在所述审核操作为预定审核操作时,根据所述预定审核操作,更新数据版本号,并将操作的数据信息插入或更新到超级管理员审核表中,以及更新主表中的从表数据存在标识。

其中,预定审核操作包括oper=1和oper=2中的任何一个操作。

比如,超级管理员oper=1和oper=2中的任何一个操作,操作成功后,更新对应数据版本号加1,并将操作后的数据信息(domainid、categoryid、dataids)插入或更新到超级管理员审核表中,并根据操作后从表中是否有对应数据,更新主表中对应数据的hasslavedata的状态,最后更新展示的该条数据。

s65:服务器在所述审核操作为非预定审核操作且非分配组操作时,根据所述非预定审核操作,更新数据版本号,以及更新主表中的从表数据存在标识。

其中,非预定审核操作是指超级管理员除了oper=1、oper=2和分配组操作之外的其余的审核操作。

比如,超级管理员oper!=1且oper!=2,且不是分配组操作,操作成功后,对应数据版本号加1,并根据操作后从表中是否有对应数据,更新主表中对应数据的hasslavedata的状态,最后更新展示的该条数据。

s66:服务器在所述审核操作为分配组操作时,为数据分配组。

为数据分配组是指:一般来讲,将相似度高的数据分配到同一组。比如:用户提交(或本地添加)一条数据,上传到服务器后,超级管理员审核通过后,该条数据后面会显示分配组,超级管理员点击“分配组”,程序就会拿这条数据跟主表中的其他已分配组的数据进行相似度比较,一旦检测到有相似度高的数据,就将这条数据分配为该相似度高的数据所在的组。超级管理员添加预留数据,添加完毕后,可以直接分配组,或者是手动分配组。需要说明的是,针对待分配组的数据,是在当前页面所在的“数据领域->数据类别->数据模块”下,只检测对比该当前页面上的数据模块下的数据。

图7是本申请另一个实施例中提供的数据处理的系统的结构示意图。

本申请还提供了一种数据交互系统,如图7所示,本实施例的系统70包括:客户端71,所述客户端71用于:

接收从服务器同步的数据,所述数据为规范化数据;

检测用户的操作,所述操作包括如下项中的至少一项:检索;提交;对本地数据的更新操作,所述更新操作包括:添加、修改、或者,删除;所述本地数据为规范化数据,所述更新操作为规范化的更新操作;

在所述操作是检索时,在本地数据中检索结果;

在所述操作是提交时,接收用户提交的数据,并对用户提交的数据进行检测,以及将检测通过的数据发送给服务器;

在所述操作是对本地数据的更新操作时,对本地数据进行更新操作,并在预设时机,将更新操作的数据发送给服务器。

另一实施例中,该系统70还包括:服务器72。客户端71与服务器72之间可以通过无线和/或有线方式连接(图7中以有线连接为例)。

一些实施例中,所述客户端具体用于:

获取调用参数,所述调用参数包括:领域标识、类别标识、第一版本号和第一主版本号,所述第一版本号是客户端本地记录的版本号,所述第一主版本号是客户端本地记录的主版本号;

将所述调用参数发送给服务器;

相应的,服务器具体用于:

获取所述领域标识和类别标识对应的记录,所述记录包括:第二版本号和第二主版本号;

比较所述第一版本号和第二版本号,以及所述第一主版本号和第二主版本号,以及根据比较结果得到返回结果;

客户端还用于:接收所述返回结果,并根据所述返回结果保持本地数据不变或者更新本地数据。

一些实施例中,服务器进一步具体用于:

如果第一主版本号小于第二主版本号,则获取预留数据、改变通过的提交数据与改变通过的用户数据,以及设置状态值为第一状态值,并将获取的数据、所述第二版本号和第二主版本号,以及所述状态值作为返回结果;

如果第一主版本号等于第二主版本号,并且第一版本号小于第二版本号,则获取超级管理员审核表中与所述领域标识和所述类别标识对应的数据信息数组,并根据获取的数据信息数组获取对应的数据,以及设置状态值为第二状态值,并将获取的数据、所述第二版本号和所述状态值作为返回结果;

如果第一主版本号等于第二主版本号,并且第一版本号等于第二版本号,则设置状态值为第三状态值,并将所述状态值作为返回结果。

一些实施例中,客户端进一步具体用于:

如果返回结果中的状态值为第三状态值,则保持本地数据不变;

如果返回结果中的状态值为第二状态值,则批量插入或更新本地数据版本号小于返回数据版本号的数据,本地数据版本号高于返回数据版本号的,进行预设的冲突处理操作,同时将本地的版本号和主版本号从所述第一版本号和第一主版本号分别更新为所述第二版本号和第二主版本号;

如果返回结果中的状态值为第一状态值,则批量插入或更新本地数据版本号小于返回数据版本号的数据,本地数据版本号高于返回数据版本号的,进行预设的冲突处理操作,同时将本地的版本号从所述第一版本号更新为所述第二版本号。

一些实施例中,客户端具体用于:

向用户展示提交页面,并接收用户在所述提交页面内输入的数据;

在用户输入过程中检测所输入的数据是否重复,并根据检测结果提示用户编辑完善或继续提交;

将用户编辑完善后的数据或继续提交的数据,发送给服务器。

一些实施例中,服务器还用于:

如果所述操作为用户对第一种数据的修改或删除操作,则接收修改或删除的数据,并将修改或删除的数据记录在用户临时表中,同时将主表中对应数据的从表数据存在标识更新为第一值,所述从表数据存在标识用于标识从表中是否有对应数据,所述第一值表明从表有对应数据;

如果所述操作为添加操作,则接收用户添加的数据,并将用户添加的数据插入到用户表中;

如果所述操作为用户对第二种数据的修改或删除操作,则接收修改或删除的数据,并相应修改或删除用户表中对应的数据。

一些实施例中,服务器还用于:接收系统管理员的审核操作,具体包括:

接收系统管理员对特定数据领域和特定数据类别的特定数据模块的选择操作;

接收系统管理员对所选择的数据模块中特定数据类型的类型选择操作,根据所述类型选择操作查找对应的数据,对查找到的数据进行处理,以及对处理后的数据进行展示;

接收系统管理员对展示的数据的审核操作,并根据所述审核操作,更新或删除从表中的数据,以及更新主表中的从表数据存在标识。

一些实施例中,所述服务器具体用于:

如果系统管理员对展示的主表中的数据进行修改、删除或者改变状态,则将操作成功的数据,插入到系统管理员审核表中,同时更新主表中对应数据的从表数据存在标识为第一值;

如果系统管理员对展示的系统管理员审核表中的数据进行修改、删除或者改变状态,则对操作成功的数据,在系统管理员审核表中,修改、删除或者改变状态;

如果系统管理员接收用户临时数据,则获取对应的用户临时数据,并删除用户临时表中的该条数据,以及在系统管理员审核表中有该条数据时,将该条用户临时数据更新到系统管理员审核表中,没有时,则插入到系统管理员审核表中,并更新主表中对应数据的从表数据存在标识为第一值;

如果系统管理员抛弃用户临时数据,则删除用户临时表对应的数据,以及在系统管理员审核表中没有该条数据时,更新主表中对应数据的从表数据存在标识为第二值;

如果系统管理员对各种修改后的数据再进行修改、删除或者改变状态,对各种改变状态后的数据再进行修改、删除或者改变状态,则按照各种修改或改变状态后的数据类型进行相应处理。

一些实施例中,服务器还用于:接收超级管理员的审核操作,具体包括:

接收超级管理员对特定数据领域和特定数据类别的特定数据模块的选择操作;

接收超级管理员对所选择的数据模块中特定数据类型的类型选择操作,根据所述类型选择操作查找对应的数据,以及展示查找到的数据;

接收超级管理员对展示的数据的审核操作;

在所述审核操作为预定审核操作时,根据所述预定审核操作,更新数据版本号,并将操作的数据信息插入或更新到超级管理员审核表中,以及更新主表中的从表数据存在标识;

在所述审核操作为非预定审核操作且非分配组操作时,根据所述非预定审核操作,更新数据版本号,以及更新主表中的从表数据存在标识;

在所述审核操作为分配组操作时,为数据分配组。

相同或相似部分可以参见其他实施例,此处不再赘述。

关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本实施例中,客户端通过将服务器中的数据同步到本地,并在检索时在本地检索,可以不依赖网络,并且提高检索速度,降低了服务器自身的压力。通过对数据进行规范化定义以及操作,可以有效解决互联网平台数据冗余及数据完善问题,并降低处理难度。通过对客户端的数据进行更新操作,可以实现数据由用户来掌控,增加了用户的拥有感;通过将用户提交的数据以及更新后的数据发送给服务器,丰富了服务器的数据来源和数据量。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1