CN106649451A - 数据更新方法及装置 - Google Patents
数据更新方法及装置 Download PDFInfo
- Publication number
- CN106649451A CN106649451A CN201610842935.3A CN201610842935A CN106649451A CN 106649451 A CN106649451 A CN 106649451A CN 201610842935 A CN201610842935 A CN 201610842935A CN 106649451 A CN106649451 A CN 106649451A
- Authority
- CN
- China
- Prior art keywords
- data
- target data
- predetermined
- key
- file form
- 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
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/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1847—File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
-
- 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/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种数据更新方法及装置。所述方法包括:根据预定文件格式对待更新的数据进行组帧,获得符合所述预定文件格式的目标数据,所述待更新的数据为包括键key和值value的键值对数据;将所述目标数据传输至所述服务器端的预定存储器;当接收到请求读取符合所述预定文件格式的数据的读取请求时,根据所述读取请求中的所述预定文件格式在所述预定存储器中查找并匹配到所述目标数据;从所述预定存储器中读取所述目标数据,并将读取到的所述目标数据更新至所述服务器端的预定数据库中。该技术方案使得数据更新过程不再占用网络带宽,同时也减少了客户端和服务器端的交互,大大提高了数据更新的效率。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据更新方法及装置。
背景技术
现有技术中,对于键值对(key-value)数据的更新通常采用循环往复的多次查询和插入来完成,而查询和插入操作都是通过网络接口来实现的。具体的,客户端通过网络接口将键值对数据的键和值发送给服务进程,以使服务进程利用数据的键和值查询数据,进而将查询到的数据插入相应的数据库中。可见,这种更新方法中,服务进程通过网络接口查询数据使得数据的更新过程受限于网络带宽和处理速度,导致将数据插入数据库时耗费网络带宽,更新效率偏低。
此外,由于一个文件通常由许多个数据组成,若采用上述方法进行数据的更新,则需要每条数据都执行一遍查询和插入操作,即将文件中的所有数据一条一条的进行更新,这就导致客户端和服务器间需进行多次交互才能完成所有数据的更新,进而影响数据更新的处理速度。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据更新方法及装置。
依据本发明的一个方面,提供了一种数据更新方法,应用于服务器端,所述方法包括:
根据预定文件格式对待更新的数据进行组帧,获得符合所述预定文件格式的目标数据,所述待更新的数据为包括键key和值value的键值对数据;
将所述目标数据传输至所述服务器端的预定存储器;
当接收到请求读取符合所述预定文件格式的数据的读取请求时,根据所述读取请求中的所述预定文件格式在所述预定存储器中查找并匹配到所述目标数据;
从所述预定存储器中读取所述目标数据,并将读取到的所述目标数据更新至所述服务器端的预定数据库中。
可选地,所述预定文件格式为二进制格式、十进制格式或十六进制格式。
可选地,所述符合所述预定文件格式的目标数据包括以下至少一项内容:
所述键key的长度信息;
所述键key的内容;
所述值value的长度信息;
所述值value的内容。
可选地,所述根据预定文件格式对待更新的数据进行组帧,包括:
对所述待更新的数据的帧长按预定规则进行分区,其中,各分区分别指代不同的数据信息。
可选地,所述分区包括:
头部head,用于标识所述目标数据的数据长度及所述目标数据的起始字节;
尾部tail,用于标识所述目标数据的结束字节;
数据区,用于记录所述目标数据的真实数据信息;
验证码区,用于记录所述目标数据的验证码。
可选地,所述预定存储器包括内存和/或固态硬盘。
可选地,从所述预定存储器中读取所述目标数据,并将读取到的所述目标数据更新至所述服务器端的预定数据库中,包括:
从所述预定存储器中读取一条目标数据;
将读取到的一条目标数据写入所述预定数据库;
继续从所述预定存储器中读取下一条目标数据并将其写入所述预定数据库,直至所述目标数据已全部被写入。
可选地,所述预定数据库包括非关系型数据库。
可选地,所述非关系型数据库为NoSQL数据库。
依据本发明的另一个方面,提供了一种数据更新装置,应用于服务器端,所述装置包括:
组帧模块,适于根据预定文件格式对待更新的数据进行组帧,获得符合所述预定文件格式的目标数据,所述待更新的数据为包括键key和值value的键值对数据;
传输模块,适于将所述目标数据传输至所述服务器端的预定存储器;
查找模块,适于当接收到请求读取符合所述预定文件格式的数据的读取请求时,根据所述读取请求中的所述预定文件格式在所述预定存储器中查找并匹配到所述目标数据;
更新模块,适于从所述预定存储器中读取所述目标数据,并将读取到的所述目标数据更新至所述服务器端的预定数据库中。
可选地,所述预定文件格式为二进制格式、十进制格式或十六进制格式。
可选地,所述符合所述预定文件格式的目标数据包括以下至少一项内容:
所述键key的长度信息;
所述键key的内容;
所述值value的长度信息;
所述值value的内容。
可选地,所述组帧模块还适于:
对所述待更新的数据的帧长按预定规则进行分区,其中,各分区分别指代不同的数据信息。
可选地,所述分区包括:
头部head,用于标识所述目标数据的数据长度及所述目标数据的起始字节;
尾部tail,用于标识所述目标数据的结束字节;
数据区,用于记录所述目标数据的真实数据信息;
验证码区,用于记录所述目标数据的验证码。
可选地,所述预定存储器包括内存和/或固态硬盘。
可选地,所述更新模块还适于:
从所述预定存储器中读取一条目标数据;
将读取到的一条目标数据写入所述预定数据库;
继续从所述预定存储器中读取下一条目标数据并将其写入所述预定数据库,直至所述目标数据已全部被写入。
可选地,所述预定数据库包括非关系型数据库。
可选地,所述非关系型数据库为NoSQL数据库。
采用本发明实施例提供的技术方案,能够首先根据预定文件格式对待更新的数据进行组帧,获得符合预定文件格式的目标数据,并将该目标数据传输至服务器端的预定存储器,使得待更新的数据能够在更新之前一次性传输至服务器端,从而使服务器在查询数据时无需再通过网络接口从客户端逐条查询数据,而只需从服务器本端查询即可,因此,通过将目标数据传输至服务器端的预定存储器使得数据更新过程不再占用网络带宽,同时也减少了客户端和服务器端的交互,大大提高了数据更新的效率。并且,将待更新的数据组帧成符合预定文件格式的目标数据,使得服务器查询数据时能够根据预定文件格式准确快速地查询到目标数据,而无需再利用键值对数据的键值逐条查询数据,提高了数据查询的速度,进一步提高数据更新的效率。此外,当服务器端接收到请求读取符合预定文件格式的数据的读取请求时,能够根据读取请求中的预定文件格式在预定存储器中查找并匹配到目标数据,进而从预定存储器中读取目标数据,并将读取到的目标数据更新至服务器端的预定数据库中,使得服务器读取数据时无需通过网络接口从客户端逐条查询数据,而只需根据预定文件格式从本端的预定存储器中读取目标数据即可,相当于从本端磁盘或内存中一次性批量读取所有目标数据,在很大程度上提高了数据读取和更新的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明一个实施例的一种数据更新方法的示意性流程图;
图2是根据本发明另一个实施例的一种数据更新方法的示意性流程图;
图3是根据本发明一个实施例的一种数据更新装置的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是根据本发明一个实施例的一种数据更新方法的示意性流程图。如图1所示,该方法应用于服务器端,一般性地可包括以下步骤S101-S104:
步骤S101,根据预定文件格式对待更新的数据进行组帧,获得符合预定文件格式的目标数据,待更新的数据为包括键key和值value的键值对数据即key-value数据。
步骤S102,将目标数据传输至服务器端的预定存储器。
步骤S103,当接收到请求读取符合预定文件格式的数据的读取请求时,根据读取请求中的预定文件格式在预定存储器中查找并匹配到目标数据。
步骤S104,从预定存储器中读取目标数据,并将读取到的目标数据更新至服务器端的预定数据库中。
采用本发明实施例提供的技术方案,能够首先根据预定文件格式对待更新的数据进行组帧,获得符合预定文件格式的目标数据,并将该目标数据传输至服务器端的预定存储器,使得待更新的数据能够在更新之前一次性传输至服务器端,从而使服务器在查询数据时无需再通过网络接口从客户端逐条查询数据,而只需从服务器本端查询即可,因此,通过将目标数据传输至服务器端的预定存储器使得数据更新过程不再占用网络带宽,同时也减少了客户端和服务器端的交互,大大提高了数据更新的效率。并且,将待更新的数据组帧成符合预定文件格式的目标数据,使得服务器查询数据时能够根据预定文件格式准确快速地查询到目标数据,而无需再利用键值对数据的键值逐条查询数据,提高了数据查询的速度,进一步提高数据更新的效率。此外,当服务器端接收到请求读取符合预定文件格式的数据的读取请求时,能够根据读取请求中的预定文件格式在预定存储器中查找并匹配到目标数据,进而从预定存储器中读取目标数据,并将读取到的目标数据更新至服务器端的预定数据库中,使得服务器读取数据时无需通过网络接口从客户端逐条查询数据,而只需根据预定文件格式从本端的预定存储器中读取目标数据即可,相当于从本端磁盘或内存中一次性批量读取所有目标数据,在很大程度上提高了数据读取和更新的效率。
首先执行步骤S101,即根据预定文件格式对待更新的数据进行组帧。其中,预定文件格式可以为二进制格式、十进制格式或十六进制格式等。符合预定文件格式的目标数据包括以下至少一项内容:键key的长度信息、键key的内容、值value的长度信息、值value的内容。举例而言,组帧后的每条目标数据都是一个二进制格式的数据块,且每个数据块由键key的长度信息、键key的内容、值value的长度信息以及值value的内容这四个部分组成。其中,第一部分占用2个字节,表明键key的长度;第二部分为键key的内容;第三部分占用4个字节,表明值value的长度;第四部分为值value的内容。
在一个实施例中,根据预设文件格式对待更新的数据进行组帧的步骤还可执行为如下方式:对待更新的数据的帧长按预定规则进行分区,其中,各分区分别指代不同的数据信息。预定规则根据预定文件格式的不同而有所不同,当预定文件格式为依次按照头部head、尾部tail、数据区以及验证码区组合的数据格式时,上述按照预定规则划分的各分区包括以下四部分内容:
(1)头部head,用于标识目标数据的数据长度及目标数据的起始字节;
(2)尾部tail,用于标识目标数据的结束字节;
(3)数据区,用于记录目标数据的真实数据信息;
(4)验证码区,用于记录目标数据的验证码。
需要说明的是,本实施例对分区中的四部分内容的顺序不作限定,即例如,预定文件格式还可以是依次按照头部head、数据区、验证码区以及尾部tail组合的数据格式。
该实施例中,服务器端查找目标数据时,可根据头部head中目标数据的起始字节、目标数据的数据长度以及尾部tail中目标数据的结束字节准确查找到当前目标数据在所有数据中的位置,然后利用数据区中目标数据的真实数据信息读取目标数据的内容。在一个实施例中,服务器还可利用验证码区的验证码对目标数据进行验证,以确保目标数据的正确性。
根据预定文件格式对待更新的数据进行组帧,获得符合预定文件格式的目标数据之后,继续执行步骤S102,即将目标数据传输至服务器端的预定存储器。其中,预定存储器包括内存和/或固态硬盘。因此,该步骤可执行为:将目标数据传输至服务器端的内存和/或固态硬盘。本实施例中,通过将目标数据一次性传输至服务器端的内存和/或固态硬盘中,使得服务器在查询数据时无需再通过网络接口从客户端逐条查询数据,而只需从服务器本端的内存和/或固态硬盘中查询即可,从而节省网络带宽,同时也减少了客户端和服务器端的交互,大大提高了数据更新的效率。
将目标数据传输至服务器端的预定存储器之后,继续执行步骤S103,即当服务器端接收到请求读取符合预定文件格式的数据的读取请求时,根据读取请求中的预定文件格式在预定存储器中查找并匹配到目标数据。这里所说的预定文件格式应与预先对数据进行组帧时所依据的预定文件格式一致,以确保服务器端能够准确查找到目标数据。本实施例中,服务器端无需通过网络接口从客户端逐条查找数据,而是直接从本端的预定存储器(包括内存和/或固态硬盘)中查找并匹配目标数据,相当于从本端磁盘或内存中一次性批量匹配所有目标数据,在很大程度上提高了数据读取和更新的效率。
服务器端在预定存储器中匹配到目标数据之后,继续执行步骤S104,即从预定存储器中读取目标数据,并将读取到的目标数据更新至服务器端的预定数据库中。具体的,该步骤可执行为如下方式:首先,从预定存储器中读取一条目标数据;其次,将读取到的一条目标数据写入预定数据库;然后,继续从预定存储器中读取下一条目标数据并将其写入预定数据库,直至目标数据已全部被写入。本实施例中,服务器端直接从预定存储器中读取目标数据,而并非通过网络接口从客户端逐条查找并读取数据,因此不仅能节省网络带宽,且能减少服务器端和客户端的交互,从而提高数据更新的效率。
上述任一实施例中,预定存储器包括非关系型数据库。优选地,非关系型数据库可以是NoSQL数据库。
图2是根据本发明一个具体实施例的一种数据更新方法的示意性流程图。在该实施例中,数据更新方法应用于服务器端的NoSQL数据库中数据的更新。如图2所示,该方法可包括以下步骤S201-S205:
步骤S201,根据预定文件格式对待更新的key-value数据进行组帧,获得符合预定文件格式的目标数据。其中,预定文件格式可以为二进制格式、十进制格式或十六进制格式等。符合预定文件格式的目标数据包括以下至少一项内容:键key的长度信息、键key的内容、值value的长度信息、值value的内容。例如,组帧后的每条目标数据都是一个二进制格式的数据块,且每个数据块由键key的长度信息、键key的内容、值value的长度信息以及值value的内容这四个部分组成。其中,第一部分占用2个字节,表明键key的长度;第二部分为键key的内容;第三部分占用4个字节,表明值value的长度;第四部分为值value的内容。
步骤S202,将目标数据传输至服务器端的固态硬盘中。在另一实施例中,还可将目标数据传输至服务器端的内存中。
步骤S203,当接收到请求读取符合预定文件格式的数据的读取请求时,根据读取请求中的预定文件格式在固态硬盘中查找并匹配到目标数据。在另一实施例中,若将目标数据传输至服务器端的内存中,则执行该步骤时,应根据读取请求中的预定文件格式在内存中查找并匹配到目标数据。
步骤S204,从固态硬盘中读取一条匹配到的目标数据,并将读取到的该条目标数据写入服务器端的NoSQL数据库。
步骤S205,判断固态硬盘中是否存在未被读取的目标数据。如果固态硬盘中存在未被读取的目标数据,则返回步骤S204继续读取匹配到的目标数据并写入;如果固态硬盘中不存在未被读取的目标数据,说明所有的目标数据已被全部写入NoSQL数据库,则程序结束。
由此看见,该实施例能够首先根据预定文件格式对待更新的数据进行组帧,获得符合预定文件格式的目标数据,并将该目标数据传输至服务器端的固态硬盘,使得待更新的数据能够在更新之前一次性传输至服务器端,从而使服务器在查询数据时无需再通过网络接口从客户端逐条查询数据,而只需从本端的固态硬盘查询即可,因此,通过将目标数据传输至服务器端的固态硬盘使得数据更新过程不再占用网络带宽,同时也减少了客户端和服务器端的交互,大大提高了数据更新的效率。并且,将待更新的数据组帧成符合预定文件格式的目标数据,使得服务器查询数据时能够根据预定文件格式准确快速地查询到目标数据,而无需再利用键值对数据的键值逐条查询数据,提高了数据查询的速度,进一步提高数据更新的效率。此外,当服务器端接收到请求读取符合预定文件格式的数据的读取请求时,能够根据读取请求中的预定文件格式在本端的固态硬盘中查找并匹配到目标数据,进而从固态硬盘中读取目标数据,并将读取到的目标数据更新至服务器端的NoSQL数据库,使得服务器读取数据时无需通过网络接口从客户端逐条查询数据,而只需根据预定文件格式从本端的固态硬盘中读取目标数据即可,在很大程度上提高了数据读取和更新的效率。
以下通过一具体实施例来说明本发明提供的数据更新方法。
具体实施例一
在具体实施例一中,一个文件中包括三个待更新的数据,当然,实际应用中,文件中的数据量往往很大,为方便说明,本实施例中采用较少的数据量来列举待更新的数据。
首先,将文件中的三个待更新的数据按照预定文件格式进行组帧,获得符合预定文件格式的目标数据。本实施例中,预定文件格式为依次按照头部head、数据区、尾部tail以及验证码区组合的数据格式。其中,头部head用于标识目标数据的数据长度及目标数据的起始字节;数据区用于记录目标数据的真实数据信息;尾部tail用于标识目标数据的结束字节;验证码区用于记录目标数据的验证码。假设对上述三个待更新的数据进行组帧后分别获得以下三个目标数据:{1e,010F00EA001,0h,01;1e,010F00EA002,0h,02;1e,010F00EA003,0h,03}。其中,以分号“;”来分隔各目标数据,“le”为目标数据的起始字节,“010F00EA001”、“010F00EA002”或“010F00EA003”位为各目标数据的真实数据,“oh”为目标数据的结束字节,“01”、“02”、“03”为各目标数据的验证码。
其次,将目标数据{1e,010F00EA001,0h,01;1e,010F00EA002,0h,02;1e,010F00EA003,0h,03}存储至服务器端的内存或固态硬盘中。
然后,当接收到请求读取符合上述预定文件格式的数据的读取请求(即接收到请求读取按照头部head、数据区、尾部tail以及验证码区组合的数据的读取请求)时,根据该预定文件格式在服务器端的内存或固态硬盘中查找并匹配到目标数据。本实施例中,服务器从内存或固态硬盘中查找目标数据{1e,010F00EA001,0h,01;1e,010F00EA002,0h,02;1e,010F00EA003,0h,03}时,根据预定文件格式可准确的查找到各起始字节“le”和结束字节“oh”,并从各起始字节“le”和结束字节“oh”之间获取到各目标数据的真实数据。必要时,可从结束字节“oh”之后获取验证码对目标数据进行验证,例如,当需要对第一个目标数据“1e,010F00EA001,0h,01”进行验证时,从第一个目标数据的结束字节“oh”之后获取验证码“01”;当需要对第二个目标数据“1e,010F00EA002,0h,02”进行验证时,从第二个目标数据的结束字节“oh”之后获取验证码“02”;当需要对第三个目标数据“1e,010F00EA003,0h,03”进行验证时,从第三个目标数据的结束字节“oh”之后获取验证码“03”。
最后,从内存或固态硬盘中读取匹配到的目标数据,并将读取到的目标数据更新至服务器端的预定数据库中。
由具体实施例一可看出,在进行数据更新时,服务器端无需再通过网络接口从客户端逐条查询数据,而只需从本端的内存或固态硬盘中按照预定文件格式查找并匹配数据即可,从而减少了对网络带宽的占用,同时也减少了客户端和服务器端的交互,大大提高了数据更新的效率。
图3是根据本发明一个实施例的一种数据更新装置的示意性框图。如图3所示,该装置应用于服务器端,包括:
组帧模块310,适于根据预定文件格式对待更新的数据进行组帧,获得符合预定文件格式的目标数据,待更新的数据为包括键key和值value的键值对数据;
传输模块320,与组帧模块310相耦合,适于将目标数据传输至服务器端的预定存储器;
查找模块330,与传输模块320相耦合,适于当接收到请求读取符合预定文件格式的数据的读取请求时,根据读取请求中的预定文件格式在预定存储器中查找并匹配到目标数据;
更新模块340,与查找模块330相耦合,适于从预定存储器中读取目标数据,并将读取到的目标数据更新至服务器端的预定数据库中。
在一个实施例中,预定文件格式为二进制格式、十进制格式或十六进制格式。
在一个实施例中,符合预定文件格式的目标数据包括以下至少一项内容:
键key的长度信息;
键key的内容;
值value的长度信息;
值value的内容。
在一个实施例中,组帧模块310还适于:
对待更新的数据的帧长按预定规则进行分区,其中,各分区分别指代不同的数据信息。
在一个实施例中,分区包括:
头部head,用于标识目标数据的数据长度及目标数据的起始字节;
尾部tail,用于标识目标数据的结束字节;
数据区,用于记录目标数据的真实数据信息;
验证码区,用于记录目标数据的验证码。
可选地,预定存储器包括内存和/或固态硬盘。
在一个实施例中,更新模块340还适于:
从预定存储器中读取一条目标数据;
将读取到的一条目标数据写入预定数据库;
继续从预定存储器中读取下一条目标数据并将其写入预定数据库,直至目标数据已全部被写入。
在一个实施例中,预定数据库包括非关系型数据库。
在一个实施例中,非关系型数据库为NoSQL数据库。
采用本发明实施例提供的装置,能够首先根据预定文件格式对待更新的数据进行组帧,获得符合预定文件格式的目标数据,并将该目标数据传输至服务器端的预定存储器,使得待更新的数据能够在更新之前一次性传输至服务器端,从而使服务器在查询数据时无需再通过网络接口从客户端逐条查询数据,而只需从服务器本端查询即可,因此,通过将目标数据传输至服务器端的预定存储器使得数据更新过程不再占用网络带宽,同时也减少了客户端和服务器端的交互,大大提高了数据更新的效率。并且,将待更新的数据组帧成符合预定文件格式的目标数据,使得服务器查询数据时能够根据预定文件格式准确快速地查询到目标数据,而无需再利用键值对数据的键值逐条查询数据,提高了数据查询的速度,进一步提高数据更新的效率。此外,当服务器端接收到请求读取符合预定文件格式的数据的读取请求时,能够根据读取请求中的预定文件格式在预定存储器中查找并匹配到目标数据,进而从预定存储器中读取目标数据,并将读取到的目标数据更新至服务器端的预定数据库中,使得服务器读取数据时无需通过网络接口从客户端逐条查询数据,而只需根据预定文件格式从本端的预定存储器中读取目标数据即可,相当于从本端磁盘或内存中一次性批量读取所有目标数据,在很大程度上提高了数据读取和更新的效率。
本领域的技术人员应可理解,图3中的数据更新装置能够用来实现前文所述的数据更新方案,其中的细节描述应与前文方法部分描述类似,为避免繁琐,此处不另赘述。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据更新装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
本发明实施例公开了A1.一种数据更新方法,应用于服务器端,所述方法包括:
根据预定文件格式对待更新的数据进行组帧,获得符合所述预定文件格式的目标数据,所述待更新的数据为包括键key和值value的键值对数据;
将所述目标数据传输至所述服务器端的预定存储器;
当接收到请求读取符合所述预定文件格式的数据的读取请求时,根据所述读取请求中的所述预定文件格式在所述预定存储器中查找并匹配到所述目标数据;
从所述预定存储器中读取所述目标数据,并将读取到的所述目标数据更新至所述服务器端的预定数据库中。
A2.根据A1所述的方法,其中,所述预定文件格式为二进制格式、十进制格式或十六进制格式。
A3.根据A1或A2所述的方法,其中,所述符合所述预定文件格式的目标数据包括以下至少一项内容:
所述键key的长度信息;
所述键key的内容;
所述值value的长度信息;
所述值value的内容。
A4.根据A1-A3中任一项所述的方法,其中,所述根据预定文件格式对待更新的数据进行组帧,包括:
对所述待更新的数据的帧长按预定规则进行分区,其中,各分区分别指代不同的数据信息。
A5.根据A4所述的方法,其中,所述分区包括:
头部head,用于标识所述目标数据的数据长度及所述目标数据的起始字节;
尾部tail,用于标识所述目标数据的结束字节;
数据区,用于记录所述目标数据的真实数据信息;
验证码区,用于记录所述目标数据的验证码。
A6.根据A1-A5中任一项所述的方法,其中,所述预定存储器包括内存和/或固态硬盘。
A7.根据A1-A6中任一项所述的方法,其中,从所述预定存储器中读取所述目标数据,并将读取到的所述目标数据更新至所述服务器端的预定数据库中,包括:
从所述预定存储器中读取一条目标数据;
将读取到的一条目标数据写入所述预定数据库;
继续从所述预定存储器中读取下一条目标数据并将其写入所述预定数据库,直至所述目标数据已全部被写入。
A8.根据A1-A7中任一项所述的方法,其中,所述预定数据库包括非关系型数据库。
A9.根据A8所述的方法,其中,所述非关系型数据库为NoSQL数据库。
本发明实施例还公开了B10.一种数据更新装置,应用于服务器端,所述装置包括:
组帧模块,适于根据预定文件格式对待更新的数据进行组帧,获得符合所述预定文件格式的目标数据,所述待更新的数据为包括键key和值value的键值对数据;
传输模块,适于将所述目标数据传输至所述服务器端的预定存储器;
查找模块,适于当接收到请求读取符合所述预定文件格式的数据的读取请求时,根据所述读取请求中的所述预定文件格式在所述预定存储器中查找并匹配到所述目标数据;
更新模块,适于从所述预定存储器中读取所述目标数据,并将读取到的所述目标数据更新至所述服务器端的预定数据库中。
B11.根据B10所述的装置,其中,所述预定文件格式为二进制格式、十进制格式或十六进制格式。
B12.根据B10或B11所述的装置,其中,所述符合所述预定文件格式的目标数据包括以下至少一项内容:
所述键key的长度信息;
所述键key的内容;
所述值value的长度信息;
所述值value的内容。
B13.根据B10-B12中任一项所述的装置,其中,所述组帧模块还适于:
对所述待更新的数据的帧长按预定规则进行分区,其中,各分区分别指代不同的数据信息。
B14.根据B13所述的装置,其中,所述分区包括:
头部head,用于标识所述目标数据的数据长度及所述目标数据的起始字节;
尾部tail,用于标识所述目标数据的结束字节;
数据区,用于记录所述目标数据的真实数据信息;
验证码区,用于记录所述目标数据的验证码。
B15.根据B10-B14中任一项所述的装置,其中,所述预定存储器包括内存和/或固态硬盘。
B16.根据B10-B15中任一项所述的装置,其中,所述更新模块还适于:
从所述预定存储器中读取一条目标数据;
将读取到的一条目标数据写入所述预定数据库;
继续从所述预定存储器中读取下一条目标数据并将其写入所述预定数据库,直至所述目标数据已全部被写入。
B17.根据B10-B16中任一项所述的装置,其中,所述预定数据库包括非关系型数据库。
B18.根据B17所述的装置,其中,所述非关系型数据库为NoSQL数据库。
Claims (10)
1.一种数据更新方法,应用于服务器端,所述方法包括:
根据预定文件格式对待更新的数据进行组帧,获得符合所述预定文件格式的目标数据,所述待更新的数据为包括键key和值value的键值对数据;
将所述目标数据传输至所述服务器端的预定存储器;
当接收到请求读取符合所述预定文件格式的数据的读取请求时,根据所述读取请求中的所述预定文件格式在所述预定存储器中查找并匹配到所述目标数据;
从所述预定存储器中读取所述目标数据,并将读取到的所述目标数据更新至所述服务器端的预定数据库中。
2.根据权利要求1所述的方法,其中,所述预定文件格式为二进制格式、十进制格式或十六进制格式。
3.根据权利要求1或2所述的方法,其中,所述符合所述预定文件格式的目标数据包括以下至少一项内容:
所述键key的长度信息;
所述键key的内容;
所述值value的长度信息;
所述值value的内容。
4.根据权利要求1-3中任一项所述的方法,其中,所述根据预定文件格式对待更新的数据进行组帧,包括:
对所述待更新的数据的帧长按预定规则进行分区,其中,各分区分别指代不同的数据信息。
5.根据权利要求4所述的方法,其中,所述分区包括:
头部head,用于标识所述目标数据的数据长度及所述目标数据的起始字节;
尾部tail,用于标识所述目标数据的结束字节;
数据区,用于记录所述目标数据的真实数据信息;
验证码区,用于记录所述目标数据的验证码。
6.根据权利要求1-5中任一项所述的方法,其中,所述预定存储器包括内存和/或固态硬盘。
7.根据权利要求1-6中任一项所述的方法,其中,从所述预定存储器中读取所述目标数据,并将读取到的所述目标数据更新至所述服务器端的预定数据库中,包括:
从所述预定存储器中读取一条目标数据;
将读取到的一条目标数据写入所述预定数据库;
继续从所述预定存储器中读取下一条目标数据并将其写入所述预定数据库,直至所述目标数据已全部被写入。
8.根据权利要求1-7中任一项所述的方法,其中,所述预定数据库包括非关系型数据库。
9.根据权利要求8所述的方法,其中,所述非关系型数据库为NoSQL数据库。
10.一种数据更新装置,应用于服务器端,所述装置包括:
组帧模块,适于根据预定文件格式对待更新的数据进行组帧,获得符合所述预定文件格式的目标数据,所述待更新的数据为包括键key和值value的键值对数据;
传输模块,适于将所述目标数据传输至所述服务器端的预定存储器;
查找模块,适于当接收到请求读取符合所述预定文件格式的数据的读取请求时,根据所述读取请求中的所述预定文件格式在所述预定存储器中查找并匹配到所述目标数据;
更新模块,适于从所述预定存储器中读取所述目标数据,并将读取到的所述目标数据更新至所述服务器端的预定数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610842935.3A CN106649451A (zh) | 2016-09-22 | 2016-09-22 | 数据更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610842935.3A CN106649451A (zh) | 2016-09-22 | 2016-09-22 | 数据更新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106649451A true CN106649451A (zh) | 2017-05-10 |
Family
ID=58852189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610842935.3A Pending CN106649451A (zh) | 2016-09-22 | 2016-09-22 | 数据更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649451A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463512A (zh) * | 2017-06-26 | 2017-12-12 | 上海高顿教育培训有限公司 | 分布式高速存储系统的数据更新方法 |
CN107608879A (zh) * | 2017-08-24 | 2018-01-19 | 北京珠穆朗玛移动通信有限公司 | 一种故障检测方法、装置和存储介质 |
CN110851136A (zh) * | 2019-09-18 | 2020-02-28 | 平安科技(深圳)有限公司 | 数据获取方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799832A (zh) * | 2010-03-31 | 2010-08-11 | 山东高效能服务器和存储研究院 | 巨量数据一次性快速写入数据库的方法 |
CN102117338A (zh) * | 2011-04-02 | 2011-07-06 | 天脉聚源(北京)传媒科技有限公司 | 一种数据库缓存的方法 |
CN102426609A (zh) * | 2011-12-28 | 2012-04-25 | 厦门市美亚柏科信息股份有限公司 | 一种基于MapReduce编程架构的索引生成方法和装置 |
CN102567495A (zh) * | 2011-12-22 | 2012-07-11 | 国网信息通信有限公司 | 一种海量信息存储系统及实现方法 |
CN103327052A (zh) * | 2012-03-22 | 2013-09-25 | 深圳市腾讯计算机系统有限公司 | 数据存储方法和系统以及数据访问方法和系统 |
CN103731500A (zh) * | 2014-01-09 | 2014-04-16 | 西安电子科技大学 | 基于Bigtable存储系统的数据批量插入方法 |
CN105279241A (zh) * | 2015-09-29 | 2016-01-27 | 成都四象联创科技有限公司 | 基于云计算的大数据处理方法 |
CN105718561A (zh) * | 2016-01-20 | 2016-06-29 | 中国科学院计算技术研究所 | 一种特定分布式数据存储文件结构去冗余构造方法及系统 |
-
2016
- 2016-09-22 CN CN201610842935.3A patent/CN106649451A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799832A (zh) * | 2010-03-31 | 2010-08-11 | 山东高效能服务器和存储研究院 | 巨量数据一次性快速写入数据库的方法 |
CN102117338A (zh) * | 2011-04-02 | 2011-07-06 | 天脉聚源(北京)传媒科技有限公司 | 一种数据库缓存的方法 |
CN102567495A (zh) * | 2011-12-22 | 2012-07-11 | 国网信息通信有限公司 | 一种海量信息存储系统及实现方法 |
CN102426609A (zh) * | 2011-12-28 | 2012-04-25 | 厦门市美亚柏科信息股份有限公司 | 一种基于MapReduce编程架构的索引生成方法和装置 |
CN103327052A (zh) * | 2012-03-22 | 2013-09-25 | 深圳市腾讯计算机系统有限公司 | 数据存储方法和系统以及数据访问方法和系统 |
CN103731500A (zh) * | 2014-01-09 | 2014-04-16 | 西安电子科技大学 | 基于Bigtable存储系统的数据批量插入方法 |
CN105279241A (zh) * | 2015-09-29 | 2016-01-27 | 成都四象联创科技有限公司 | 基于云计算的大数据处理方法 |
CN105718561A (zh) * | 2016-01-20 | 2016-06-29 | 中国科学院计算技术研究所 | 一种特定分布式数据存储文件结构去冗余构造方法及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463512A (zh) * | 2017-06-26 | 2017-12-12 | 上海高顿教育培训有限公司 | 分布式高速存储系统的数据更新方法 |
CN107463512B (zh) * | 2017-06-26 | 2020-11-13 | 上海高顿教育培训有限公司 | 分布式高速存储系统的数据更新方法 |
CN107608879A (zh) * | 2017-08-24 | 2018-01-19 | 北京珠穆朗玛移动通信有限公司 | 一种故障检测方法、装置和存储介质 |
CN107608879B (zh) * | 2017-08-24 | 2020-08-21 | 北京珠穆朗玛移动通信有限公司 | 一种故障检测方法、装置和存储介质 |
CN110851136A (zh) * | 2019-09-18 | 2020-02-28 | 平安科技(深圳)有限公司 | 数据获取方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108090064A (zh) | 一种数据查询方法、装置、数据存储服务器及系统 | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
CN110401724B (zh) | 文件管理方法、文件传输协议服务器及存储介质 | |
US10838963B2 (en) | Optimized access for hierarchical low cardinality value synopsis in analytical databases | |
CN108614837B (zh) | 文件存储和检索的方法及装置 | |
CN105159985A (zh) | 基于redis集群的数据查询装置及方法 | |
US10095720B2 (en) | Database table index | |
CN104104717A (zh) | 投放渠道数据统计方法及装置 | |
CN108228799B (zh) | 对象索引信息的存储方法及装置 | |
CN106649451A (zh) | 数据更新方法及装置 | |
CN104618444A (zh) | 一种基于反向代理服务器处理请求的方法和装置 | |
US11221775B1 (en) | System and method for storing a database on flash memory or other degradable storage | |
CN110287201A (zh) | 数据访问方法、装置、设备及存储介质 | |
CN105653209A (zh) | 一种对象存储数据传输方法及装置 | |
CN111950025A (zh) | 一种基于区块链智能合约的文件分布式存储方法 | |
CN108833584A (zh) | 消息推送方法、终端、服务器及计算机存储介质 | |
CN108154024A (zh) | 一种数据检索方法、装置及电子设备 | |
CN105706136A (zh) | 基于大数据的电商平台分析方法及系统 | |
CN109271193B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN108989484A (zh) | 一种域名系统dns日志的压缩存储方法及装置 | |
CN105677579A (zh) | 缓存系统中的数据访问方法和系统 | |
CN109617708B (zh) | 一种埋点日志的压缩方法、设备及系统 | |
CN110807000A (zh) | 一种文件修复方法、装置、电子设备和存储介质 | |
CN107977381B (zh) | 数据配置方法、索引管理方法、相关装置以及计算设备 | |
CN108008984A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |