CN110569456A - Web端数据离线缓存方法及装置、电子设备 - Google Patents
Web端数据离线缓存方法及装置、电子设备 Download PDFInfo
- Publication number
- CN110569456A CN110569456A CN201910683988.9A CN201910683988A CN110569456A CN 110569456 A CN110569456 A CN 110569456A CN 201910683988 A CN201910683988 A CN 201910683988A CN 110569456 A CN110569456 A CN 110569456A
- Authority
- CN
- China
- Prior art keywords
- data
- document
- offline
- node
- hierarchical relationship
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种WEB端数据离线缓存方法及装置、电子设备。本发明所述的WEB端数据离线缓存方法包括:获取WEB客户端发送的离线数据缓存请求;根据所述离线数据缓存请求调用数据服务接口,从数据库中获取所述离线数据缓存请求所对应的离线数据;将离线数据中每个节点的数据转换为单个数据文档;创建层级关系文档,提取各节点的层级关系,将各节点的层级关系存入层级关系文档;将所述数据文档和所述层级关系文档作为文档集合压缩后发送至WEB客户端。本发明所述的WEB端数据离线缓存方法减小了数据所占用的带宽,加快了数据传输的速度;同时,文档型数据格式还减少了WEB客户端离线读取数据的耗时,提高了离线页面的响应速度,提高了用户体验。
Description
技术领域
本发明涉及信息处理技术领域,特别是涉及一种WEB端数据离线缓存方法及装置、电子设备。
背景技术
对于WEB端服务,离线运行通常会涉及到WEB离线化技术。市面上常见的数据可视化服务的数据通常是平面的,无相互关系同时数据量较小,可以结合离线化技术缓存必要资源和接口数据资源达到离线运行的目的。但对于链式数据或其他立体结构的数据来说,数据之间存在层级关系,每个层级可能存在多个数据子节点,每个数据节点往往对应多个数据维度,同时服务可以随时在各个数据节点切换显示数据。这种情况导致上述的离线化方案难以执行。如果要离线缓存立体式结构数据,需要缓存每个数据节点,并对应每个节点的维度数据,而节点和维度数据往往数据量非常庞大,如果直接通过离线化技术直接缓存维度数据,可能会发生网络资源的抢占导致用户使用体验降低,且立体式结构数据不利于客户端的查询。
发明内容
基于此,本发明的目的在于,提供一种WEB端链式数据离线缓存方法及装置、电子设备。
根据本公开实施例的第一方面,提供了一种WEB端数据离线缓存方法,所述方法包括步骤:
获取WEB客户端发送的离线数据缓存请求;
根据所述离线数据缓存请求调用数据服务接口,从数据库中获取所述离线数据缓存请求所对应的离线数据;
将离线数据中每个节点的数据转换为单个数据文档;
创建层级关系文档,提取各节点的层级关系,将各节点的层级关系存入层级关系文档;
将所述数据文档和所述层级关系文档作为文档集合压缩后发送至WEB客户端。
本发明所述的WEB端数据离线缓存方法,在WEB服务器端将存储于关系数据库中的结构化数据调取并转换为文档型数据格式,并提取各节点的层级关系存入层级关系文档,通过在WEB服务端自动调取并转换的方式,实现了在用户无感知的情况下大规模关系型结构化数据的缓存生成,并将文档集合压缩后发送至WEB客户端,减小了数据所占用的带宽,加快了数据传输的速度;同时,文档型数据格式还减少了WEB客户端离线读取数据的耗时,提高了离线页面的响应速度,提高了用户体验。
进一步地,无头浏览器根据所述离线数据缓存请求调用数据服务接口,从数据库中获取所述离线数据缓存请求所对应的离线数据。
进一步地,从数据库中获取所述离线数据缓存请求所对应的离线数据,包括:
根据各节点的层级关系,按顺序依次从数据库中获取所述离线数据缓存请求所对应的离线数据。
进一步地,还包括:
提取具有相同公共数据的多个节点的节点信息和该节点公共数据,并将所述节点信息和该节点公共数据存入所述层级关系文档。
根据本公开实施例的第二方面,提供了一种WEB端数据离线缓存方法,所述方法包括步骤:
从服务器端获取压缩后的文档集合,所述文档集合中包括层级关系文档和多个数据文档,其中,所述层级关系文档中存储有离线数据中各节点之间的层级关系,所述多个数据文档中每个数据文档存储有离线数据中不同节点的数据;
解压所述文档集合,获取数据文档和层级关系文档;
创建IndexDB数据库并基于每个数据的节点创建节点标识索引;
依次将每个数据文档和所述层级关系文档添加至创建的IndexDB数据库中。
进一步地,所述离线数据缓存请求中包括所请求离线数据的生成日期;
依次将每个数据文档和所述层级关系文档添加至创建的IndexDB数据库中,还包括:
从所述层级关系文档存储的各节点的层级关系中获取最高层级的节点标识,并将所述节点标识存储至Localstorage,并根据所述节点标识和离线数据的生成日期在Localstorage中创建对应至所述IndexDB数据库的数据索引。
进一步地,所述层级关系表文档中存储有离线数据中具有相同公共数据的多个节点的节点信息和该节点公共数据。
根据本公开实施例的第三方面,还提供了一种WEB端数据离线缓存装置,所述装置包括:
请求获取模块,用于获取WEB客户端发送的离线数据缓存请求;
数据调用模块,用于根据所述离线数据缓存请求调用数据服务接口,从数据库中获取所述离线数据缓存请求所对应的离线数据;
数据转换模块,用于将离线数据中每个节点的数据转换为单个数据文档;
层级关系文档创建模块,用于创建层级关系文档,提取各节点的层级关系,将各节点的层级关系存入层级关系文档;
发送模块,用于将所述文档集合压缩后发送至WEB客户端,以使所述WEB客户端存储所述文档集合。
根据本公开实施例的第四方面,还提供了一种WEB端数据离线缓存装置,所述装置包括:
数据获取模块,用于从服务器端获取压缩后的文档集合,所述文档集合中包括层级关系文档和多个数据文档,其中,所述层级关系文档中存储有离线数据中各节点之间的层级关系,所述多个数据文档中每个数据文档存储有离线数据中不同节点的数据;
解压模块,用于解压所述文档集合,获取数据文档和层级关系文档;
创建模块,用于创建IndexDB数据库并基于每个数据的节点创建节点标识索引;
添加模块,用于依次将每个数据文档和所述层级关系文档添加至创建的IndexDB数据库中。
根据本公开实施例的第五方面,还提供了一种电子设备,所述电子设备包括:
存储器以及处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例第一方面和/或本公开实施例第二方面所述的WEB端数据离线缓存方法。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为在一个示例性实施例中示出的本发明WEB端数据离线缓存方法应用场景示意图;
图2A为在一个示例性实施例中示出的链式数据结构示意图;
图2B为在一个示例性实施例中示出的链式数据结构示意图;
图3为在一个示例性实施例中示出的本发明WEB端数据离线缓存方法流程图;
图4为在一个示例性实施例中示出的本发明WEB端数据离线缓存方法WEB服务器从关系型数据库中获取数据的示意图;
图5为在一个示例性实施例中示出的本发明WEB端数据离线缓存方法WEB服务器转换数据文档示意图;
图6为在一个示例性实施例中示出的本发明WEB端数据离线缓存方法流程图;
图7为在一个示例性实施例中示出的本发明WEB端数据离线缓存装置的结构框图;
图8为在一个示例性实施例中示出的本发明WEB端数据离线缓存装置的结构框图;
图9为在一个示例性实施例中示出的本发明电子设备的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1为本发明WEB端数据离线缓存方法在一示例性实施例中的应用场景示意图,包括客户端设备100和服务器200。
所述客户端设备100可以是任何具有上网功能的智能终端,例如,可以具体为计算机、手机、平板电脑、交互式智能平板、PDA(Personal Digital Assistant,个人数字助理)、电子书阅读器、多媒体播放器等,本实施例中,以第一交互录播设备100为计算机为例进行说明。服务器200可以是计算机设备,例如计算机或专用服务器,所述服务器200可以是不同的计算机设备组成,还可以由一台计算机设备组成。
所述客户端设备100上安装有WEB客户端,所服务器200上安装有WEB服务器,所述WEB客户端的软件实现可以是只以浏览器网页的形式呈现,还可以是通过客户端框架的形式实现。
在一些具体的应用场景中,例如在学校设备管理的应用场景中,服务器200上存储有设备管理数据例如使用数据、故障数据等。由于学校的设备数量种类多,且由不同的班级或教室分别使用管理,因此,上述设备的管理数据通常以链式存储的方式存储与关系数据库中。如图2A和图2B所示,设备的管理数据之间存在层级关系,图2A中的A、B、C、D代表不同的数据层级,每个层级可能存在多个数据节点(例如A1节点对应了4个B层级子节点),如图2B所示,每个数据节点往往对应多个数据维度,在关系型数据库中,每一个节点的数据可以是对应数据表中的一行数据,其中,节点的标识对应于用于索引的一行数据的主键。关系型的数据存储在服务器200可以通过SQL查询语句较为方便的查询出目标数据,但在WEB客户端缺少关系型数据存储和查询支持,因此在WEB客户端难以实现上述数据的离线化查询。
如图3所示,基于上述技术问题,在一个示例性的实施例中,本发明所述的WEB端数据离线缓存方法在服务器端由web服务器执行包括如下步骤:
步骤S301:获取WEB客户端发送的离线数据缓存请求。
步骤S302:根据所述离线数据缓存请求调用数据服务接口,从数据库中获取所述离线数据缓存请求所对应的离线数据。
步骤S303:将离线数据中每个节点的数据转换为单个数据文档。
步骤S304:创建层级关系文档,提取各节点的层级关系,将各节点的层级关系存入层级关系文档。
步骤S305:将所述数据文档和所述层级关系文档作为文档集合压缩后发送至WEB客户端。
在一些例子中,所述离线数据缓存请求可以是HTTP请求或WEBSOCKET请求,WEB客户端通过离线功能,向WEB服务器发送HTTP请求以使服务端调取所请求的离线数据。在一些例子中,如果所请求调取的离线数据为设备使用数据、设备故障数据等包括日期属性的数据,则所述离线数据缓存请求包括所请求离线数据的日期,即用户选择的查询日期,所述日期可以是每条数据的创建日期,或最后更新日期等。用户选择的查询日期作为参数传递到WEB服务器。
图4为WEB服务器从关系型数据库中获取数据的示意图,如图4所示,WEB服务器在接收到WEB客户端发起的离线数据缓存请求后,通过由直接读取数据库的数据服务从数据库中调取离线数据。数据服务提供了网络接口,WEB服务器通过调用数据服务的网络接口调取离线数据缓存请求所对应的离线数据。在一些例子中,数据服务从每个网络接口中可以获取存储在一张数据表中的某一类数据组装后的结果,单个数据服务接口可以是获取存储在一个数据表中的一类数据,例如获取近一周每天的设备总数数据时,数据库会将7天的数据组装在一起由数据服务返回至WEB服务器。
图5为将离线数据中的每条数据转换为单个数据文档的示意图,如图5所示,WEB服务器在数据服务调取完离线数据后,将每个节点的数据转换为单个数据文档,其中,每个节点的数据为一条数据,每个节点的数据对应于关系型数据表中的一行数据。其中,每个节点的数据包括了节点ID、数据类型、数据值和创建时间等,所述节点ID用于作为索引的节点标识。
WEB服务器将所有节点的数据都转换为单个数据文档的同时,还创建层级关系文档,并将各节点的层级关系存入该层级关系文档中,所有的单个数据文档和层级关系文档形成文档集合,WEB服务器将文档集合压缩后发送至WEB客户端,以使WEB客户端可以存储该文档集合。WEB客户端存储该文档集合后,可以在离线的条件下查询该文档集合中的离线数据。在一些例子中,为减少压缩后的文档集合的体积,WEB服务器压缩后的文档集合为zip格式。
本发明实施例在WEB服务器端将存储于关系数据库中的结构化数据调取并转换为文档型数据格式,并提取各节点的层级关系存入层级关系文档,通过在WEB服务端自动调取并转换的方式,实现了在用户无感知的情况下大规模关系型结构化数据的缓存生成,并将文档集合压缩后发送至WEB客户端,减小了数据所占用的带宽,加快了数据传输的速度;同时,文档型数据格式还减少了WEB客户端离线读取数据的耗时,提高了离线页面的响应速度,提高了用户体验。
在一个示例性的实施例中,WEB服务器为无头浏览器。无头浏览器在服务器中获取WEB客户端发送的离线数据缓存请求后,可以直接根据该离线数据缓存请求调用数据服务接口,而不需要通过其他接口去转换该离线数据缓存请求为适应于其他应用的离线数据缓存请求。其中,无头浏览器通过其网页应用和函数模块从数据服务中获取碎片化的离线数据,将碎片化的离线数据中每条数据转换为单个数据文档,形成文档集合。
在一个示例性的实施例中,步骤S302中WEB服务器从数据库中获取所述离线数据缓存请求所对应的离线数据时,是根据各节点的层级关系,按顺序依次从数据库中获取所述离线数据缓存请求所对应的离线数据。
WEB服务器首先提取顶级层级节点的数据(例如图2A中的A1),提取完顶级层级节点(A1)的数据后,获取该顶级层级节点的下属层级节点的节点标识,即节点ID,(例如当前层级为A1,则得到B1、B2、B3、B4节点的ID),并依次提取各下属层级节点ID对应的数据(即B1、B2、B3、B4节点的数据);提取完下属层级节点ID对应的数据后,继续计算该下属层级节点是否存在子节点,如果存在,则依次继续提取子节点ID对应的数据,直至提取完所有数据。
数据服务接口从WEB服务器获取的数据中往往会包括节点的公共信息,例如节点名称、节点类型等,而同类型的多个节点往往具有相同的节点公共信息,因此,存在一定量的数据冗余。为减少该部分的数据冗余,以降低文档集合的传输体积,在一个示例性的实施例中,还提取具有相同公共数据的多个节点的节点数据和该节点公共数据,并将所述节点数据和该节点公共数据存入所述层级关系文档。所述节点数据可以是节点的标识,例如节点的ID,将所述节点公共数据存入层级关系文档,形成一份公共信息对应多个节点标识,避免了在每个节点的数据文档中都存储一份该公共数据,节省了存储资源。在其他例子中,所述节点公共数据还可以是单独形成一个节点公共数据文档,而不是存入层级关系文档。
WEB客户端接收到所述文档集合后,可以是通过Localstorage或IndexDB存储所述文档集合。其中,localStorage使用简单字符串键值对在本地存储数据,方便灵活,但是难以存储大量结构化数据,在存储大量结构化数据时,对localStorage的查询会变得缓慢。
而IndexDB的存储容量较大,能够在客户端存储大量的结构化数据,并且使用索引高效检索的API,可以实现WEB客户端的高效索引,文档型数据格式结合IndexDB的存储方式,可以提高电子设备的使用性能。
由于localStorage不适合存储大量结构化数据,而文档集合的占用的数据空间较大,将文档集合存储至IndexedDB中,
如图6所示,对应于上述WEB服务器执行的操作步骤,在一个示例性的实施例中,本发明所述的WEB端数据离线缓存方法在服务器端由WEB客户端执行包括如下步骤:
步骤S601:从服务器端获取压缩后的文档集合,所述文档集合中包括层级关系文档和多个数据文档,其中,所述层级关系文档中存储有离线数据中各节点之间的层级关系,所述多个数据文档中每个数据文档存储有离线数据中不同节点的数据。
步骤S602:解压所述文档集合,获取数据文档和层级关系文档。
步骤S603:创建IndexDB数据库并基于每个数据的节点创建节点标识索引。
步骤S604:依次将每个数据文档和所述层级关系文档添加至创建的IndexDB数据库中。
其中,通过IndexDB的createObjectStore创建IndexDB数据库,使用createIndex创建节点ID索引,然后将每个数据文档依次添加到创建的数据库中,以及将包括节点公共信息和层级关系信息的层级关系文档和也添加到IndexDB数据库中。
用户在WEB客户端离线查询时可以通过节点标识即节点ID同时索引到数据文档和层级关系文档,WEB客户端通过再次组合数据即可展示给用户。
在一个示例性的实施例中,所述离线数据缓存请求中还包括所请求离线数据的生成日期,为了加快离线数据的读取速度,WEB客户端从所述节点属性文档存储的各节点的层级关系中获取最高层级的节点标识,并将所述节点标识存储至Localstorage,并根据所述节点标识和离线数据的生成日期在Localstorage中创建对应至所述IndexDB数据库的数据索引。其中,离线数据的生成日期即用户选择的查询日期存储于所述层级关系文档中。
用户在离线状态下打开WEB客户端时,WEB客户端网页检测到用户当前处于离线状态,就从localstorage中读取顶级节点的ID和离线数据的生成日期,根据这两项组成索引并从IndexDB中查询到节点公共数据和节点信息,将节点信息和节点公共数据按照设定好的方式组合为网页实际需要的数据格式;将组合好的数据通过函数接口导入数据层(管理页面数据的部分),数据层在更新完成后通知视图层(管理用户实际看到的部分)按照提供的数据进行渲染,此时用户就能从WEB客户端的数据展示页面看到结构化的离线缓存数据。
与前述WEB端数据离线缓存方法相对应,本发明还提供一种WEB端数据离线缓存装置,所述装置可以是安装于任何智能终端,例如,可以具体为计算机、服务器、手机、平板电脑、交互式智能平板、PDA(Personal Digital Assistant,个人数字助理)、电子书阅读器、多媒体播放器等。本发明实施例的WEB端数据离线缓存装置,在WEB服务器端将存储于关系数据库中的结构化数据调取并转换为文档型数据格式,并提取各节点的层级关系存入层级关系文档,通过在WEB服务端自动调取并转换的方式,实现了在用户无感知的情况下大规模关系型结构化数据的缓存生成,并将文档集合压缩后发送至WEB客户端,减小了数据所占用的带宽,加快了数据传输的速度;同时,文档型数据格式还减少了WEB客户端离线读取数据的耗时,提高了离线页面的响应速度,提高了用户体验。
在一个示例性的实施例中,如图7所示,所述WEB端数据离线缓存装置700包括:
请求获取模块701,用于获取WEB客户端发送的离线数据缓存请求。
数据调用模块702,用于根据所述离线数据缓存请求调用数据服务接口,从数据库中获取所述离线数据缓存请求所对应的离线数据。
数据转换模块703,用于将离线数据中每个节点的数据转换为单个数据文档。
层级关系文档创建模块704,用于建层级关系文档,提取各节点的层级关系,将各节点的层级关系存入层级关系文档。
发送模块705,用于将所述数据文档和所述层级关系文档作为文档集合压缩后发送至WEB客户端。
在一个示例性的实施例中,无头浏览器根据所述离线数据缓存请求调用数据服务接口,从数据库中获取所述离线数据缓存请求所对应的离线数据。
在一个示例性的实施例中,所述数据调用模块702包括:
获取单元7021,用于根据各节点的层级关系,按顺序依次从数据库中获取所述离线数据缓存请求所对应的离线数据。
在一个示例性的实施例中,所述WEB端数据离线缓存装置700还包括:
公共数据提取模块706,用于提取具有相同公共数据的多个节点的节点信息和该节点公共数据,并将所述节点信息和该节点公共数据存入所述层级关系文档。
在一个示例性的实施例中,如图8所示,所述WEB端数据离线缓存装置800包括:
文档集合获取模块801:用于从服务器端获取压缩后的文档集合,所述文档集合中包括层级关系文档和多个数据文档,其中,所述层级关系文档中存储有离线数据中各节点之间的层级关系,所述多个数据文档中每个数据文档存储有离线数据中不同节点的数据。
解压模块802:用于解压所述文档集合,获取数据文档和层级关系文档。
创建模块803:用于创建IndexDB数据库并基于每个数据的节点创建节点标识索引。
添加模块804:用于依次将每个数据文档和所述层级关系文档添加至创建的IndexDB数据库中。
在一个示例性的实施例中,所述离线数据缓存请求中包括所请求离线数据的生成日期,添加模块804还包括:
添加单元8041:用于从所述层级关系文档存储的各节点的层级关系中获取最高层级的节点标识,并将所述节点标识存储至Localstorage,并根据所述节点标识和离线数据的生成日期在Localstorage中创建对应至所述IndexDB数据库的数据索引。
在一个示例性的实施例中,所述层级关系表文档中存储有离线数据中具有相同公共数据的多个节点的节点信息和该节点公共数据。
与前述WEB端数据离线缓存方法相对应,本发明还提供一种WEB端数据离线缓存装置应用的电子设备,所述电子设备可以是任何智能终端,例如,可以具体为计算机、服务器、手机、平板电脑、交互式智能平板、PDA(Personal Digital Assistant,个人数字助理)、电子书阅读器、多媒体播放器等。所述电子设备在WEB服务器端将存储于关系数据库中的结构化数据调取并转换为文档型数据格式,通过在WEB服务端自动调取并转换的方式,实现了在用户无感知的情况下大规模关系型结构化数据的缓存生成,并将文档集合压缩后发送至WEB客户端,减小了数据所占用的带宽,加快了数据传输的速度;同时,文档型数据格式还减少了WEB客户端离线读取数据的耗时,提高了离线页面的响应速度,提高了用户体验。
所述电子设备包括:
处理器;
存储器,用于存储可由所述处理器执行的计算机程序;
其中,所述处理器执行所述程序时实现上述任一实施例所记载的WEB端数据离线缓存方法。
如图9所示,图9是本发明根据一示例性实施例示出的一种电子设备的结构框图。
参照图9,电子设备1200包括处理组件1222,其进一步包括一个或多个处理器,以及由存储器1232所代表的存储器资源,用于存储可由处理部件1222的执行的指令,例如应用程序。存储器1232中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1222被配置为执行指令,以执行上述任一实施例所记载的WEB端数据离线缓存方法。
电子设备1200还可以包括一个电源组件1226被配置为执行装置1200的电源管理,一个有线或无线网络接口1250被配置为将装置1200连接到网络,和一个输入输出(I/O)接口1258。装置1200可以操作基于存储在存储器1232的操作系统,例如Android、IOS、WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
上述设备中各个组件的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。上述提供的电子设备可用于执行上述任意实施例提供的WEB端数据离线缓存方法,具备相应的功能和有益效果。上述设备中各个组件的功能和作用的实现过程具体详见上述WEB端数据离线缓存方法中对应步骤的实现过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (10)
1.一种WEB端数据离线缓存方法,其特征在于,所述方法包括步骤:
获取WEB客户端发送的离线数据缓存请求;
根据所述离线数据缓存请求调用数据服务接口,从数据库中获取所述离线数据缓存请求所对应的离线数据;
将离线数据中每个节点的数据转换为单个数据文档;
创建层级关系文档,提取各节点的层级关系,将各节点的层级关系存入层级关系文档;
将所述数据文档和所述层级关系文档作为文档集合压缩后发送至WEB客户端。
2.根据权利要求1所述的WEB端数据离线缓存方法,其特征在于:
无头浏览器根据所述离线数据缓存请求调用数据服务接口,从数据库中获取所述离线数据缓存请求所对应的离线数据。
3.根据权利要求1所述的WEB端数据离线缓存方法,其特征在于,从数据库中获取所述离线数据缓存请求所对应的离线数据,包括:
根据各节点的层级关系,按顺序依次从数据库中获取所述离线数据缓存请求所对应的离线数据。
4.根据权利要求1述的WEB端数据离线缓存方法,其特征在于,还包括:
提取具有相同公共数据的多个节点的节点信息和该节点公共数据,并将所述节点信息和该节点公共数据存入所述层级关系文档。
5.一种的WEB端数据离线缓存方法,其特征在于,所述方法包括步骤:
从服务器端获取压缩后的文档集合,所述文档集合中包括层级关系文档和多个数据文档,其中,所述层级关系文档中存储有离线数据中各节点之间的层级关系,所述多个数据文档中每个数据文档存储有离线数据中不同节点的数据;
解压所述文档集合,获取数据文档和层级关系文档;
创建IndexDB数据库并基于每个数据的节点创建节点标识索引;
依次将每个数据文档和所述层级关系文档添加至创建的IndexDB数据库中。
6.根据权利要求5所述的WEB端离线数据缓存方法,其特征在于:
所述离线数据缓存请求中包括所请求离线数据的生成日期;
依次将每个数据文档和所述层级关系文档添加至创建的IndexDB数据库中,还包括:
从所述层级关系文档存储的各节点的层级关系中获取最高层级的节点标识,并将所述节点标识存储至Localstorage,并根据所述节点标识和离线数据的生成日期在Localstorage中创建对应至所述IndexDB数据库的数据索引。
7.根据权利要求5所述的WEB端离线数据缓存方法,其特征在于:
所述层级关系表文档中存储有离线数据中具有相同公共数据的多个节点的节点信息和该节点公共数据。
8.一种WEB端数据离线缓存装置,其特征在于,所述装置包括:
请求获取模块,用于获取WEB客户端发送的离线数据缓存请求;
数据调用模块,用于根据所述离线数据缓存请求调用数据服务接口,从数据库中获取所述离线数据缓存请求所对应的离线数据;
数据转换模块,用于将离线数据中每个节点的数据转换为单个数据文档;
层级关系文档创建模块,用于创建层级关系文档,提取各节点的层级关系,将各节点的层级关系存入层级关系文档;
发送模块,用于将所述文档集合压缩后发送至WEB客户端,以使所述WEB客户端存储所述文档集合。
9.一种WEB端数据离线缓存装置,其特征在于,所述装置包括:
数据获取模块,用于从服务器端获取压缩后的文档集合,所述文档集合中包括层级关系文档和多个数据文档,其中,所述层级关系文档中存储有离线数据中各节点之间的层级关系,所述多个数据文档中每个数据文档存储有离线数据中不同节点的数据;
解压模块,用于解压所述文档集合,获取数据文档和层级关系文档;
创建模块,用于创建IndexDB数据库并基于每个数据的节点创建节点标识索引;
添加模块,用于依次将每个数据文档和所述层级关系文档添加至创建的IndexDB数据库中。
10.一种电子设备,其特征在于,包括:
存储器以及处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的WEB端数据离线缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910683988.9A CN110569456B (zh) | 2019-07-26 | 2019-07-26 | Web端数据离线缓存方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910683988.9A CN110569456B (zh) | 2019-07-26 | 2019-07-26 | Web端数据离线缓存方法及装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110569456A true CN110569456A (zh) | 2019-12-13 |
CN110569456B CN110569456B (zh) | 2022-03-08 |
Family
ID=68773425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910683988.9A Active CN110569456B (zh) | 2019-07-26 | 2019-07-26 | Web端数据离线缓存方法及装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569456B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857764A (zh) * | 2020-06-12 | 2020-10-30 | 浙江大华技术股份有限公司 | 离线数据更新方法、装置、设备和存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6618727B1 (en) * | 1999-09-22 | 2003-09-09 | Infoglide Corporation | System and method for performing similarity searching |
US20070143321A1 (en) * | 2005-12-16 | 2007-06-21 | International Business Machines Corporation | Converting recursive hierarchical data to relational data |
CN101171582A (zh) * | 2005-05-09 | 2008-04-30 | 阿玛得斯两合公司 | 用于从数据库生成xml文档的动态方法 |
CN103246684A (zh) * | 2012-02-13 | 2013-08-14 | 联想(北京)有限公司 | 一种网页转换方法、设备及系统 |
CN103686684A (zh) * | 2012-09-20 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 离线缓存的方法及装置 |
CN105930311A (zh) * | 2009-02-18 | 2016-09-07 | 谷歌公司 | 执行与再现文档关联的动作的方法、移动设备和可读介质 |
CN106331049A (zh) * | 2015-07-03 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 缓存资源、更新缓存资源的方法、客户端、服务器及系统 |
CN106372176A (zh) * | 2016-08-30 | 2017-02-01 | 东华大学 | 一种支持对嵌套文档进行统一sql查询的方法 |
CN106874493A (zh) * | 2017-02-23 | 2017-06-20 | 济南浪潮高新科技投资发展有限公司 | 一种数据转换方法及装置 |
CN107918638A (zh) * | 2016-10-11 | 2018-04-17 | 佳能株式会社 | 信息处理装置、文档显示方法、文档显示系统及介质 |
CN108875038A (zh) * | 2018-06-27 | 2018-11-23 | 南京南瑞继保电气有限公司 | 关系数据库数据下装到层次结构实时数据库的方法及系统 |
CN109582685A (zh) * | 2018-12-03 | 2019-04-05 | 武芮 | 一种记录上下文请求执行过程的方法及装置 |
CN110046236A (zh) * | 2019-03-20 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 一种非结构化数据的检索方法及装置 |
-
2019
- 2019-07-26 CN CN201910683988.9A patent/CN110569456B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6618727B1 (en) * | 1999-09-22 | 2003-09-09 | Infoglide Corporation | System and method for performing similarity searching |
CN101171582A (zh) * | 2005-05-09 | 2008-04-30 | 阿玛得斯两合公司 | 用于从数据库生成xml文档的动态方法 |
US20070143321A1 (en) * | 2005-12-16 | 2007-06-21 | International Business Machines Corporation | Converting recursive hierarchical data to relational data |
CN105930311A (zh) * | 2009-02-18 | 2016-09-07 | 谷歌公司 | 执行与再现文档关联的动作的方法、移动设备和可读介质 |
CN103246684A (zh) * | 2012-02-13 | 2013-08-14 | 联想(北京)有限公司 | 一种网页转换方法、设备及系统 |
CN103686684A (zh) * | 2012-09-20 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 离线缓存的方法及装置 |
CN106331049A (zh) * | 2015-07-03 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 缓存资源、更新缓存资源的方法、客户端、服务器及系统 |
CN106372176A (zh) * | 2016-08-30 | 2017-02-01 | 东华大学 | 一种支持对嵌套文档进行统一sql查询的方法 |
CN107918638A (zh) * | 2016-10-11 | 2018-04-17 | 佳能株式会社 | 信息处理装置、文档显示方法、文档显示系统及介质 |
CN106874493A (zh) * | 2017-02-23 | 2017-06-20 | 济南浪潮高新科技投资发展有限公司 | 一种数据转换方法及装置 |
CN108875038A (zh) * | 2018-06-27 | 2018-11-23 | 南京南瑞继保电气有限公司 | 关系数据库数据下装到层次结构实时数据库的方法及系统 |
CN109582685A (zh) * | 2018-12-03 | 2019-04-05 | 武芮 | 一种记录上下文请求执行过程的方法及装置 |
CN110046236A (zh) * | 2019-03-20 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 一种非结构化数据的检索方法及装置 |
Non-Patent Citations (2)
Title |
---|
李锋等: "移动终端离线电子地图应用框架研究", 《测绘科学》 * |
黄蔚等: "非结构化Word数据表与RDB间的存储转换", 《计算机工程》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857764A (zh) * | 2020-06-12 | 2020-10-30 | 浙江大华技术股份有限公司 | 离线数据更新方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110569456B (zh) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109800222B (zh) | 一种HBase二级索引自适应优化方法和系统 | |
CN104125208B (zh) | 数据传输方法及装置 | |
CN102857565B (zh) | 一种基于云计算的智能试衣系统 | |
CN103379140B (zh) | 一种日志处理规则同步方法及相关设备和系统 | |
CN101197700A (zh) | 提供日志服务的方法及系统 | |
CN106453572B (zh) | 基于云服务器同步图像的方法及系统 | |
CN102917020A (zh) | 一种基于数据包的移动终端与业务系统数据同步的方法 | |
CN103853714A (zh) | 一种数据处理方法和装置 | |
CN106547911A (zh) | 一种海量小文件的存取方法和系统 | |
CN114328981B (zh) | 基于模式映射的知识图谱建立和数据获取方法、装置 | |
CN106570153A (zh) | 一种海量url的数据提取方法及系统 | |
CN110569456B (zh) | Web端数据离线缓存方法及装置、电子设备 | |
CN108228756A (zh) | 基于日志解析技术的PG数据库到Hadoop平台的数据同步复制方法 | |
CN113434506B (zh) | 数据管理及检索方法、装置、计算机设备及可读存储介质 | |
CN101778124A (zh) | 移动客户端访问互联网的方法和页面访问服务器 | |
CN113641706B (zh) | 数据查询的方法和装置 | |
CN112905600A (zh) | 数据查询方法、装置和存储介质及电子设备 | |
CN113190517A (zh) | 数据集成方法、装置、电子设备和计算机可读介质 | |
CN108012558B (zh) | 电话号码规范化以及信息可发现性 | |
CN109617960B (zh) | 一种基于属性化分离的web AR数据呈现方法 | |
CN104714923A (zh) | 一种实现设备共享的方法和装置 | |
CN115982133A (zh) | 数据处理方法及装置 | |
CN110929126A (zh) | 一种基于远程过程调用实现的分布式爬虫调度方法 | |
CN115237924A (zh) | 数据处理方法、系统、设备、介质和程序产品 | |
JP3916219B2 (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 |