CN201510026045.0
2015.01.19
CN104537110A
2015.04.22
授权
有权
授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20150119|||公开
G06F17/30
上海拍拍贷金融信息服务有限公司
张友玲
201203上海市浦东新区张江高科技园区郭守敬路498号8号楼1楼
北京博思佳知识产权代理有限公司11415
林祥
本发明提供一种数据写入方法和装置。所述方法包括:接收客户端发送的数据;根据所述数据的属性信息查询数据库日志,以判断数据库中是否已存储所述数据;如果数据库中没有存储所述数据,则将所述数据保存在缓存中;向客户端返回上传成功的消息。通过本发明的技术方案,可以提升用户写入数据的速率,同时提升用户的操作体验。
权利要求书1. 一种数据写入方法,其特征在于,所述方法包括: 接收客户端发送的数据; 根据所述数据的属性信息查询数据库日志,以判断数据库中是否已存储 所述数据; 如果数据库中没有存储所述数据,则将所述数据保存在缓存中; 向客户端返回上传成功的消息。 2. 根据权利要求1所述的方法,其特征在于,在向客户端返回上传成功 的消息后,还包括: 将保存在缓存中的所述数据写入数据库。 3. 根据权利要求1所述的方法,其特征在于, 所述数据的属性信息是所述数据的时间段信息; 所述根据所述数据的属性信息查询数据库日志,以判断数据库中是否已 存储所述数据,包括: 如果所述数据库日志的时间段和所述数据的时间段没有交集,则确认数 据库中没有存储所述数据; 如果所述数据库日志的时间段包含所述数据的时间段,则确认数据库中 存储有所述数据。 4. 根据权利要求3所述的方法,其特征在于,所述方法还包括: 如果所述数据库日志的时间段与所述数据的时间段有交集,且交集不是 所述数据的时间段,则将所述数据保存在缓存中。 5. 根据权利要求2所述的方法,其特征在于,所述方法还包括: 接收客户端发送的数据统计查询指令; 根据所述数据统计查询指令,从数据库预设的中间表中获取查询结果, 所述查询结果是在将所述数据写入数据库后由数据库统计生成; 将所述查询结果返回客户端。 6. 一种数据写入装置,其特征在于,所述装置包括: 数据接收单元,用于接收客户端发送的数据; 存储判断单元,用于根据所述数据的属性信息查询数据库日志,以判断 数据库中是否已存储所述数据; 数据保存单元,用于在数据库中没有存储所述数据时,将所述数据保存 在缓存中; 成功返回单元,用于向客户端返回上传成功的消息。 7. 根据权利要求6所述的装置,其特征在于,所述装置还包括: 数据写入单元,用于在向客户端返回上传成功的消息后,将保存在缓存 中的所述数据写入数据库。 8. 根据权利要求6所述的装置,其特征在于, 所述数据的属性信息是所述数据的时间段信息; 所述存储判断单元,具体在所述数据库日志的时间段和所述数据的时间 段没有交集时,确认数据库中没有存储所述数据; 在所述数据库日志的时间段包含所述数据的时间段时,确认数据库中存 储有所述数据。 9. 根据权利要求8所述的装置,其特征在于, 所述数据保存单元,进一步用于在所述数据库日志的时间段与所述数据 的时间段有交集,且交集不是所述数据的段时间段时,将所述数据保存在缓 存中。 10. 根据权利要求7所述的装置,其特征在于,所述装置还包括: 查询接收单元,用于接收客户端发送的数据统计查询指令; 结果获取单元,用于根据所述数据统计查询指令,从数据库预设的中间 表中获取查询结果,所述查询结果是在将所述数据写入数据库后由数据库统 计生成; 结果返回单元,用于将所述查询结果返回客户端。
说明书一种数据写入方法和装置 技术领域 本发明涉及数据处理技术领域,尤其涉及一种数据写入方法和装置。 背景技术 随着互联网技术的发展,越来越多的数据需要存储在数据库中,以方便 用户进行统计和分析。 相关技术中,用户往往需要先将更新的数据写入数据库中,然后由数据 库根据存储的所有数据进行统计分析,以生成用户需要查询的统计结果。在 这个过程中,用户写入数据的速率将直接影响用户的使用体验。 发明内容 有鉴于此,本发明提供一种数据写入方法和装置。 具体地,本发明是通过如下技术方案实现的: 一种数据写入方法,所述方法包括: 接收客户端发送的数据; 根据所述数据的属性信息查询数据库日志,以判断数据库中是否已存储 所述数据; 如果数据库中没有存储所述数据,则将所述数据保存在缓存中; 向客户端返回上传成功的消息。 进一步地,在向客户端返回上传成功的消息后,还包括: 将保存在缓存中的所述数据写入数据库。 进一步地,所述数据的属性信息是所述数据的时间段信息; 所述根据所述数据的属性信息查询数据库日志,以判断数据库中是否已 存储所述数据,包括: 如果所述数据库日志的时间段和所述数据的时间段没有交集,则确认数 据库中没有存储所述数据; 如果所述数据库日志的时间段包含所述数据的时间段,则确认数据库中 存储有所述数据。 进一步地,所述方法还包括: 如果所述数据库日志的时间段与所述数据的时间段有交集,且交集不是 所述数据的时间段,则将所述数据保存在缓存中。 进一步地,所述方法还包括: 接收客户端发送的数据统计查询指令; 根据所述数据统计查询指令,从数据库预设的中间表中获取查询结果, 所述查询结果是在将所述数据写入数据库后由数据库统计生成; 将所述查询结果返回客户端。 一种数据写入装置,所述装置包括: 数据接收单元,用于接收客户端发送的数据; 存储判断单元,用于根据所述数据的属性信息查询数据库日志,以判断 数据库中是否已存储所述数据; 数据保存单元,用于在数据库中没有存储所述数据时,将所述数据保存 在缓存中; 成功返回单元,用于向客户端返回上传成功的消息。 进一步地,所述装置还包括: 数据写入单元,用于在向客户端返回上传成功的消息后,将保存在缓存 中的所述数据写入数据库。 进一步地,所述数据的属性信息是所述数据的时间段信息; 所述存储判断单元,具体在所述数据库日志的时间段和所述数据的时间 段没有交集时,确认数据库中没有存储所述数据; 在所述数据库日志的时间段包含所述数据的时间段时,确认数据库中存 储有所述数据。 进一步地,所述数据保存单元,进一步用于在所述数据库日志的时间段 与所述数据的时间段有交集,且交集不是所述数据的段时间段时,将所述数 据保存在缓存中。 进一步地,所述装置还包括: 查询接收单元,用于接收客户端发送的数据统计查询指令; 结果获取单元,用于根据所述数据统计查询指令,从数据库预设的中间 表中获取查询结果,所述查询结果是在将所述数据写入数据库后由数据库统 计生成; 结果返回单元,用于将所述查询结果返回客户端。 由以上描述可以看出,本发明服务端在接收到客户端发送的数据时,可 以根据数据的属性信息查询数据库日志,以判断数据库中是否已存储所述数 据,并在数据库中没有存储所述数据时,将所述数据保存在缓存中,然后向 客户端返回上传成功的消息,进而提升用户写入数据的速率,同时提升用户 的操作体验。 附图说明 图1是本发明一示例性实施例示出的一种数据写入方法的流程图。 图2是本发明一示例性实施例示出的一种数据统计查询的方法流程图。 图3是本发明一示例性实施例示出的一种服务端的结构示意图。 图4是本发明一示例性实施例示出的一种数据写入装置的结构示意图。 具体实施方式 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的 描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的 要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所 有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一 些方面相一致的装置和方法的例子。 在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制 本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所 述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应 当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项 目的任何或所有可能组合。 应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种 信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼 此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第 二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所 使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应 于确定”。 针对上述问题,本发明提供一种数据写入方案,可能有效提高用户写入 数据的速率,进而提升用户的使用体验。 图1是本发明一示例性实施例示出的一种数据写入方法的流程图。 请参考图1,本发明提供一种数据写入方法,所述方法可以应用在服务 端上,比如:Web服务器等,所述数据写入方法可以包括以下步骤: 步骤101,接收客户端发送的数据。 在本实施例中,用户可以通过终端中装载的客户端上传数据。服务端接 收客户端发送的用户上传的所述数据。 步骤102,根据所述数据的属性信息查询数据库日志,以判断数据库中 是否已存储所述数据。如果数据库中没有存储所述数据,则执行步骤103。 在本实施例中,服务端在接收到所述数据以后,获取所述数据的属性信 息,然后根据所述属性信息查询数据库日志,以判断数据库中是否已存储有 所述数据,所述数据的属性信息为所述数据的时间段信息。 具体地,客户端发送的所述数据通常包括有多条子数据,其中,每条子 数据都具有自身的时间信息。在本实施例中,所述数据的时间段信息为所述 数据中所有子数据的时间信息中最早的时间与最晚的时间所组成的时间段。 举例来说,假设所述数据为客户的通话详单,所述数据包括的子数据为所述 通话详单中的通话记录。对于所述通话详单中的每一条通话记录而言,都对 应有一个通话时间,则在本实施例中,所述数据的属性信息为客户通话详单 的时间段。如果所述通话详单中最早的一条通话记录的通话时间为2014年3 月1日,最晚一条通话记录的通话时间为2014年4月1日,则该客户的通话 详单的时间段为2014年3月1日至2014年4月1日,即所述数据的时间段 信息为2014年3月1日至2014年4月1日。 在本步骤中,服务端根据所述数据的时间段信息查询数据库日志,以判 断数据库中是否已存储有所述数据。具体地,对于数据库而言,终端或者服 务端对数据库的写入操作都会记录在数据库日志中,因此,在本发明中,服 务端可以通过判断所述数据库日志的时间段和所述数据的时间段是否存在交 集以判断数据库中是否已存储有所述数据,所述数据库日志的时间段为对数 据库进行写入时所写入的数据的时间段。仍以所述数据为通话详单为例,假 设某一条数据库日志的时间段为2014年1月1日至2014年2月1日,则该 数据库日志表明数据库中已存储有时间段信息为2014年1月1日至2014年 2月1日的通话详单。 在实际应用中,一个客户的数据库日志可能会有多条,服务端可以将该 客户的各条数据库日志的时间段进行汇总后判断所述时间段和所述数据的时 间段是否存在交集,服务端也可以针对各条数据库日志的时间段分别判断所 述时间段和所述数据的时间段是否存在交集,然后对判断结果进行汇总,本 发明对此不作特殊限制。 较为简单的,以服务端将各条数据库日志的时间段进行汇总后再判断为 例,所述判断结果可以包括以下三种情况: 情况一:所述数据库日志的时间段和所述数据的时间段没有交集,则可 以确认数据库中没有存储所述数据。仍假设,所述数据的时间段为2014年3 月1日至2014年4月1日,如果所述数据日志的时间段为2014年1月1日 至2014年2月1日,则所述数据库日志的时间段和所述数据的时间段没有交 集,确认数据库中没有存储所述数据,执行步骤103。 情况二:所述数据库日志的时间段包含所述数据的时间段,则可以确认 数据库中存储有所述数据。仍假设,所述数据的时间段为2014年3月1日至 2014年4月1日,如果所述数据日志的时间段为2014年1月1日至2014年 5月1日,则所述数据库日志的时间段包含所述数据的时间段,确认数据库 中存储有所述数据,即数据库中已经存储有用户要写入的数据,服务端可以 依据相关技术中的处理方式向客户端返回处理结果,比如:服务端可以向客 户端返回数据已上传完毕的消息等,本发明对此不作特殊限制。 情况三:所述数据库日志的时间段与所述数据的时间段有交集,且交集 不是所述数据的时间段,则可以确认数据库中存储有部分所述数据。仍假设, 所述数据的时间段为2014年3月1日至2014年4月1日,如果所述数据日 志的时间段为2014年1月1日至2014年3月15日,则所述数据库日志的时 间段与所述数据的时间段有交集,交集为:2014年3月1日至2014年3月 15日,该交集不是所述数据的时间段,可以确认数据库中存储有该客户2014 年3月1日至2014年3月15日的通话详单。对于客户端发送的通话详单, 仍有2014年3月16日至2014年4月1日的通话详单需要写入到数据库中。 所以,在所述数据库日志的时间段与所述数据的时间段有交集,且交集不是 所述数据的时间段时,执行步骤103。 步骤103,将所述数据保存在缓存中。 在本实施例中,服务端将客户端发送的所述数据保存在本机的缓存中, 比如:MQ缓存。具体地,服务端可以先对所述数据进行去重处理,然后将 去重后的所述数据保存在缓存中。 步骤104,向客户端返回上传成功的消息。 基于前述步骤103,服务端在将所述数据保存在缓存中之后,向客户端 返回上传成功的消息。具体地,服务端可以统计去重后的所述数据包含的子 数据的数量,然后将该数量携带在所述上传成功的消息中。客户端在接收到 所述上传成功的消息后,将所述消息展现给用户,比如:客户端可以向用户 显示“452条记录上传成功”的消息框。 在本实施例中,服务端在将所述数据保存在缓存中之后,就会向客户端 返回上传成功的消息,相对于相关技术中服务端在将数据写入到数据库中之 后才向客户端返回上传成功的消息,对于用户而言,大大提升了写入数据的 速率,进而提升了用户体验。 步骤105,将保存在缓存中的所述数据写入数据库。 在本实施例中,服务端将保存在缓存中的所述数据写入数据库。比如: 针对所述数据,服务端可以依次查询所述数据中包含的子数据是否已经存储 在数据库中,如果所述子数据没有存储在数据库中,则将所述子数据写入数 据库,如果所述子数据已经存储在数据库中,则继续进行查询。服务端进一 步还可以在将所述数据写入数据库中之后,删除保存在缓存中的所述数据。 本领域技术人员可以依据相关技术中提供的数据写入方式以进行所述数据的 写入,本发明在此不再一一赘述。 由以上描述可以看出,本发明服务端在接收到客户端发送的数据时,可 以根据数据的属性信息查询数据库日志,以判断数据库中是否已存储所述数 据,并在数据库中没有存储所述数据时,将所述数据保存在缓存中,然后向 客户端返回上传成功的消息,进而提升用户写入数据的速率,同时提升用户 的操作体验。 在本发明另一实施例中,基于上述数据写入方法,本发明还提供有数据 统计查询的方法,具体地,请参考图2,所述方法包括以下步骤: 步骤201,接收客户端发送的数据统计查询指令。 在本实施例中,用户在通过客户端将数据写入数据库中之后,用户还可 以通过所述客户端查询所述数据的统计结果。仍以所述数据为客户的通话详 单为例,用户可以在客户端中输入要查询的客户的姓名,客户端会将用户针 对该客户的通话详单统计查询指令发送给服务端。 步骤202,根据所述数据统计查询指令,从数据库预设的中间表中获取 查询结果,所述查询结果是在将所述数据写入数据库后由数据库统计生成。 基于前述步骤201,服务端在接收到所述数据统计查询指令后,从数据 库中预设的中间表中获取查询结果。具体地,数据库会在服务端将所述数据 写入后,对写入的所述数据和在此之前就存储的数据进行统计,并将统计结 果存储在所述预设的中间表中,以便于服务端在接收到所述数据统计查询指 令后,可以直接查询到统计的结果。 步骤203,将所述查询结果返回客户端。 举例来说,假设针对某客户,服务端存储有该客户2014年1月1日至 2014年2月1日的通话详单,用户通过客户端又上传了该客户2014年2月2 日至2014年4月1日的通话详单,数据库会在服务端将2014年3月1日至 2014年4月1日的通话详单写入到数据库之后,对该客户在2014年1月1 日至2014年2月1日,以及2014年2月2日至2014年4月1日的通话详单 进行统计,即数据库对该客户在2014年1月1日至2014年4月1日的通话 详单进行统计,并将统计结果存储在所述预设的中间表中。服务端在接收到 客户端发送的针对该客户的数据统计查询指令后,可以直接从所述中间表中 获取到查询结果,然后将该查询结果返回给客户端,大大提升了数据统计查 询的速度。 与本发明数据写入方法的实施例相对应,本申请还提供一种数据写入装 置。本申请所述的装置可以通过软件实现,也可以通过硬件或者软硬件结合 的方式实现。以软件实现为例,本申请数据写入装置作为一个逻辑意义上的 装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指 令读取到内存中运行形成的。 请参考图3和图4,本申请提供一种数据写入装置300,所述装置300 可以应用于服务端上,包括有:数据接收单元301、存储判断单元302、数据 保存单元303、成功返回单元304、数据写入单元305、查询接收单元306、 结果获取单元307以及结果返回单元308。 其中,所述数据接收单元301,用于接收客户端发送的数据; 所述存储判断单元302,用于根据所述数据的属性信息查询数据库日志, 以判断数据库中是否已存储所述数据; 所述数据保存单元303,用于在数据库中没有存储所述数据时,将所述 数据保存在缓存中; 所述成功返回单元304,用于向客户端返回上传成功的消息。 所述数据写入单元305,用于在向客户端返回上传成功的消息后,将保 存在缓存中的所述数据写入数据库。 进一步地,所述数据的属性信息是所述数据的时间段信息; 所述存储判断单元302,具体在所述数据库日志的时间段和所述数据的 时间段没有交集时,确认数据库中没有存储所述数据; 在所述数据库日志的时间段包含所述数据的时间段时,确认数据库中存 储有所述数据。 进一步地,所述数据保存单元303,进一步用于在所述数据库日志的时 间段与所述数据的时间段有交集,且交集不是所述数据的段时间段时,将所 述数据保存在缓存中。 所述查询接收单元306,用于接收客户端发送的数据统计查询指令; 所述结果获取单元307,用于根据所述数据统计查询指令,从数据库预 设的中间表中获取查询结果,所述查询结果是在将所述数据写入数据库后由 数据库统计生成; 所述结果返回单元308,用于将所述查询结果返回客户端。 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应 步骤的实现过程,在此不再赘述。 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明保护的范围之内。
《一种数据写入方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种数据写入方法和装置.pdf(12页珍藏版)》请在专利查询网上搜索。
本发明提供一种数据写入方法和装置。所述方法包括:接收客户端发送的数据;根据所述数据的属性信息查询数据库日志,以判断数据库中是否已存储所述数据;如果数据库中没有存储所述数据,则将所述数据保存在缓存中;向客户端返回上传成功的消息。通过本发明的技术方案,可以提升用户写入数据的速率,同时提升用户的操作体验。。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1