CN112347337A - 离线应用的数据检索方法、装置、计算机设备及存储介质 - Google Patents
离线应用的数据检索方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112347337A CN112347337A CN202011287794.6A CN202011287794A CN112347337A CN 112347337 A CN112347337 A CN 112347337A CN 202011287794 A CN202011287794 A CN 202011287794A CN 112347337 A CN112347337 A CN 112347337A
- Authority
- CN
- China
- Prior art keywords
- data
- html page
- target data
- offline
- parameter information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000005192 partition Methods 0.000 claims description 21
- 230000003993 interaction Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013479 data entry Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
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/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
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)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及离线应用开发领域,揭示了一种离线应用的数据检索方法、装置、计算机设备及存储介质,其中方法包括:通过HTML页面接收离线的数据查询请求;基于原生应用提供的服务器解析所述数据查询请求,获取所述数据查询请求携带的参数信息;将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据;将所述目标数据反馈至HTML页面,在HTML页面中显示所述目标数据。本申请的通过原生应用与HTML页面的结合,构建服务器与客户端的通信模式,并结合搜索引擎及索引字段,快速地查找到目标数据,提高离线场景下的数据检索的响应速度及查询速度,提高数据检索的效率。
Description
技术领域
本申请涉及到离线应用开发领域,特别是涉及到一种离线应用的数据检索方法、装置、计算机设备及存储介质。
背景技术
数据查询包括在线查询和离线索引,在线查询的时间复杂度主要取决于查询关键词的数量,以及每个关键词命中的文档,短查询相对于长查询会更快,而包含生僻词的查询也会更快。而离线索引阶段的时间复杂度主要取决于建立索引的文档数量以及每篇文档的长度,如果两者都快速增长,那么建立索引的时间会呈现指数级增加。离线索引的时间和空间复杂度都要远远高于在线查询时的复杂度。现有的离线查询产品所支持查询的数据量小,查询速度也十分缓慢,难以满足海量数据的高效查询业务需求,而用户体验比较好的应用必须在2秒内进行响应,目前业内离线产品中,在数据体量稍微大点的情况的产品均未达到这一性能指标,并且还存在卡顿甚至崩溃的情况,不利于离线产品的数据查询与交互。
发明内容
本申请的主要目的为提供一种离线应用的数据检索、装置、计算机设备及存储介质,旨在解决目前的离线产品的可支持查询的数据量小、查询速度较慢的问题。
为了实现上述发明目的,本申请提出一种离线应用的数据检索方法,包括:
通过HTML页面接收离线的数据查询请求;
基于原生应用提供的服务器解析所述数据查询请求,获取所述数据查询请求携带的参数信息;
将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据;
将所述目标数据反馈至HTML页面,在HTML页面中显示所述目标数据。
进一步地,所述基于原生应用提供的服务器解析所述数据查询请求,获取所述数据查询请求携带的参数信息,包括:
原生应用拦截所述数据查询请求中的URL;
基于原生应用提供的服务器解析所述URL,获取所述HTML页面的路由信息及携带的参数信息,以根据所述路由信息与所述HTML页面完成交互以及根据所述参数信息进行对应的原生应用响应。
进一步地,所述通过HTML页面接收离线的数据查询请求之前,还包括:
获取待处理的数据文件;
将所述待处理的数据文件转化为对象,并基于ORM框架将所述对象映射到数据库,生成原始数据,所述原始数据为所述目标数据的并集合。
进一步地,所述基于原生应用提供的服务器解析所述数据查询请求之前,还包括:
基于原生应用提供的服务器创建ServerSocket并绑定预设端口,通过所述预设端口监听HTML页面的数据查询请求;
当监听到HTML页面的数据查询请求后,开启主线程建立与HTML页面的连接,并在预设时间内通过所述主线程保持与HTML页面的连接,以完成原生应用与HTML页面的交互。
进一步地,所述将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据之后,还包括:
统计各目标数据的查询频率;
根据所述查询频率为目标数据进行分区;
将所述查询频率满足预设条件的分区对应的数据存放至缓存,以优先从缓存提取目标数据。
进一步地,所述从数据库中提取所述目标数据之前,还包括:
配置数据库的缓存参数信息;
所述将所述查询频率满足预设条件的分区对应的数据存放至缓存之后,还包括:
获取所述查询频率满足预设条件的分区数量,根据所述数量调整所述缓存参数信息。
进一步地,所述将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据之前,还包括:
配置关闭数据库操作同步的参数信息,和/或配置减少数据库锁定的参数信息。
本申请还提供一种离线应用的数据检索装置,包括:
查询请求模块,用于通过HTML页面接收离线的数据查询请求;
请求解析模块,用于基于原生应用提供的服务器解析所述数据查询请求,获取所述数据查询请求携带的参数信息;
数据查询模块,用于将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据;
数据展示模块,用于将所述目标数据反馈至HTML页面,在HTML页面中显示所述目标数据。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述离线应用的数据检索方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述离线应用的数据检索方法的步骤。
本申请例提供了一种离线场景下的应用的数据检索方法,通过原生应用与HTML页面的结合,利用Webview加载本地HTML资源生成HTML页面,方便接收用户提交的离线的数据查询请求,利用原生应用启动服务器为HTML页面提供Http服务,HTML页面的数据查询请求通过原生应用进行响应,原生应用提供的服务器解析所述数据查询请求获取携带的参数信息,然后原生应用基于集成的搜索引擎将参数信息转化为索引字段,通过索引字段快速访问数据库表中的特定信息,再从数据库中提取对应的目标数据,从而将查找到的目标数据反馈给HTML页面,在离线场景下,HTML页面与原生应用的逻辑简单、相互独立,提高交互的流畅性,并且通过搜索引擎及索引字段的结合,在离线场景下将符合条件的数据条目查找出来,再从数据库里提取原始数据,而并非直接使用文件型数据库直接进行数据查询,提高离线场景下的数据检索的响应速度及查询速度,提高数据检索的效率,并且适用于拥有大量数据的查询场景,满足不同场景的需求。
附图说明
图1为本申请离线应用的数据检索方法的一实施例流程示意图;
图2为本申请离线应用的一实施例框架示意图;
图3为本申请离线应用的数据检索装置的一实施例结构示意图;
图4为本申请计算机设备的一实施例结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种离线应用的数据检索方法,应用于混合开发的应用中,包括步骤S10-S40,对于所述离线应用的数据检索方法的各个步骤的详细阐述如下。
S10、通过HTML页面接收离线的数据查询请求。
本实施例的应用为混合开发的应用(Hybrid App),即在应用中内嵌轻量级的浏览器,通过浏览器实现应用的部分功能,使得应用包括原生应用及WEB应用(即HTML页面),所述应用基于Native和Web语言开发或只用Web语言开发,本实施例的一种实施方式,所述原生应用通过Java开发,所述HTML页面通过JavaScript开发。本实施例的使用场景是离线场景,即应用处于离线状态,无法连接局域网或访问外网,本实施例将处于离线状态的应用定义为离线应用,在离线应用中,通过HTML页面及原生应用的交互完成数据检索。
本实施例中,将HTML页面资源存放在本地,所述HTML页面资源包括HTML页面关联的CSS(Cascading Style Sheets,层叠样式表)文件和JS(JavaScript)文件,在应用处于离线状态时,通过加载本地的HTML资源从而生成HTML页面,能够快速地打开HTML页面,然后通过所述HTML页面接收数据查询请求,由于应用处于离线状态,本发明将应用处于离线状态时的数据查询请求定义为离线的数据查询请求。例如,用户在终端设备上,打开本实施例的离线应用,离线应用通过加载本地的HTML资源生成HTML页面,用户可以通过所述HTML页面上提供的搜索栏输入相关的数据检索信息,从而提交数据查询请求。
S20、基于原生应用提供的服务器解析所述数据查询请求,获取所述数据查询请求携带的参数信息。
通过原生应用监听HTML页面的数据查询请求,所述数据查询请求包括GET,POST,PUT和DELETE等HTTP请求,HTTP请求包含资源描述符,用于描述待操作的资源的地址,包含GET,POST,PUT,DELETE的HTTP请求中分别对应着对所述资源的查,改,增,删的操作,当监听到数据查询请求后,基于原生应用提供的服务器解析所述数据查询请求,具体的,在原生应用配置一个服务器,将原生应用与HTML页面的交互转化为客户端与服务器的交互,为了降低资源的占用,所述原生应用提供的服务器为轻量级的服务器,进一步的,该服务器为Web服务器,为所述HTML页面提供Http服务,并且配置所述Web服务器支持GET,POST,PUT和DELETE等HTTP请求,以完成对HTML页面的不同协议的数据查询请求的解析。原生应用提供的服务器解析所述数据查询请求后,获取所述数据查询请求携带的参数信息,所述参数信息包括用户输入的查询字段、查询条件及相应的处理规则等。
S30、将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据。
原生应用负责对数据进行检索,本实施例的原生应用集成搜索引擎,对所述参数信息包含的查询字段进行分词处理,判断是否需要启动整合搜索,同时剔除查询字段中出现错别字和拼写中出现的错误,从而将解析得到的参数信息转化为索引字段,然后根据所述索引字段从本地数据库表中搜索相应的目标数据,将复杂的查询条件通过搜索引擎把符合条件的数据条目查找出来。索引是对数据库表中一列或多列的值进行排序的一种结构,本实施例中的本地数据库表建立了索引,具体的,可以根据数据库所存储的数据对应的不同列分别建立索引,然后基于索引字段便可快速地搜索到目标索引,从而搜索到目标数据,当搜索到目标数据后,即筛选出符合参数信息的数据条目,再从本地数据库中提取所述目标数据,从而获取到与所述参数信息相对应的目标数据。
S40、将所述目标数据反馈至HTML页面,在HTML页面中显示所述目标数据。
原生应用获取到目标数据后,通过JavaScript与HTML页面进行交互,将所述目标数据反馈至HTML页面,HTML页面收到所述目标数据后,便可在HTML页面中的预设区域显示所述目标数据,从而在HTML页面上快速地呈现用户所查询的内容信息。
本实施例提供了一种离线场景下的应用的数据检索方法,通过原生应用与HTML页面的结合,利用Webview加载本地HTML资源生成HTML页面,方便接收用户提交的离线的数据查询请求,利用原生应用启动服务器为HTML页面提供Http服务,HTML页面的数据查询请求通过原生应用进行响应,原生应用提供的服务器解析所述数据查询请求获取携带的参数信息,然后原生应用基于集成的搜索引擎将参数信息转化为索引字段,通过索引字段快速访问数据库表中的特定信息,再从数据库中提取对应的目标数据,从而将查找到的目标数据反馈给HTML页面,在离线场景下,HTML页面与原生应用的逻辑简单、相互独立,提高交互的流畅性,并且通过搜索引擎及索引字段的结合,在离线场景下将符合条件的数据条目查找出来,再从数据库里提取原始数据,而并非直接使用文件型数据库直接进行数据查询,提高离线场景下的数据检索的响应速度及查询速度,提高数据检索的效率,并且适用于拥有大量数据的查询场景,满足不同场景的需求。
如图2所示是本实施例的离线应用的框架示意图,在底层框架的基础上开发原生应用于Web应用,使得离线应用包含了原生应用与HTML页面,原生应用与HTML页面通过Web服务进行数据的交互,原生应用提供一服务器与HTML页面进行数据查询请求的接收与响应,原生应用通过搜索引擎搜索到目标数据,再从数据库中提取目标数据,然后通过Web服务将目标数据反馈至HTML页面,从而实现在HTML页面中显示所述目标数据,实现快速的离线数据的检索。
在一个实施例中,所述步骤S20中,基于原生应用提供的服务器解析所述数据查询请求,获取所述数据查询请求携带的参数信息,包括:
原生应用拦截所述数据查询请求中的URL;
基于原生应用提供的服务器解析所述URL,获取所述HTML页面的路由信息及携带的参数信息,以根据所述路由信息与所述HTML页面完成交互以及根据所述参数信息进行对应的原生应用响应。
本实施例中,原生应用监听HTML页面提交的数据查询请求,然后利用shouldOverrideUrlLoading拦截所述数据查询请求中的HTML页面的URL(UniformResource Locator,统一资源定位符),再基于原生应用提供的服务器对拦截的URL进行解析,从而获取所述HTML页面的路由信息及携带的参数信息,所述路由信息表明了HTML页面的交互信息,包含返回的路由地址、返回的配置参数,原生应用根据所述路由信息便可与所述HTML页面完成交互,所述参数信息包含了用户输入的查询字段、查询条件及相应的处理规则,原生应用根据所述参数信息进行对应的原生应用响应,从而获得目标数据。原生应用通过shouldOverrideUrlLoading拦截HTML页面的URL,能够有效地捕获HTML页面的数据查询请求,从而提高对数据查询请求的响应效率。
进一步的,在步骤S40将所述目标数据反馈至HTML页面,根据所获取的路由信息,基于所述路由信息将目标数据反馈至HTML页面,完成原生应用与HTML页面的交互。
在一个实施例中,所述步骤S10,通过HTML页面接收离线的数据查询请求之前,还包括:
获取待处理的数据文件;
将所述待处理的数据文件转化为对象,并基于ORM框架将所述对象映射到数据库,生成原始数据,所述原始数据为所述目标数据的并集合。
本实施例中,离线应用需要将可供查询的数据录入至本地数据库,所述可供查询的数据为原始数据,在对原始数据进行录入时,首先获取待处理的数据文件,然后将所述待处理的数据文件转化为对象,并基于ORM(Object Relational Mapping,对象-关系映射)框架将所述对象映射到数据库保存,进一步的,还为数据库表添加索引,使之支持索引查询,从而生成原始数据,所述原始数据为所述目标数据的并集合,便于原生应用从数据库中提取对应的目标数据,提高查询效率,在一种实施方式中,所述待处理的数据文件为JSON数据文件,所述对象为JAVA对象。通过将JSON数据文件转化为JAVA对象,并且采用ORM框架将Java对象映射到SQLite数据库中保存,采用ORM框架后,使得数据的存储最大支持128TiB,从而能够提供海量数据的离线存储与查询。
在一个实施例中,所述基于原生应用提供的服务器解析所述数据查询请求之前,还包括:
基于原生应用提供的服务器创建ServerSocket并绑定预设端口,通过所述预设端口监听HTML页面的数据查询请求;
当监听到HTML页面的数据查询请求后,开启主线程建立与HTML页面的连接,并在预设时间内通过所述主线程保持与HTML页面的连接,以完成服务器与HTML页面的交互。
本实施例中,基于原生应用提供的服务器解析所述数据查询请求之前,需要有效地监听HTML页面的请求,只有准确地监听到HTML页面的请求,才能完成快速地响应,通过所述预设端口监听HTML页面的数据查询请求,将本申请的原生应用与HTML页面的通信形成服务器与客户端的通信模式,ServerSocket负责接收客户端(HTML页面)的连接请求,当监听到HTML页面的数据查询请求后,生成与客户端连接的Socket,即通过开启主线程建立与HTML页面的连接,主线程作为线程守护进程的作用,用于在预设时间内通过所述主线程保持与HTML页面的连接,而对于HTML页面的数据查询请求的交互,原生应用提供的服务器会创建工作线程分别完成每一项数据查询请求,工作线程即为非守护线程,当所有非守护线程执行完成,即原生应用与HTML页面的交互完成,即将所述目标数据反馈至HTML页面,在HTML页面中显示所述目标数据后,此时主线程在阻塞设定时间后退出,从而避免主线程长时间地占用,降低资源的消耗。
进一步,所述原生应用提供的服务器为NanoHttpd Web服务器,配置为一轻量级的服务器,从而提高资源的利用率。
在一个实施例中,所述步骤S30将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据之后,还包括:
统计各目标数据的查询频率;
根据所述查询频率为目标数据进行分区;
将所述查询频率满足预设条件的分区对应的数据存放至缓存,以优先从缓存提取目标数据。
本实施例中,在数据库表中搜索到目标数据,从数据库中提取目标数据之后,统计各目标数据的查询频率,然后根据所述查询频率为不同查询频率的目标数据进行分区,所述分区并不再次占用存放资源,只需要通过分区标识便可对目标数据进行分区,从而形成具有多个分区的目标数据,然后将所述查询频率满足预设条件的分区对应的数据存放至缓存,例如将所述查询频率大于10Times/24h的分区对应的数据存放至缓存,在后续接收到数据查询请求时,所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,然后便可优先从缓存进行目标数据的提取,从而提高目标数据的检索效率。
在一个实施例中,所述从数据库中提取所述目标数据之前,还包括:
配置数据库的缓存参数信息;
在上述实施例的基础上,所述将所述查询频率满足预设条件的分区对应的数据存放至缓存之后,还包括:
获取所述查询频率满足预设条件的分区数量,根据所述数量调整所述缓存参数信息。
本实施例中,数据库配置有缓存,用于存放部分目标数据以供目标数据的快速检索,具体的,根据缓存参数信息配置缓存的大小,在上述实施例的基础上,将满足预设条件的分区对应的数据存放至缓存候,统计所述查询频率满足预设条件的分区数量,若满足预设条件的分区数量较多时,则扩大缓存以存放更多的分区目标数据,若满足预设条件的分区数量较少时,则降低缓存以释放更多的存储空间,本实施例中根据所述数量调整所述缓存参数信息,通过配置缓存参数信息动态调整缓存的大小,从而提高资源的利用率。
在一个实施例中,所述将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据之前,还包括:
配置关闭数据库操作同步的参数信息,和/或配置减少数据库锁定的参数信息。
本实施例中,在对数据库执行操作之前,预先设置数据库的各项参数信息,使得数据库能够满足海量数据的离线查询,本实施例的一种实施方式是配置关闭数据库操作同步的参数信息,通过关闭数据库的操作同步,在对数据库进行添删改操作时不必同步等待写入永久性存储介质如磁盘,而通过配置在完成添删改操作后延迟预设时间对添删改操作进行批量处理,从而降低实时同步而带来的资源消耗;本实施例的另一种实施方式是配置减少数据库锁定的参数信息,通过设置WAL模式(Journal Mode=WAL)减少数据库锁定,避免多线程访问时需要不停地锁定数据库及开锁,数据在写入时不必使用排它锁影响其它线程对数据读取,而是把对数据的操作写入到WAL文件中,延迟合并,从而降低资源的消耗,提高目标数据的检索效率。进一步的,还可以配置数据库的缓存参数信息,在查询时将预设使用的数据预先加载进入缓存,优先从缓存进行数据检索,若数据库较大则相应加大缓存。
参照图3,本申请还提供一种离线应用的数据检索装置,包括:
查询请求模块10,用于通过HTML页面接收离线的数据查询请求;
请求解析模块20,用于基于原生应用提供的服务器解析所述数据查询请求,获取所述数据查询请求携带的参数信息;
数据查询模块30,用于将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据;
数据展示模块40,用于将所述目标数据反馈至HTML页面,在HTML页面中显示所述目标数据。
如上所述,可以理解地,本申请中提出的所述离线应用的数据检索装置的各组成部分可以实现如上所述离线应用的数据检索方法任一项的功能。
在一个实施例中,所述请求解析模块20还包括执行拦截所述数据查询请求中的URL;基于原生应用提供的服务器解析所述URL,获取所述HTML页面的路由信息及携带的参数信息,以根据所述路由信息与所述HTML页面完成交互以及根据所述参数信息进行对应的原生应用响应。
在一个实施例中,所述离线应用的数据检索装置还包括:数据处理模块,用于获取待处理的数据文件;将所述待处理的数据文件转化为对象,并基于ORM框架将所述对象映射到数据库,生成原始数据,所述原始数据为所述目标数据的并集合。
在一个实施例中,所述请求解析模块20还包括执行基于原生应用提供的服务器创建ServerSocket并绑定预设端口,通过所述预设端口监听HTML页面的数据查询请求;当监听到HTML页面的数据查询请求后,开启主线程建立与HTML页面的连接,并在预设时间内通过所述主线程保持与HTML页面的连接,以完成原生应用与HTML页面的交互。
在一个实施例中,所述离线应用的数据检索装置还包括:统计模块,用于统计各目标数据的查询频率;根据所述查询频率为目标数据进行分区;将所述查询频率满足预设条件的分区对应的数据存放至缓存,以优先从缓存提取目标数据。
在一个实施例中,所述离线应用的数据检索装置还包括:数据库参数信息配置模块,用于配置数据库的缓存参数信息;获取所述查询频率满足预设条件的分区数量,根据所述数量调整所述缓存参数信息。
在一个实施例中,所述数据库参数信息配置模块还包括执行配置关闭数据库操作同步的参数信息,和/或配置减少数据库锁定的参数信息。
参照图4,本申请实施例中还提供一种计算机设备,该计算机设备可以是移动终端,其内部结构可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和显示装置及输入装置。其中,该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示装置用于显示离线应用。该计算机设备的输入装置用于接收用户在离线应用的输入。该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质。该非易失性存储介质存储有操作系统、计算机程序和数据库。该计算机设备的数据库用于存放原始数据。该计算机程序被处理器执行时以实现一种离线应用的数据检索方法。
上述处理器执行上述的离线应用的数据检索方法,包括:通过HTML页面接收离线的数据查询请求;基于原生应用提供的服务器解析所述数据查询请求,获取所述数据查询请求携带的参数信息;将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据;将所述目标数据反馈至HTML页面,在HTML页面中显示所述目标数据。所述计算机设备提供了一种离线场景下的应用的数据检索方法,通过原生应用与HTML页面的结合,利用Webview加载本地HTML资源生成HTML页面,方便接收用户提交的离线的数据查询请求,利用原生应用启动服务器为HTML页面提供Http服务,HTML页面的数据查询请求通过原生应用进行响应,原生应用提供的服务器解析所述数据查询请求获取携带的参数信息,然后原生应用基于集成的搜索引擎将参数信息转化为索引字段,通过索引字段快速访问数据库表中的特定信息,再从数据库中提取对应的目标数据,从而将查找到的目标数据反馈给HTML页面,在离线场景下,HTML页面与原生应用的逻辑简单、相互独立,提高交互的流畅性,并且通过搜索引擎及索引字段的结合,在离线场景下将符合条件的数据条目查找出来,再从数据库里提取原始数据,而并非直接使用文件型数据库直接进行数据查询,提高离线场景下的数据检索的响应速度及查询速度,提高数据检索的效率,并且适用于拥有大量数据的查询场景,满足不同场景的需求。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被所述处理器执行时实现一种离线应用的数据检索方法,包括步骤:通过HTML页面接收离线的数据查询请求;基于原生应用提供的服务器解析所述数据查询请求,获取所述数据查询请求携带的参数信息;将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据;将所述目标数据反馈至HTML页面,在HTML页面中显示所述目标数据。所述计算机可读存储介质提供了一种离线场景下的应用的数据检索方法,通过原生应用与HTML页面的结合,利用Webview加载本地HTML资源生成HTML页面,方便接收用户提交的离线的数据查询请求,利用原生应用启动服务器为HTML页面提供Http服务,HTML页面的数据查询请求通过原生应用进行响应,原生应用提供的服务器解析所述数据查询请求获取携带的参数信息,然后原生应用基于集成的搜索引擎将参数信息转化为索引字段,通过索引字段快速访问数据库表中的特定信息,再从数据库中提取对应的目标数据,从而将查找到的目标数据反馈给HTML页面,在离线场景下,HTML页面与原生应用的逻辑简单、相互独立,提高交互的流畅性,并且通过搜索引擎及索引字段的结合,在离线场景下将符合条件的数据条目查找出来,再从数据库里提取原始数据,而并非直接使用文件型数据库直接进行数据查询,提高离线场景下的数据检索的响应速度及查询速度,提高数据检索的效率,并且适用于拥有大量数据的查询场景,满足不同场景的需求。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种离线应用的数据检索方法,其特征在于,包括:
通过HTML页面接收离线的数据查询请求;
基于原生应用提供的服务器解析所述数据查询请求,获取所述数据查询请求携带的参数信息;
将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据;
将所述目标数据反馈至HTML页面,在HTML页面中显示所述目标数据。
2.根据权利要求1所述的离线应用的数据检索方法,其特征在于,所述基于原生应用提供的服务器解析所述数据查询请求,获取所述数据查询请求携带的参数信息,包括:
原生应用拦截所述数据查询请求中的URL;
基于原生应用提供的服务器解析所述URL,获取所述HTML页面的路由信息及携带的参数信息,以根据所述路由信息与所述HTML页面完成交互以及根据所述参数信息进行对应的原生应用响应。
3.根据权利要求1所述的离线应用的数据检索方法,其特征在于,所述通过HTML页面接收离线的数据查询请求之前,还包括:
获取待处理的数据文件;
将所述待处理的数据文件转化为对象,并基于ORM框架将所述对象映射到数据库,生成原始数据,所述原始数据为所述目标数据的并集合。
4.根据权利要求1所述的离线应用的数据检索方法,其特征在于,所述基于原生应用提供的服务器解析所述数据查询请求之前,还包括:
基于原生应用提供的服务器创建ServerSocket并绑定预设端口,通过所述预设端口监听HTML页面的数据查询请求;
当监听到HTML页面的数据查询请求后,开启主线程建立与HTML页面的连接,并在预设时间内通过所述主线程保持与HTML页面的连接,以完成原生应用与HTML页面的交互。
5.根据权利要求1所述的离线应用的数据检索方法,其特征在于,所述将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据之后,还包括:
统计各目标数据的查询频率;
根据所述查询频率为目标数据进行分区;
将所述查询频率满足预设条件的分区对应的数据存放至缓存,以优先从缓存提取目标数据。
6.根据权利要求5所述的离线应用的数据检索方法,其特征在于,所述从数据库中提取所述目标数据之前,还包括:
配置数据库的缓存参数信息;
所述将所述查询频率满足预设条件的分区对应的数据存放至缓存之后,还包括:
获取所述查询频率满足预设条件的分区数量,根据所述数量调整所述缓存参数信息。
7.根据权利要求1所述的离线应用的数据检索方法,其特征在于,所述将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据之前,还包括:
配置关闭数据库操作同步的参数信息,和/或配置减少数据库锁定的参数信息。
8.一种离线应用的数据检索装置,其特征在于,包括:
查询请求模块,用于通过HTML页面接收离线的数据查询请求;
请求解析模块,用于基于原生应用提供的服务器解析所述数据查询请求,获取所述数据查询请求携带的参数信息;
数据查询模块,用于将所述参数信息转化为索引字段,根据所述索引字段从本地数据库表中搜索相应的目标数据,从数据库中提取所述目标数据;
数据展示模块,用于将所述目标数据反馈至HTML页面,在HTML页面中显示所述目标数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述离线应用的数据检索方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述离线应用的数据检索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011287794.6A CN112347337A (zh) | 2020-11-17 | 2020-11-17 | 离线应用的数据检索方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011287794.6A CN112347337A (zh) | 2020-11-17 | 2020-11-17 | 离线应用的数据检索方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112347337A true CN112347337A (zh) | 2021-02-09 |
Family
ID=74363981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011287794.6A Pending CN112347337A (zh) | 2020-11-17 | 2020-11-17 | 离线应用的数据检索方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112347337A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656439A (zh) * | 2021-08-19 | 2021-11-16 | 北京搜房科技发展有限公司 | 数据查询方法及装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797399A (zh) * | 2004-11-11 | 2006-07-05 | 微软公司 | 用于文本挖掘和搜索的应用程序编程接口 |
CN108287839A (zh) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 一种页面加载方法和设备 |
-
2020
- 2020-11-17 CN CN202011287794.6A patent/CN112347337A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797399A (zh) * | 2004-11-11 | 2006-07-05 | 微软公司 | 用于文本挖掘和搜索的应用程序编程接口 |
CN108287839A (zh) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 一种页面加载方法和设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656439A (zh) * | 2021-08-19 | 2021-11-16 | 北京搜房科技发展有限公司 | 数据查询方法及装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110990400B (zh) | 数据库查询方法、装置、计算机设备和存储介质 | |
US10839038B2 (en) | Generating configuration information for obtaining web resources | |
EP3855324A1 (en) | Associative recommendation method and apparatus, computer device, and storage medium | |
US20220335086A1 (en) | Full-text indexing method and system based on graph database | |
CN109344197B (zh) | 基于大数据的分页下载方法和装置 | |
CN111310427A (zh) | 业务数据配置处理方法、装置、计算机设备和存储介质 | |
CN107679077B (zh) | 分页的实现方法、装置、计算机设备及存储介质 | |
CN103699674A (zh) | 网页保存、网页打开方法及装置和网页浏览系统 | |
JP2016518652A (ja) | ウェブページ・スタイルアドレスの統合 | |
CN111431767B (zh) | 多浏览器资源同步方法、装置、计算机设备和存储介质 | |
CN110737634A (zh) | 日志搜索方法、客户端、服务端与计算机可读存储介质 | |
CN111400578B (zh) | 货物数据查询方法、装置、计算机设备和存储介质 | |
CN112347337A (zh) | 离线应用的数据检索方法、装置、计算机设备及存储介质 | |
CN109977084B (zh) | 一种基于文件缓存器的页面静态化方法 | |
CN112100134A (zh) | 导出大文件的方法及装置、存储介质及计算机设备 | |
CN112866279B (zh) | 网页安全检测方法、装置、设备及介质 | |
CN113641796A (zh) | 数据搜索方法、系统及存储介质 | |
CN103914479A (zh) | 资源请求的匹配方法和装置 | |
CN111273964B (zh) | 一种数据加载方法及装置 | |
CN108460116B (zh) | 搜索方法、装置、计算机设备、存储介质及搜索系统 | |
CN114186148A (zh) | 页面加载方法、装置、电子设备及存储介质 | |
CN114610973A (zh) | 信息的搜索匹配方法、装置、计算机设备及存储介质 | |
KR102455379B1 (ko) | 데이터 검색 방법, 장치, 시스템, 기기 및 컴퓨터 판독 가능 저장 매체 | |
CN106777055B (zh) | 一种实现网站接口化渲染的方法与装置 | |
CN114862355A (zh) | 页面内容转发邮件方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210224 Address after: 518000 room 64, 3 / F, building 364B, Jingui building, 68 Puti Road, Fubao community, Fubao street, Futian District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Pingan Zhihui Enterprise Information Management Co.,Ltd. Address before: No.1411-14158, main tower of shipping center, No.59 Linhai Avenue, Nanshan street, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000 Applicant before: Ping An digital information technology (Shenzhen) Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |