CN111737269A - 数据查询响应方法、装置及计算机可读存储介质 - Google Patents
数据查询响应方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111737269A CN111737269A CN202010866905.2A CN202010866905A CN111737269A CN 111737269 A CN111737269 A CN 111737269A CN 202010866905 A CN202010866905 A CN 202010866905A CN 111737269 A CN111737269 A CN 111737269A
- Authority
- CN
- China
- Prior art keywords
- data
- mapping table
- value
- processed
- external
- 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
- 230000004044 response Effects 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013507 mapping Methods 0.000 claims abstract description 115
- 238000013524 data verification Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种数据查询响应方法、装置及计算机可读存储介质。其中,方法包括将当前时刻获取的外部新数据转化为预设数据描述格式的待处理对象,并计算相应的数据校验值;若外部新数据不存在已缓存映射表中,以待处理对象为value值、数据校验值为key键存储至已缓存映射表中,并将外部新数据作为目标数据发送给web客户端;若外部新数据存在已缓存映射表中,以待处理对象为value值、数据校验值为key键存储至临时映射表中,通过比对临时映射表和已缓存映射表中各数据校验值确定当前时刻与上一时刻发生变化的目标数据,并将目标数据发送给web客户端,服务器端和web客户端之间的无需传输大量数据,节约用户网络资源,有利于提升web客户端数据响应效率。
Description
技术领域
本申请涉及网络技术领域,特别是涉及一种数据查询响应方法、装置及计算机可读存储介质。
背景技术
在基于web应用的服务端中,若访问的数据源为外部数据源,服务器端通过接口查询数据源并将其反馈给web客户端。而可以理解的是,外部数据源会发生变化,外部数据源的数据变化无外乎两种情况,其一经由服务器端通过接口修改外部数据源,另外一种就是不通过接口修改如外部数据源本身提供者更新造成的数据变化。对于不通过接口修改而数据源发生变化的情况,服务器端本身不知道这些数据的变化情况,只能通过定时轮询的方式查询这些外部数据,然后再将查询到的最新数据发送给web客户端展示在其页面上。
但是,对于获取的外部数据源数据量特别大时,如大于1000条数据,服务器端向web客户端传输数据较为耗时,极易导致web页面更新较慢,占用用户带宽资源。
鉴于此,如何避免服务器端和web客户端之间的传输大量数据,提升web客户端数据响应效率,节约用户网络资源,是所属领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种数据查询响应方法、装置及计算机可读存储介质,服务器端和web客户端之间无需传输大量数据,节约用户网络资源,提升web客户端数据响应效率,提升用户使用体验。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种数据查询响应方法,包括:
将当前时刻获取的外部新数据转化为预设数据描述格式的待处理对象,并计算相应的数据校验值;
若所述外部新数据不存在已缓存映射表中,则以所述待处理对象为value值、所述数据校验值为key键存储至所述已缓存映射表中,并将所述外部新数据作为目标数据发送给web客户端;
若所述外部新数据存在所述已缓存映射表中,则以所述待处理对象为value值、所述数据校验值为key键存储至临时映射表中,通过比对所述临时映射表和所述已缓存映射表中各数据校验值确定发生变化的目标数据,并将所述目标数据发送给所述web客户端;
所述已缓存映射表包含所述当前时刻的上一时刻发送给所述web客户端的所有外部历史数据,且每条外部历史数据均以所述预设数据描述格式转化后所得为value值,相应数据校验值为key键进行存储。
可选的,所述已缓存映射表包括多个不同类型的JAVA对象,每个JAVA对象对应一种数据类型,且各JAVA对象中存储多条同一类型的子数据;
每个JAVA对象预先转化为相应的JSON字符串,同时计算相应的MD5值,各JAVA对象均以自身的JSON字符串作为value值、自身的MD5值为key键进行存储;每条子数据以自身相应的JSON字符串作为value值、自身相应的MD5值为key键存储至相对应的JAVA对象内。
可选的,所述外部新数据的待处理对象为JSON字符串,且所述外部新数据的数据校验值为MD5值,所述以所述待处理对象为value值、所述数据校验值为key键存储至所述已缓存映射表中包括:
根据所述外部新数据对应数据类型确定相应的目标JAVA对象;
将所述外部新数据以所述待处理对象为value值、所述数据校验值为key键存储至所述目标JAVA对象中,同时更新所述目标JAVA对象的MD5值。
可选的,所述通过比对所述临时映射表和所述已缓存映射表中各数据校验值确定发生变化的目标数据包括:
若所述已缓存映射表中整体数据的数据校验值和所述临时映射表中整体数据的数据校验值相同,则继续轮询新的外部数据;
若所述已缓存映射表中各JAVA对象的数据校验值和所述临时映射表中各JAVA对象的数据校验值相同,则通过比对所述临时映射表中各JAVA对象的每条子数据的MD5值和所述已缓存映射表中各JAVA对象的每条子数据的MD5值确定所述已缓存映射表中发生变化的数据,并从所述临时映射表中确定所述目标数据。
可选的,所述将所述目标数据发送给所述web客户端为:
将所述目标数据通过订阅发布的方式传输给所述web客户端,以使所述web客户端进行数据更新后展示在web页面上。
可选的,所述已缓存映射表和所述临时映射表为有序LinkhashMap映射表。
本发明实施例另一方面提供了一种数据查询响应装置,包括:
外部数据处理模块,用于将当前时刻获取的外部新数据转化为预设数据描述格式的待处理对象,并计算相应的数据校验值;
数据处理及传输模块,用于若所述外部新数据不存在已缓存映射表中,则以所述待处理对象为value值、所述数据校验值为key键存储至所述已缓存映射表中,并将所述外部新数据作为目标数据发送给web客户端;所述已缓存映射表包含所述当前时刻的上一时刻发送给所述web客户端的所有外部历史数据,且每条外部历史数据均以所述预设数据描述格式转化后所得为value值,相应数据校验值为key键进行存储;
数据比对及传输模块,用于若所述外部新数据存在所述已缓存映射表中,则以所述待处理对象为value值、所述数据校验值为key键存储至临时映射表中,通过比对所述临时映射表和所述已缓存映射表中各数据校验值确定发生变化的目标数据,并将所述目标数据发送给所述web客户端。
可选的,所述数据比对及传输模块包括数据订阅发布子模块;
所述数据订阅发布子模块用于将所述目标数据通过订阅发布的方式传输给所述web客户端,以使所述web客户端进行数据更新后展示在web页面上。
本发明实施例还提供了一种数据查询响应装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述数据查询响应方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据查询响应程序,所述数据查询响应程序被处理器执行时实现如前任一项所述数据查询响应方法的步骤。
本申请提供的技术方案的优点在于,服务器端查询到最新外部数据后,通过数据校验值将最新外部数据和上一次查询的数据进行比对,确定当前时刻相比上一时刻发生变化的数据,并只将两次有差异的数据传递给web客户端,有效避免服务器端和web客户端之间传输大量的数据,提高数据查询效率,节约用户网络资源,有利于提升web客户端数据响应效率,提升用户使用体验。
此外,本发明实施例还针对数据查询响应方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据查询响应方法的流程示意图;
图2为本发明实施例提供的另一种数据查询响应方法的流程示意图;
图3为本发明实施例提供的一个示例性应用场景的映射表结构示意图;
图4为本发明实施例提供的数据查询响应装置的一种具体实施方式结构图;
图5为本发明实施例提供的数据查询响应装置的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种数据查询响应方法的流程示意图,本发明实施例适用于由服务器端和客户端构成、基于java的web应用程序且数据源为外部数据源的网络结构模式,WEB浏览器为客户端最主要的应用软件,客户端即为web客户端,系统功能实现的核心部分集中到服务器上,服务器端将获取外部数据源中的数据发送给客户端,外部数据源为不可控的,其是否发生变化服务器端在不进行获取和判断的情况下是不可知的,只能通过定时轮询并进行判断,及时将发生更改的数据传输给web客户端。本发明实施例可包括以下内容:
S101:将当前时刻获取的外部新数据转化为预设数据描述格式的待处理对象,并计算相应的数据校验值。
在本发明实施例中,外部新数据是指服务器端从外部数据源获取的当前时刻的数据,相比上一时刻,这些外部数据可能发生变化,也可能没有发生变化,为了更加清楚描述,将当前时刻获取的外部数据称为外部新数据。在获取外部新数据后,可对外部新数据进行数据处理,可将其转化为符合预设数据描述格式的待处理对象,预设数据描述格式也称为数据交换格式,对于基于java的web应用程序,预设数据描述格式例如可为JSON,当然,也可为其他数据描述格式,如xml格式,yaml格式,这均不影响本申请的实现。
本发明实施例中的数据校验值是为保证数据的完整性进行的一种验证操作。通常可用一种指定的算法对原始数据计算出的一个数据校验值,接收方采用同样的算法计算一次校验值,如果两次计算得到的检验值相同,则说明数据是完整的。数据校验值例如可为奇偶校验值、采用crc循环冗余校验值、MD5校验值,其中,MD5校验值可采用MD5算法或des算法计算得到。数据校验值的类型与采用的算法相对应,所属领域技术人员可根据所采用的数据校验值类型采用任何一种现有技术中记载的可计算得到该种类型数据校验值的算法进行计算,具体计算过程请参阅相关文献记载的实现过程,此处,便不再赘述。
S102:判断外部新数据是否存在已缓存映射表,若是,则执行S103;若否,则执行S104。
本申请的已缓存映射表包含当前时刻的上一时刻发送给web客户端的所有外部历史数据,且每条外部历史数据均以预设数据描述格式转化后所得为value值,相应数据校验值为key键进行存储。已缓存映射表中每条数据的预设数据描述格式和数据校验值与S101中的外部新数据的预设数据描述格式和数据校验值保持一致。
S103:以待处理对象为value值、数据校验值为key键存储至临时映射表中,通过比对临时映射表和已缓存映射表中各数据校验值确定发生变化的目标数据,并将目标数据发送给web客户端。
可以理解的是,已缓存映射表中均存储的是历史数据,若外部新数据已存在已缓存映射表中,那么外部新数据要么就是已缓存映射表中的历史数据,要么就是已缓存映射表中历史数据进行修改后的数据。为了甄别外部新数据相比历史数据是否发生更改,每次获取外部新数据后,均建立一个临时映射表,临时映射表用于存储外部新数据。由于每个表中的每条数据均具有表征数据完整性的数据校验值,故可通过比对两个表的数据校验值来确定两次差异性数据,并将确定的差异性数据作为目标数据发给web客户端,服务器端和客户端数据传输量不大,web客户端只需更新这些差异性数据即可,web网页的刷新速度也快。
S104:以待处理对象为value值、数据校验值为key键存储至已缓存映射表中,并将外部新数据作为目标数据发送给web客户端。
可以理解的是,已缓存映射表中均存储的是历史数据,若外部新数据不存在已缓存映射表中,那么这些外部新数据为新增数据,可将这些新增数据作为当前时刻与上一时刻的差异性数据发送给web客户端进行数据更新。
在本发明实施例提供的技术方案中,服务器端查询到最新外部数据后,通过数据校验值将最新外部数据和上一次查询的数据进行比对,确定当前时刻相比上一时刻发生变化的数据,并只将两次有差异的数据传递给web客户端,有效避免服务器端和web客户端之间传输大量的数据,提高数据查询效率,节约用户网络资源,有利于提升web客户端数据响应效率,提升用户使用体验。
上述实施例对已缓存映射表的格式并未进行限定,对于基于web应用程序的应用场景来,本申请还给出已缓存映射表的一种实施方式,可包括下述内容:
已缓存映射表可包括多个不同类型的JAVA对象,每个JAVA对象对应一种数据类型,且各JAVA对象中存储多条同一类型的子数据;
每个JAVA对象预先转化为相应的JSON字符串,同时计算相应的MD5值,各JAVA对象均以自身的JSON字符串作为value值、自身的MD5值为key键进行存储;每条子数据以自身相应的JSON字符串作为value值、自身相应的MD5值为key键存储至相对应的JAVA对象内。
相应的,外部新数据的待处理对象为JSON字符串,且外部新数据的数据校验值为MD5值,若外部新数据不在已缓存映射表中,则根据外部新数据对应数据类型在已缓存映射表中确定相应的目标JAVA对象;然后将外部新数据以待处理对象为value值、数据校验值为key键存储至目标JAVA对象中,同时更新目标JAVA对象的MD5值。若外部新数据在已缓存映射表中,则将外部新数据以待处理对象为value值、数据校验值为key键存储临时映射表中。若已缓存映射表中整体数据的数据校验值和临时映射表中整体数据的数据校验值相同,则继续轮询新的外部数据;若已缓存映射表中各JAVA对象的数据校验值和临时映射表中各JAVA对象的数据校验值相同,则通过比对临时映射表中各JAVA对象的每条子数据的MD5值和已缓存映射表中各JAVA对象的每条子数据的MD5值确定已缓存映射表中发生变化的数据,并从临时映射表中确定目标数据。
基于上述发明实施例,请参阅图2及图3,本申请还给出另外一种实施方式,服务器端将第一次查询到的每条外部数据保存在对应的java对象中,每种类型的数据对应一种类型的对象。再将java对象转换成JSON字符串,并生成一个唯一值如MD5,将MD5作为key,JSON字符串作为value值放入有序的LinkHashMap中。当第二次查询外部数据后,每个数据做同样的处理后也放入一个有序的Map中,经过比对两个有序的Map,将第二次查询数据比第一次多的数据视为新增,少的数据视为删除。修改可以看做先删除后修改。最后新增或删除的数据可通过订阅发布的方式传输到客户端浏览器,客户端做数据变更。具体的,可包括下述内容:
服务器端查询外部新数据,将外部新数据对象先转换为JSON格式值,然后计算其MD5值,再判断这个对象是否已经做了缓存,即是否存储在已缓存的LinkHashMap表中,如果没有缓存,先创建一个LinkHashMap,再将对象数据以key值使用MD5值、value值使用JSON值放入其中,作为初始缓存使用,并将每条数据的MD5值拼接后计算出整体数据的MD5,并存入已缓存的对象数据列表,如图2中所示,如果缓存已存在也即已经有了对应对象的LinkHashMap缓存,则将数据放入临时创建的LinkHashMap中,然后先比对整体MD5值是否发生了变化,如果没有变化,说明数据较上次查询没有变化,直接跳到下次轮询,如果有变化,则对已缓存的LinkHashMap和临时的LinkHashMap的数据可逐条比对,也可以采用二分法比对或其他方法比对,通过比对MD5值是否一致判断数据是否有变化,如果有变化则认为数据做了变更,找出变更的数据,并将变更的信息通过发布订阅的方式传输给客户端。如果数据没有变化则继续轮询新的数据。
作为一种可选的实施方式,对于S103步骤,为了提高已缓存映射表和临时映射表的数据对比速率,已缓存映射表和临时映射表均可为有序LinkhashMap映射表,这样可以确定相应位置的数据然后进行比对即可,无需先遍历整个表去寻找与待比对数据相对应的数据,有效提高数据比对效率。
作为另外一种可选的实施方式,为了提高数据发送方式灵活性,给web客户端更多数据选择,服务器端在向web客户端发送目标数据时,可采用发布订阅的方式,也即将目标数据通过订阅发布的方式传输给web客户端,以使web客户端进行数据更新后展示在web页面上。在本发明实施例中,web客户端可预先订阅了某种类型对象数据,当该种类型对象的数据发生变化时,服务器端会通知客户端,并将变化的数据发送给客户端,以便客户端做相应的数据变化。当然,也可采用其他数据传递方式,本申请对此不做任何限定。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1-图2只是一种示意方式,并不代表只能是这样的执行顺序。
本发明实施例还针对数据查询响应方法提供了相应的装置,进一步使得所述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的数据查询响应装置进行介绍,下文描述的数据查询响应装置与上文描述的数据查询响应方法可相互对应参照。
基于功能模块的角度,参见图4,图4为本发明实施例提供的数据查询响应装置在一种具体实施方式下的结构图,该装置可包括:
外部数据处理模块401,用于将当前时刻获取的外部新数据转化为预设数据描述格式的待处理对象,并计算相应的数据校验值。
数据处理及传输模块402,用于若外部新数据不存在已缓存映射表中,则以待处理对象为value值、数据校验值为key键存储至已缓存映射表中,并将外部新数据作为目标数据发送给web客户端;已缓存映射表包含当前时刻的上一时刻发送给web客户端的所有外部历史数据,且每条外部历史数据均以预设数据描述格式转化后所得为value值,相应数据校验值为key键进行存储。
数据比对及传输模块403,用于若外部新数据存在已缓存映射表中,则以待处理对象为value值、数据校验值为key键存储至临时映射表中,通过比对临时映射表和已缓存映射表中各数据校验值确定发生变化的目标数据,并将目标数据发送给web客户端。
可选的,在本实施例的一些实施方式中,所述外部数据处理模块401可以包括:
类型匹配子模块,用于根据外部新数据对应数据类型确定相应的目标JAVA对象;
数据存储子模块,用于将外部新数据以待处理对象为value值、数据校验值为key键存储至目标JAVA对象中,同时更新目标JAVA对象的MD5值。
在本实施例的其他一些实施方式中,所述数据比对及传输模块403还可包括:
轮询子模块,用于若已缓存映射表中整体数据的数据校验值和临时映射表中整体数据的数据校验值相同,则继续轮询新的外部数据;
数据比对子模块,用于若已缓存映射表中各JAVA对象的数据校验值和临时映射表中各JAVA对象的数据校验值相同,则通过比对临时映射表中各JAVA对象的每条子数据的MD5值和已缓存映射表中各JAVA对象的每条子数据的MD5值确定已缓存映射表中发生变化的数据,并从临时映射表中确定目标数据。
可选的,在本实施例的另一些实施方式中,所述数据比对及传输模块403可包括数据订阅发布子模块;
数据订阅发布子模块用于将目标数据通过订阅发布的方式传输给web客户端,以使web客户端进行数据更新后展示在web页面上。
本发明实施例所述数据查询响应装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例服务器端和web客户端之间无需传输大量数据,节约用户网络资源,提升web客户端数据响应效率,提升用户使用体验。
上文中提到的数据查询响应装置是从功能模块的角度描述,进一步的,本申请还提供一种数据查询响应装置,是从硬件角度描述。图5为本申请实施例提供的另一种数据查询响应装置的结构图。如图5所示,该装置包括存储器50,用于存储计算机程序;
处理器51,用于执行计算机程序时实现如上述任一实施例提到的数据查询响应方法的步骤。
其中,处理器51可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器51可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器51也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器51可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器51还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器50可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器50还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器50至少用于存储以下计算机程序501,其中,该计算机程序被处理器51加载并执行之后,能够实现前述任一实施例公开的数据查询响应方法的相关步骤。另外,存储器50所存储的资源还可以包括操作系统502和数据503等,存储方式可以是短暂存储或者永久存储。其中,操作系统502可以包括Windows、Unix、Linux等。数据503可以包括但不限于测试结果对应的数据等。
在一些实施例中,数据查询响应装置还可包括有显示屏52、输入输出接口53、通信接口54、电源55以及通信总线56。
本领域技术人员可以理解,图5中示出的结构并不构成对数据查询响应装置的限定,可以包括比图示更多或更少的组件,例如传感器57。
本发明实施例所述数据查询响应装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例服务器端和web客户端之间无需传输大量数据,节约用户网络资源,提升web客户端数据响应效率,提升用户使用体验。
可以理解的是,如果上述实施例中的数据查询响应方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,存储有数据查询响应程序,所述数据查询响应程序被处理器执行时如上任意一实施例所述数据查询响应方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例服务器端和web客户端之间无需传输大量数据,节约用户网络资源,提升web客户端数据响应效率,提升用户使用体验。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种数据查询响应方法、装置及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种数据查询响应方法,其特征在于,包括:
将当前时刻获取的外部新数据转化为预设数据描述格式的待处理对象,并计算相应的数据校验值;
若所述外部新数据不存在已缓存映射表中,则以所述待处理对象为value值、所述数据校验值为key键存储至所述已缓存映射表中,并将所述外部新数据作为目标数据发送给web客户端;
若所述外部新数据存在所述已缓存映射表中,则以所述待处理对象为value值、所述数据校验值为key键存储至临时映射表中,通过比对所述临时映射表和所述已缓存映射表中各数据校验值确定发生变化的目标数据,并将所述目标数据发送给所述web客户端;
所述已缓存映射表包含所述当前时刻的上一时刻发送给所述web客户端的所有外部历史数据,且每条外部历史数据均以所述预设数据描述格式转化后所得为value值,相应数据校验值为key键进行存储。
2.根据权利要求1所述的数据查询响应方法,其特征在于,所述已缓存映射表包括多个不同类型的JAVA对象,每个JAVA对象对应一种数据类型,且各JAVA对象中存储多条同一类型的子数据;
每个JAVA对象预先转化为相应的JSON字符串,同时计算相应的MD5值,各JAVA对象均以自身的JSON字符串作为value值、自身的MD5值为key键进行存储;每条子数据以自身相应的JSON字符串作为value值、自身相应的MD5值为key键存储至相对应的JAVA对象内。
3.根据权利要求2所述的数据查询响应方法,其特征在于,所述外部新数据的待处理对象为JSON字符串,且所述外部新数据的数据校验值为MD5值,所述以所述待处理对象为value值、所述数据校验值为key键存储至所述已缓存映射表中包括:
根据所述外部新数据对应数据类型确定相应的目标JAVA对象;
将所述外部新数据以所述待处理对象为value值、所述数据校验值为key键存储至所述目标JAVA对象中,同时更新所述目标JAVA对象的MD5值。
4.根据权利要求2所述的数据查询响应方法,其特征在于,所述通过比对所述临时映射表和所述已缓存映射表中各数据校验值确定发生变化的目标数据包括:
若所述已缓存映射表中整体数据的数据校验值和所述临时映射表中整体数据的数据校验值相同,则继续轮询新的外部数据;
若所述已缓存映射表中各JAVA对象的数据校验值和所述临时映射表中各JAVA对象的数据校验值相同,则通过比对所述临时映射表中各JAVA对象的每条子数据的MD5值和所述已缓存映射表中各JAVA对象的每条子数据的MD5值确定所述已缓存映射表中发生变化的数据,并从所述临时映射表中确定所述目标数据。
5.根据权利要求1至4任意一项所述的数据查询响应方法,其特征在于,所述将所述目标数据发送给所述web客户端为:
将所述目标数据通过订阅发布的方式传输给所述web客户端,以使所述web客户端进行数据更新后展示在web页面上。
6.根据权利要求5所述的数据查询响应方法,其特征在于,所述已缓存映射表和所述临时映射表为有序LinkhashMap映射表。
7.一种数据查询响应装置,其特征在于,包括:
外部数据处理模块,用于将当前时刻获取的外部新数据转化为预设数据描述格式的待处理对象,并计算相应的数据校验值;
数据处理及传输模块,用于若所述外部新数据不存在已缓存映射表中,则以所述待处理对象为value值、所述数据校验值为key键存储至所述已缓存映射表中,并将所述外部新数据作为目标数据发送给web客户端;所述已缓存映射表包含所述当前时刻的上一时刻发送给所述web客户端的所有外部历史数据,且每条外部历史数据均以所述预设数据描述格式转化后所得为value值,相应数据校验值为key键进行存储;
数据比对及传输模块,用于若所述外部新数据存在所述已缓存映射表中,则以所述待处理对象为value值、所述数据校验值为key键存储至临时映射表中,通过比对所述临时映射表和所述已缓存映射表中各数据校验值确定发生变化的目标数据,并将所述目标数据发送给所述web客户端。
8.根据权利要求7所述的数据查询响应装置,其特征在于,所述数据比对及传输模块包括数据订阅发布子模块;
所述数据订阅发布子模块用于将所述目标数据通过订阅发布的方式传输给所述web客户端,以使所述web客户端进行数据更新后展示在web页面上。
9.一种数据查询响应装置,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至6任一项所述数据查询响应方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据查询响应程序,所述数据查询响应程序被处理器执行时实现如权利要求1至6任一项所述数据查询响应方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010866905.2A CN111737269B (zh) | 2020-08-26 | 2020-08-26 | 数据查询响应方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010866905.2A CN111737269B (zh) | 2020-08-26 | 2020-08-26 | 数据查询响应方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737269A true CN111737269A (zh) | 2020-10-02 |
CN111737269B CN111737269B (zh) | 2021-02-02 |
Family
ID=72658852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010866905.2A Active CN111737269B (zh) | 2020-08-26 | 2020-08-26 | 数据查询响应方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737269B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328641A (zh) * | 2021-01-05 | 2021-02-05 | 平安国际智慧城市科技股份有限公司 | 多维度数据聚合方法、装置及计算机设备 |
CN114090522A (zh) * | 2022-01-17 | 2022-02-25 | 泰山信息科技有限公司 | 一种电子文件的标识符定义方法、装置、设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412950A (zh) * | 2013-08-28 | 2013-11-27 | 浙江大学 | 加速空间大数据文件读写速度的方法 |
CN103905432A (zh) * | 2014-03-13 | 2014-07-02 | 新浪网技术(中国)有限公司 | Web前端服务器及其网页访问请求响应方法 |
CN105117270A (zh) * | 2015-07-29 | 2015-12-02 | 百度在线网络技术(北京)有限公司 | 一种用于模拟传感器的方法和装置 |
CN110830539A (zh) * | 2018-08-14 | 2020-02-21 | 贵州白山云科技股份有限公司 | 一种网络存储系统及方法 |
-
2020
- 2020-08-26 CN CN202010866905.2A patent/CN111737269B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412950A (zh) * | 2013-08-28 | 2013-11-27 | 浙江大学 | 加速空间大数据文件读写速度的方法 |
CN103905432A (zh) * | 2014-03-13 | 2014-07-02 | 新浪网技术(中国)有限公司 | Web前端服务器及其网页访问请求响应方法 |
CN105117270A (zh) * | 2015-07-29 | 2015-12-02 | 百度在线网络技术(北京)有限公司 | 一种用于模拟传感器的方法和装置 |
CN110830539A (zh) * | 2018-08-14 | 2020-02-21 | 贵州白山云科技股份有限公司 | 一种网络存储系统及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328641A (zh) * | 2021-01-05 | 2021-02-05 | 平安国际智慧城市科技股份有限公司 | 多维度数据聚合方法、装置及计算机设备 |
CN112328641B (zh) * | 2021-01-05 | 2021-04-20 | 平安国际智慧城市科技股份有限公司 | 多维度数据聚合方法、装置及计算机设备 |
CN114090522A (zh) * | 2022-01-17 | 2022-02-25 | 泰山信息科技有限公司 | 一种电子文件的标识符定义方法、装置、设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111737269B (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737658A (zh) | 数据分片存储方法、装置、终端及可读存储介质 | |
CN111737269B (zh) | 数据查询响应方法、装置及计算机可读存储介质 | |
US8412721B2 (en) | Efficient data extraction by a remote application | |
CN109542851A (zh) | 文件更新方法、装置及系统 | |
US20200134508A1 (en) | Method, device, and computer program product for deep learning | |
US20190129807A1 (en) | Method and device for managing a virtual machine | |
US10103961B2 (en) | Collecting client-side application performance monitoring information | |
WO2017143747A1 (zh) | 一种移动终端网络请求方法及系统 | |
CN109788251B (zh) | 视频处理方法、装置及存储介质 | |
CN114489916A (zh) | 可视化大屏页面组件的加载方法和装置 | |
CN114500036A (zh) | 一种传输数据的方法、装置以及介质 | |
CN112650804B (zh) | 大数据接入方法、装置、系统及存储介质 | |
CN111324310A (zh) | 一种数据的读取方法、装置及计算机系统 | |
CN110930253A (zh) | 智能合约内部主键生成方法、装置、计算机设备及存储介质 | |
CN114995719B (zh) | 列表渲染方法、装置、设备以及存储介质 | |
CN113726885B (zh) | 一种流量配额的调整方法和装置 | |
CN113157722B (zh) | 一种数据处理方法、装置、服务器、系统及存储介质 | |
US20230045153A1 (en) | Method and apparatus for displaying measurement parameters | |
CN113472565B (zh) | 服务器功能的扩容方法、装置、设备和计算机可读介质 | |
CN112968933B (zh) | 数据传输方法、装置、服务器及存储介质 | |
CN114328604B (zh) | 一种提高集群数据采集能力的方法、装置及介质 | |
CN114861105A (zh) | 一种数据显示方法、装置、设备及介质 | |
CN114416730A (zh) | 一种数据存储方法、系统、电子设备及计算机可读存储介质 | |
CN116386834A (zh) | 一种数据分享方法、装置、设备及介质 | |
CN114547142A (zh) | 数据处理方法、装置、设备及存储介质 |
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 |