CN111125093B - 一种基于哈希存储的数据处理方法及装置 - Google Patents

一种基于哈希存储的数据处理方法及装置 Download PDF

Info

Publication number
CN111125093B
CN111125093B CN201911133415.5A CN201911133415A CN111125093B CN 111125093 B CN111125093 B CN 111125093B CN 201911133415 A CN201911133415 A CN 201911133415A CN 111125093 B CN111125093 B CN 111125093B
Authority
CN
China
Prior art keywords
data
page
hash
hash value
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911133415.5A
Other languages
English (en)
Other versions
CN111125093A (zh
Inventor
秦宇鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beike Technology Co Ltd
Original Assignee
Beike Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beike Technology Co Ltd filed Critical Beike Technology Co Ltd
Priority to CN201911133415.5A priority Critical patent/CN111125093B/zh
Publication of CN111125093A publication Critical patent/CN111125093A/zh
Application granted granted Critical
Publication of CN111125093B publication Critical patent/CN111125093B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种基于哈希存储的数据处理方法及装置,该方法包括:针对当前页签,若发生了提交表单数据的动作,则获取当前页面的哈希值;若哈希值在与当前页签对应的哈希表中尚未存储,则将哈希值、表单数据及服务端数据存储入哈希表;并在当前页面显示服务端数据和/或表单数据;哈希表在当前页签创建时建立,并存储入本地磁盘;若哈希值在哈希表中已经存储,则获取并在当前页面显示服务端数据和/或表单数据。本发明实施例提供的基于哈希存储的数据处理方法及装置,通过采用哈希技术将历史表单数据及服务端数据进行本地存储,实现了历史数据的快速获取,避免了重复向服务器获取数据,减轻了服务器压力,提高了查询效率。

Description

一种基于哈希存储的数据处理方法及装置
技术领域
本发明涉及计算机技术领域,具体涉及一种基于哈希存储的数据处理方法及装置。
背景技术
SaaS是Software-as-a-Service(软件即服务)的简称,它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务。
在SaaS页签,可以显示多个列表页,如各个列表页中包括门店和加盟商等列表页信息,在查阅各个列表页的信息时,每次查询都是从数据库中进行查询,在高并发环境中,单次数据请求可达1S,速度很慢。如果服务端数据库中的数据很庞大,如包括全国的信息,数据的查询往往会等待许久。
由此,既使得用户的体验不好,又浪费了服务器的资源。
发明内容
为解决现有技术中的问题,本发明实施例提供一种基于哈希存储的数据处理方法及装置。
第一方面,本发明实施例提供一种基于哈希存储的数据处理方法,包括:针对当前页签,若发生了提交表单数据的动作,则获取当前页面的哈希值;若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则建立所述哈希值和所述表单数据的第一映射;从服务器端获取与所述表单数据对应的服务端数据后,进一步建立所述哈希值与所述服务端数据的第二映射;根据所述第一映射和所述第二映射将所述哈希值、所述表单数据及所述服务端数据存储入所述哈希表;并在当前页面显示所述服务端数据和/或表单数据;所述哈希表在所述当前页签创建时建立,并存储入本地磁盘;若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述表单数据和/或所述服务端数据,并在当前页面显示所述服务端数据和/或表单数据。
进一步地,所述方法还包括:针对当前页签,若页面状态及页面的哈希值发生变化但未发生所述提交表单数据的动作,则获取当前页面的哈希值;若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则在所述哈希表中实时存储所述哈希值及与所述哈希值对应的所述页面状态的页面数据;并在当前页面显示所述页面数据;若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述页面状态的所述页面数据,并在当前页面显示所述页面数据。
进一步地,所述方法还包括:若判断获知发生了切换页签的动作,则通过查询磁盘中存储的目标页签的哈希表,在目标页签的页面中显示所述目标页签的哈希表中的最后一个哈希值所对应的数据。
进一步地,所述方法还包括:若判断获知发生了刷新操作,则通过查询磁盘中存储的当前页签的哈希表,在当前页签的页面中显示所述当前页签的哈希表中的最后一个哈希值所对应的数据。
进一步地,所述显示所述哈希表中的最后一个哈希值所对应的数据,具体包括:若所述最后一个哈希值所对应的数据包括所述服务端数据,则在所述页面中显示所述服务端数据和/或对应的所述表单数据;若所述最后一个哈希值所对应的数据不包括所述服务端数据,则在所述页面中显示与所述最后一个哈希值对应的所述页面数据。
进一步地,所述方法还包括:若判断获知发生了返回操作,则通过查询磁盘中存储的当前页签的哈希表,在所述当前页签的哈希表中查找所述返回操作发生时页面的哈希值,并获取生成时间早于所述哈希值,并且对应存储有所述服务端数据的上一哈希值,并在当前页签的页面中显示所述上一哈希值对应的所述服务端数据和/或表单数据。
进一步地,所述方法还包括:若判断获知在预设时间内发生了预设数量的所述返回操作,则直接显示所述当前页签的初始页面;其中,在所述当前页签建立后,在所述哈希表中首先存储所述当前页签的初始页面的页面数据及对应的哈希值;并在页面中显示所述初始页面。
第二方面,本发明实施例提供一种基于哈希存储的数据处理装置,包括:哈希值获取模块,用于:针对当前页签,若发生了提交表单数据的动作,则获取当前页面的哈希值;存储显示模块,用于:若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则建立所述哈希值和所述表单数据的第一映射;从服务器端获取与所述表单数据对应的服务端数据后,进一步建立所述哈希值与所述服务端数据的第二映射;根据所述第一映射和所述第二映射将所述哈希值、所述表单数据及所述服务端数据存储入所述哈希表;并在当前页面显示所述服务端数据和/或表单数据;所述哈希表在所述当前页签创建时建立,并存储入本地磁盘;查询显示模块,用于:若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述表单数据和/或所述服务端数据,并在当前页面显示所述服务端数据和/或表单数据。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
本发明实施例提供的基于哈希存储的数据处理方法及装置,通过采用哈希技术将历史表单数据及服务端数据进行本地存储,实现了历史数据的快速获取,避免了重复向服务器获取数据,减轻了服务器压力,提高了查询效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于哈希存储的数据处理方法流程图;
图2是本发明另一实施例提供的基于哈希存储的数据处理方法流程图;
图3是本发明实施例提供的基于哈希存储的数据处理装置的结构示意图;
图4是本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的基于哈希存储的数据处理方法流程图。如图1所示,所述方法包括:
步骤101、针对当前页签,若发生了提交表单数据的动作,则获取当前页面的哈希值;
本发明实施例提供的基于哈希存储的数据处理方法可以应用于Saas客户端及其他web客户端。以下以“客户端”来描述本发明实施例的实施主体。
表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分,分别是表单标签、表单域和表单按钮。其中,表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。表单数据是指通过表单让用户填写内容,然后提交到服务器上,以获取相应的服务端数据,因此用于获取服务端数据的这些数据被称之为表单数据。
比如,在客户端输入楼盘名称,点击查询后,生成查询相应楼盘的表单数据并发送给服务器,服务器再将相应的服务端数据(楼盘详细信息)发送给客户端。
针对当前页签,若判断获知发生了提交表单数据的动作,则获取当前页面的哈希值。不同的页面状态可以具有不同的哈希值。所述页面状态的变化比如可以通过编辑操作、点击操作等实现。
步骤102、若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则建立所述哈希值和所述表单数据的第一映射;从服务器端获取与所述表单数据对应的服务端数据后,进一步建立所述哈希值与所述服务端数据的第二映射;根据所述第一映射和所述第二映射将所述哈希值、所述表单数据及所述服务端数据存储入所述哈希表;并在当前页面显示所述服务端数据和/或表单数据;所述哈希表在所述当前页签创建时建立,并存储入本地磁盘。
对于新创建的页签,系统会记录所述页签的创建时间;所述页签创建后,建立与所述页签对应的哈希表。页签与哈希表一一对应,具体地,二者可以通过页签的创建时间作为标志进行对应。所述哈希表建立后进行本地磁盘存储,比如可以将所述哈希表存储到内存。为了节约内存资源,也可以将部分页签的哈希表进行本地硬盘存储,比如可以在长时间不进行操作的情况下,为避免内存资源的持续占用,可以将哈希表进行硬盘存储。
判断所述哈希值在与所述当前页签对应的哈希表中是否已存储,若所述哈希值在与所述当前页签对应的哈希表中尚未存储,则建立所述哈希值和所述表单数据的第一映射;所述第一映射包括所述哈希值及所述表单数据的信息。客户端提交所述表单数据后,会从服务器获取与所述表单数据对应的服务端数据;客户端获取与所述表单数据对应的服务端数据后,进一步建立所述哈希值与所述服务端数据的第二映射。所述第二映射包括所述哈希值及所述服务端数据的信息。基于同一哈希值,根据所述第一映射和所述第二映射将所述哈希值、所述表单数据及所述服务端数据存储入所述哈希表。
在当前页面显示所述服务端数据和/或表单数据,以响应所述提交表单数据的动作。
步骤103、若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述表单数据和/或所述服务端数据,并在当前页面显示所述服务端数据和/或表单数据。
若所述哈希值在与所述当前页签对应的哈希表中已经存储,根据包含所述哈希值获取所述哈希表中与所述哈希值对应的所述表单数据及所述服务端数据,并在当前页面显示所述服务端数据和/或表单数据,从而实现了在有历史数据的时候,直接从磁盘获取数据,避免了重复向服务器获取数据,节约了资源,提高了查询效率。
本发明实施例通过采用哈希技术将历史表单数据及服务端数据进行本地存储,实现了历史数据的快速获取,避免了重复向服务器获取数据,减轻了服务器压力,提高了查询效率。
进一步地,基于上述实施例,所述方法还包括:针对当前页签,若页面状态及页面的哈希值发生变化但未发生所述提交表单数据的动作,则获取当前页面的哈希值;若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则在所述哈希表中实时存储所述哈希值及与所述哈希值对应的所述页面状态的页面数据;并在当前页面显示所述页面数据;若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述页面状态的所述页面数据,并在当前页面显示所述页面数据。
针对当前页签,若页面状态及页面的哈希值发生变化但未发生所述提交表单数据的动作,则获取当前页面的哈希值。其中,可以通过哈希算法设置不同的页面状态具有不同的哈希值。可以理解的,所述提交表单数据的动作会带来页面状态的变化。
具体地,可以通过对当前DOM(文档结构模型)增添当前页面的Hash(散列函数),且通过哈希函数history.replaceState()改变页面的哈希值,从而保证不同的页面状态具有不同的哈希值。哈希值在哈希表中存储时按照哈希值的生成时间顺次存储。
由于页面的状态变化并不表示一定发生了提交动作,比如在编辑表单的过程中,页面的页面状态及页面的哈希值发生变化,但是并未发生提交表单数据的动作。这时,为了能够获取每个历史过程数据,则若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则在所述哈希表中实时存储所述哈希值及与所述哈希值对应的所述页面状态的页面数据,并在当前页面显示所述页面数据。
若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述页面状态的页面数据,并在当前页面显示所述页面数据。
在页面的显示中,比如输入一个信息并显示,虽然看起来是瞬间完成,但实际上经历了页面状态的变化和页面数据的显示过程。比如,客户端输入一个信息,在服务端确认后,才会显示出来。这里,将页面状态对应的页面数据预先存储,避免了多次向服务器的查询动作。
在上述实施例的基础上,本发明实施例通过存储未发生提交动作时的页面数据,实现了页面各个状态的本地化存储,有利于实现页面各个状态的快速再现。
进一步地,所述方法还包括:若判断获知发生了切换页签的动作,则通过查询磁盘中存储的目标页签的哈希表,在所述目标页签的页面中显示所述目标页签的哈希表中的最后一个哈希值所对应的数据。
现今在两个页签切换过程中,每次都是通过监听url(统一资源定位符)的哈希值变化时展示对应的列表数据;并且,在切换时需要重新向服务器获取数据。
切换页签是指在显示当前页签时,通过点击目标页签等方式,进行页签的切换。切换页签的动作是在已经创建好的页签之间进行,由于每个页签创建后都建立了与之对应的哈希表,因此,若判断获知发生了切换页签的动作,可以通过页签的创建时间查询磁盘中存储的目标页签的哈希表,通过查询所述哈希表,在目标页签的页面中显示所述目标页签的哈希表中的最后一个哈希值所对应的数据。
因此,本发明实施例在切换页签时,无需监听url的哈希值,并且可以通过查询本地存储的历史数据直接进行显示。
在上述实施例的基础上,本发明实施例通过若判断获知发生了切换页签的动作,则通过查询磁盘中存储的目标页签的哈希表,在目标页签的页面中显示目标页签的哈希表中的最后一个哈希值所对应的数据,实现了页签切换时页面历史数据的快速本地化获取,并且可以显示最新数据。
进一步地,基于上述实施例,所述方法还包括:若判断获知发生了刷新操作,则通过查询磁盘中存储的当前页签的哈希表,在当前页签的页面中显示所述当前页签的哈希表中的最后一个哈希值所对应的数据。
现有技术中,在刷新页面时,通常会显示页面的最初状态,这样曾经做过的编辑等操作都会消失。为了解决此问题,并且实现快速刷新,本发明实施例若判断获知发生了刷新操作,则通过查询磁盘中存储的当前页签的哈希表,在当前页签的页面中显示所述当前页签的哈希表中的最后一个哈希值所对应的数据。实现了页面刷新时页面历史数据的快速本地化获取,并且可以显示最新数据。
在上述实施例的基础上,本发明实施例通过若判断获知发生了刷新操作,则通过查询磁盘中存储的当前页签的哈希表,在当前页签的页面中显示当前页签的哈希表中的最后一个哈希值所对应的数据,实现了页面刷新时页面历史数据的快速本地化获取,并且可以显示最新数据。
进一步地,基于上述实施例,所述显示所述哈希表中的最后一个哈希值所对应的数据,具体包括:若所述最后一个哈希值所对应的数据包括所述服务端数据,则在所述页面中显示所述服务端数据和/或对应的所述表单数据;若所述最后一个哈希值所对应的数据不包括所述服务端数据,则在所述页面中显示与所述最后一个哈希值对应的所述页面数据。
所述最后一个哈希值对应的数据一种情况包括服务端数据,此时,所述哈希值是在发生表单数据提交动作时所存储的;另外一种情况是不包括服务端数据,此时,所述哈希值是在未发生表单数据提交动作时所存储的。由于两种情况下的哈希值及对应的历史数据均进行了存储,则根据哈希表中最后一条哈希值的情况均可以视情况显示相应的数据。
若判断获知发生了切换页签的动作,则通过查询磁盘中存储的目标页签的哈希表,在目标页签的页面中显示所述目标页签的哈希表中的最后一个哈希值所对应的数据。若所述最后一个哈希值所对应的数据包括所述服务端数据,则在所述页面中显示所述服务端数据和/或对应的所述表单数据;若所述最后一个哈希值所对应的数据不包括所述服务端数据,则在所述页面中显示与所述最后一个哈希值对应的所述页面数据。
若判断获知发生了刷新操作,则通过查询磁盘中存储的当前页签的哈希表,在当前页签的页面中显示所述当前页签的哈希表中的最后一个哈希值所对应的数据。若所述最后一个哈希值所对应的数据包括所述服务端数据,则在所述页面中显示所述服务端数据和/或对应的所述表单数据;若所述最后一个哈希值所对应的数据不包括所述服务端数据,则在所述页面中显示与所述最后一个哈希值对应的所述页面数据。
在上述实施例的基础上,本发明实施例通过根据哈希表中最后一个哈希值的情况显示与提交动作有关的数据或未发生提交动作时的数据,实现了数据显示的灵活性。
进一步地,基于上述实施例,所述方法还包括:若判断获知发生了返回操作,则通过查询磁盘中存储的当前页签的哈希表,在所述当前页签的哈希表中查找所述返回操作发生时页面的哈希值,并获取生成时间早于所述哈希值,并且对应存储有所述服务端数据的上一哈希值,并在当前页签的页面中显示所述上一哈希值对应的所述服务端数据和/或表单数据。
若客户端判断获知发生了在当前页签的返回操作,则通过查询磁盘中存储的当前页签的哈希表,在所述当前标签的哈希表中查找所述返回操作发生时页面的哈希值,由于返回操作可能是多次返回操作中的一个,因此所述返回操作发生时页面的哈希值并不一定是最后一个哈希值,但是第一个返回操作发生时所对应的页面的哈希值是当前页签的哈希表中的最后一个哈希值。如果不是第一个返回操作,则所述返回操作发生时页面的哈希值是上一返回操作后所显示的页面的哈希值。
获取到返回操作时页面的哈希值后,进一步获取生成时间早于所述哈希值,并且对应存储有所述服务端数据的上一哈希值,也即发生提交表单数据时的哈希值;并在当前页签的页面中显示所述上一哈希值对应的所述服务端数据和/或表单数据。
在上述实施例的基础上,本发明实施例通过在发生返回操作时,通过本地查询快速获取历史提交相关数据,实现了快速返回操作。
进一步地,基于上述实施例,所述方法还包括:若判断获知在预设时间内发生了预设数量的所述返回操作,则直接显示所述当前页签的初始页面;其中,在所述当前页签建立后,在所述哈希表中首先存储所述当前页签的初始页面的页面数据及对应的哈希值。
现有技术中,通常需要用户多次进行返回操作,才能退出,显示最初界面。为解决此问题,本发明实施例通过在若判断获知在预设时间内发生了预设数量的所述返回操作,比如100ms内点了2次返回,则直接显示所述当前页签的初始页面。
所述当前页签的初始页面是指页签建立时的页面。在所述当前页签建立后,在所述哈希表中首先存储所述当前页签的初始页面的页面数据及对应的哈希值。因此,通过查询与所述当前页签对应的哈希表,根据第一条哈希值所对应的页面数据,则可以显示所述当前页签的初始页面。
在上述实施例的基础上,本发明实施例通过在预设时间内发生了预设数量的返回操作,则直接显示当前页签的初始页面,进一步提高了返回的效率,节省了计算资源。
图2是本发明另一实施例提供的基于哈希存储的数据处理方法流程图。如图2所示,所述方法包括:
在页面状态发生变化并且哈希值改变(生成新的哈希值)时,通过将相关数据存储入本地磁盘中的哈希表进行缓存操作。其中,若发生了表单数据提交操作,则将所述哈希值、表单数据及对应的服务端数据对应存储;若未发生表单数据提交操作,则存储所述哈希值及对应的页面数据;并通过页面渲染显示相应数据(改页签)。
若哈希值未改变,则进一步判断是否发生了返回操作或切换页签的操作,若发生了返回操作或切换页签的操作,则通过获取哈希表中存储的历史数据进行显示。
图3是本发明实施例提供的基于哈希存储的数据处理装置的结构示意图。如图3所示,所述装置包括哈希值获取模块10、存储显示模块20及查询显示模块30,其中:哈希值获取模块10用于:针对当前页签,若发生了提交表单数据的动作,则获取当前页面的哈希值;存储显示模块20用于:若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则建立所述哈希值和所述表单数据的第一映射;从服务器端获取与所述表单数据对应的服务端数据后,进一步建立所述哈希值与所述服务端数据的第二映射;将所述第一映射和所述第二映射存储入所述哈希表;并在当前页面显示所述服务端数据和/或表单数据;所述哈希表在所述当前页签创建时建立,并存储入本地磁盘;查询显示模块30用于:若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述表单数据和/或所述服务端数据,并在当前页面显示所述服务端数据和/或表单数据。
所述基于哈希存储的数据处理装置可以为上述任一所述客户端。
本发明实施例通过采用哈希技术将历史表单数据及服务端数据进行本地存储,实现了历史数据的快速获取,避免了重复向服务器获取数据,减轻了服务器压力,提高了查询效率。
进一步地,基于上述实施例,所述哈希值获取模块10还用于:针对当前页签,若页面状态及页面的哈希值发生变化但未发生所述提交表单数据的动作,则获取当前页面的哈希值;所述存储显示模块20还用于:若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则在所述哈希表中实时存储所述哈希值及与所述哈希值对应的所述页面状态的页面数据;并在当前页面显示所述页面数据;所述查询显示模块30还用于:若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述页面状态的所述页面数据,并在当前页面显示所述页面数据。
在上述实施例的基础上,本发明实施例通过存储未发生提交动作时的页面数据,实现了页面各个状态的本地化存储,有利于实现页面各个状态的快速再现。
进一步地,基于上述实施例,所述装置还包括页签切换处理模块,所述页签切换处理模块用于:若判断获知发生了切换页签的动作,则通过查询磁盘中存储的目标页签的哈希表,在所述目标页签的页面中显示所述目标页签的哈希表中的最后一个哈希值所对应的数据。
在上述实施例的基础上,本发明实施例通过若判断获知发生了切换页签的动作,则通过查询磁盘中存储的目标页签的哈希表,在目标页签的页面中显示目标页签的哈希表中的最后一个哈希值所对应的数据,实现了页签切换时页面历史数据的快速本地化获取,并且可以显示最新数据。
进一步地,基于上述实施例,所述装置还包括页签刷新处理模块,所述页签刷新处理模块用于:若判断获知发生了刷新操作,则通过查询磁盘中存储的当前页签的哈希表,在当前页签的页面中显示所述当前页签的哈希表中的最后一个哈希值所对应的数据。
在上述实施例的基础上,本发明实施例通过若判断获知发生了刷新操作,则通过查询磁盘中存储的当前页签的哈希表,在当前页签的页面中显示当前页签的哈希表中的最后一个哈希值所对应的数据,实现了页面刷新时页面历史数据的快速本地化获取,并且可以显示最新数据。
进一步地,基于上述实施例,所述页签切换处理模块或所述页签刷新处理模块在用于显示所述哈希表中的最后一个哈希值所对应的数据时,具体用于:若所述最后一个哈希值所对应的数据包括所述服务端数据,则在所述页面中显示所述服务端数据和/或对应的所述表单数据;若所述最后一个哈希值所对应的数据不包括所述服务端数据,则在所述页面中显示与所述最后一个哈希值对应的所述页面数据。
在上述实施例的基础上,本发明实施例通过根据哈希表中最后一个哈希值的情况显示与提交动作有关的数据或未发生提交动作时的数据,实现了数据显示的灵活性。
进一步地,基于上述实施例,所述装置还包括返回操作处理模块,所述返回操作处理模块用于:若判断获知发生了返回操作,则通过查询磁盘中存储的当前页签的哈希表,在所述当前页签的哈希表中查找所述返回操作发生时页面的哈希值,并获取生成时间早于所述哈希值,并且对应存储有所述服务端数据的上一哈希值,并在当前页签的页面中显示所述上一哈希值对应的所述服务端数据和/或表单数据。
在上述实施例的基础上,本发明实施例通过在发生返回操作时,通过本地查询快速获取历史提交相关数据,实现了快速返回操作。
进一步地,基于上述实施例,所述返回操作处理模块还用于:若判断获知在预设时间内发生了预设数量的所述返回操作,则直接显示所述当前页签的初始页面;其中,所述存储显示模块20在所述当前页签建立后,在所述哈希表中首先存储所述当前页签的初始页面的页面数据及对应的哈希值;并在页面中显示所述初始页面。
在上述实施例的基础上,本发明实施例通过在预设时间内发生了预设数量的返回操作,则直接显示当前页签的初始页面,进一步提高了返回的效率,节省了计算资源。
本发明实施例提供的装置是用于上述方法的,具体功能可参照上述方法流程,此处不再赘述。
图4是本发明实施例提供的电子设备的实体结构示意图。如图4所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如下方法:针对当前页签,若发生了提交表单数据的动作,则获取当前页面的哈希值;若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则建立所述哈希值和所述表单数据的第一映射;从服务器端获取与所述表单数据对应的服务端数据后,进一步建立所述哈希值与所述服务端数据的第二映射;根据所述第一映射和所述第二映射将所述哈希值、所述表单数据及所述服务端数据存储入所述哈希表;并在当前页面显示所述服务端数据和/或表单数据;所述哈希表在所述当前页签创建时建立,并存储入本地磁盘;若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述表单数据和/或所述服务端数据,并在当前页面显示所述服务端数据和/或表单数据。。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:针对当前页签,若发生了提交表单数据的动作,则获取当前页面的哈希值;若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则建立所述哈希值和所述表单数据的第一映射;从服务器端获取与所述表单数据对应的服务端数据后,进一步建立所述哈希值与所述服务端数据的第二映射;根据所述第一映射和所述第二映射将所述哈希值、所述表单数据及所述服务端数据存储入所述哈希表;并在当前页面显示所述服务端数据和/或表单数据;所述哈希表在所述当前页签创建时建立,并存储入本地磁盘;若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述表单数据和/或所述服务端数据,并在当前页面显示所述服务端数据和/或表单数据。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于哈希存储的数据处理方法,其特征在于,包括:
针对当前页签,若发生了提交表单数据的动作,则获取当前页面的哈希值;其中,所述表单数据是通过填写内容获取相应的服务端数据的数据,不同的页面状态具有不同的哈希值;
若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则建立所述哈希值和所述表单数据的第一映射;从服务器端获取与所述表单数据对应的服务端数据后,进一步建立所述哈希值与所述服务端数据的第二映射;基于同一所述哈希值,根据所述第一映射和所述第二映射将所述哈希值、所述表单数据及所述服务端数据存储入所述哈希表;并在当前页面显示所述服务端数据和/或表单数据;所述哈希表在所述当前页签创建时建立,并存储入本地磁盘;
若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述表单数据和/或所述服务端数据,并在当前页面显示所述服务端数据和/或表单数据。
2.根据权利要求1所述的基于哈希存储的数据处理方法,其特征在于,所述方法还包括:
针对当前页签,若页面状态及页面的哈希值发生变化但未发生所述提交表单数据的动作,则获取当前页面的哈希值;
若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则在所述哈希表中实时存储所述哈希值及与所述哈希值对应的所述页面状态的页面数据;并在当前页面显示所述页面数据;
若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述页面状态的所述页面数据,并在当前页面显示所述页面数据。
3.根据权利要求2所述的基于哈希存储的数据处理方法,其特征在于,所述方法还包括:
若判断获知发生了切换页签的动作,则通过查询磁盘中存储的目标页签的哈希表,在所述目标页签的页面中显示所述哈希表中的最后一个哈希值所对应的数据。
4.根据权利要求2所述的基于哈希存储的数据处理方法,其特征在于,所述方法还包括:
若判断获知发生了刷新操作,则通过查询磁盘中存储的当前页签的哈希表,在当前页签的页面中显示所述哈希表中的最后一个哈希值所对应的数据。
5.根据权利要求3或4所述的基于哈希存储的数据处理方法,其特征在于,所述显示所述哈希表中的最后一个哈希值所对应的数据,具体包括:
若所述最后一个哈希值所对应的数据包括所述服务端数据,则在所述页面中显示所述服务端数据和/或对应的所述表单数据;
若所述最后一个哈希值所对应的数据不包括所述服务端数据,则在所述页面中显示与所述最后一个哈希值对应的所述页面数据。
6.根据权利要求2所述的基于哈希存储的数据处理方法,其特征在于,所述方法还包括:
若判断获知发生了返回操作,则通过查询磁盘中存储的当前页签的哈希表,在所述当前页签的哈希表中查找所述返回操作发生时页面的哈希值,并获取生成时间早于所述哈希值,并且对应存储有所述服务端数据的上一哈希值,并在当前页签的页面中显示所述上一哈希值对应的所述服务端数据和/或表单数据。
7.根据权利要求5所述的基于哈希存储的数据处理方法,其特征在于,所述方法还包括:
若判断获知在预设时间内发生了预设数量的所述返回操作,则直接显示所述当前页签的初始页面;
其中,在所述当前页签建立后,在所述哈希表中首先存储所述当前页签的初始页面的页面数据及对应的哈希值;并在页面中显示所述初始页面。
8.一种基于哈希存储的数据处理装置,其特征在于,包括:
哈希值获取模块,用于:针对当前页签,若发生了提交表单数据的动作,则获取当前页面的哈希值;其中,所述表单数据是通过填写内容获取相应的服务端数据的数据,不同的页面状态具有不同的哈希值;
存储显示模块,用于:若判断获知所述哈希值在与所述当前页签对应的哈希表中尚未存储,则建立所述哈希值和所述表单数据的第一映射;从服务器端获取与所述表单数据对应的服务端数据后,进一步建立所述哈希值与所述服务端数据的第二映射;基于同一所述哈希值,根据所述第一映射和所述第二映射将所述哈希值、所述表单数据及所述服务端数据存储入所述哈希表;并在当前页面显示所述服务端数据和/或表单数据;所述哈希表在所述当前页签创建时建立,并存储入本地磁盘;
查询显示模块,用于:若判断获知所述哈希值在与所述当前页签对应的哈希表中已经存储,则获取所述哈希表中与所述哈希值对应的所述表单数据和/或所述服务端数据,并在当前页面显示所述服务端数据和/或表单数据。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述基于哈希存储的数据处理方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述基于哈希存储的数据处理方法的步骤。
CN201911133415.5A 2019-11-19 2019-11-19 一种基于哈希存储的数据处理方法及装置 Active CN111125093B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911133415.5A CN111125093B (zh) 2019-11-19 2019-11-19 一种基于哈希存储的数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911133415.5A CN111125093B (zh) 2019-11-19 2019-11-19 一种基于哈希存储的数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN111125093A CN111125093A (zh) 2020-05-08
CN111125093B true CN111125093B (zh) 2023-09-15

Family

ID=70495833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911133415.5A Active CN111125093B (zh) 2019-11-19 2019-11-19 一种基于哈希存储的数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN111125093B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112614187B (zh) * 2020-12-31 2024-03-26 深圳市优必选科技股份有限公司 回环检测方法、装置、终端设备和可读存储介质
CN113672524A (zh) * 2021-08-20 2021-11-19 上海哔哩哔哩科技有限公司 基于多级缓存的数据处理方法及系统
CN115052044B (zh) * 2022-08-12 2022-11-18 南瑞轨道交通技术有限公司 一种基于双网双链路的海量数据传输方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741986A (zh) * 2009-12-31 2010-06-16 优视科技有限公司 一种用于移动通讯设备终端的页面缓存方法
CN101826107A (zh) * 2010-04-02 2010-09-08 华为技术有限公司 哈希数据处理方法和装置
CN103034518A (zh) * 2012-12-14 2013-04-10 北京奇虎科技有限公司 加载浏览器控制工具的方法及浏览器
CN103984686A (zh) * 2013-02-07 2014-08-13 阿里巴巴集团控股有限公司 页面切换方法及装置
CN104123235A (zh) * 2013-04-26 2014-10-29 国际商业机器公司 访问存储在服务器上高速缓存中的数据记录的设备和方法
CN108345659A (zh) * 2018-01-31 2018-07-31 平安科技(深圳)有限公司 一种数据处理方法、装置、设备及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741986A (zh) * 2009-12-31 2010-06-16 优视科技有限公司 一种用于移动通讯设备终端的页面缓存方法
CN101826107A (zh) * 2010-04-02 2010-09-08 华为技术有限公司 哈希数据处理方法和装置
CN103034518A (zh) * 2012-12-14 2013-04-10 北京奇虎科技有限公司 加载浏览器控制工具的方法及浏览器
CN103984686A (zh) * 2013-02-07 2014-08-13 阿里巴巴集团控股有限公司 页面切换方法及装置
CN104123235A (zh) * 2013-04-26 2014-10-29 国际商业机器公司 访问存储在服务器上高速缓存中的数据记录的设备和方法
CN108345659A (zh) * 2018-01-31 2018-07-31 平安科技(深圳)有限公司 一种数据处理方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN111125093A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN111125093B (zh) 一种基于哈希存储的数据处理方法及装置
US10356156B2 (en) Method and device for loading webpage
US8732571B2 (en) Methods and systems for generating and displaying a preview image of a content area
CN112131504B (zh) 一种网页编辑、展示方法、装置、设备以及存储介质
US7797432B2 (en) Sharing state information between dynamic web page generators
CN112073405A (zh) 网页数据加载方法、装置、计算机设备及存储介质
CN107357890B (zh) 一种网页文件处理方法、装置及系统和存储设备
CN107391277B (zh) 信息处理方法和装置
CN109241009B (zh) 防止文件重复上传的方法及其控制方法及装置
US20060168079A1 (en) System and method for automatically connecting a client computer to a server
CN110765208B (zh) 一种数据同步方法、装置、电子设备及存储介质
WO2017019831A1 (en) Server-side caching for web user interfaces
CN108132991A (zh) 一种h5页面加载方法及系统
CN107918617B (zh) 数据查询方法和装置
CN105556918A (zh) 一种资源下载方法、电子设备及装置
CN108334322B (zh) 一种mvc框架的数据请求方法及系统
CN101374158B (zh) 根据结果完成比例将缓存内容或处理内容递送给客户端
US10771578B2 (en) Webpage loading method and apparatus
CN109783499B (zh) 一种数据缓存方法、装置和服务器
CN110674435A (zh) 页面访问方法、服务器、终端、电子设备及可读存储介质
CN111767495A (zh) 一种合成网页的方法及系统
US10108588B2 (en) Method and system for communicating between client pages
CN112799745B (zh) 一种页面显示控制方法及装置
CN110768855B (zh) 链路化性能测试的方法和装置
JP2017535847A (ja) コンテンツ・キャッシングおよび伝送の方法およびシステム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant