CN113704274B - 一种数据的读取方法及电子设备 - Google Patents
一种数据的读取方法及电子设备 Download PDFInfo
- Publication number
- CN113704274B CN113704274B CN202010429746.XA CN202010429746A CN113704274B CN 113704274 B CN113704274 B CN 113704274B CN 202010429746 A CN202010429746 A CN 202010429746A CN 113704274 B CN113704274 B CN 113704274B
- Authority
- CN
- China
- Prior art keywords
- server
- data
- merging
- baseline data
- target file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000015654 memory Effects 0.000 claims abstract description 115
- 230000004048 modification Effects 0.000 claims description 42
- 238000012986 modification Methods 0.000 claims description 42
- 230000008859 change Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000008676 import Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/23—Updating
- G06F16/235—Update request formulation
-
- 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
- G06F16/2379—Updates performed during online database operations; commit 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据的读取方法及电子设备,用于解决现有技术中共享内存服务器在实时更新数据时,客户端无法读取数据的问题。该方法包括:当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,所述更新服务器基于所述增量更新数据生成目标文件;所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据;配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据。
Description
技术领域
本发明涉及移动通信技术领域,尤其涉及一种数据的读取方法及电子设备。
背景技术
目前,业务运营支撑***(Business&Operation Support System,BOSS)采用单机加载数据库资料表的方式来实现共享内存,即共享内存服务器中的主机通过读方式访问数据库,并将数据库中的数据存储到共享内存服务器的主机的共享内存块中,以供共享内存服务器的主机上的所有应用程序访问,从而提高共享内存服务器主机的应用程序的数据访问效率。
随着分布式***的广泛应用,电脑服务器主机将逐渐取代小型计算机。在分布式***中,每一台主机上都要部署一个共享内存服务端程序,该共享内存服务端程序需要直接与数据库进行交互,以将数据库中的数据加载到共享内存服务器中。
然而,现有的共享内存服务器在实时更新数据时,会锁住所有客户端的访问进程,禁止客户端程序访问共享内存服务器,以便于共享内存服务器更新数据。在这段时间内,所有客户端无法处理任何任务,大大降低了客户端的处理效率。并且,在对实时性要求极高的场景下,这种长时间的客户端阻塞将会引起大量消息超时。
发明内容
本发明实施例提供一种数据的读取方法及电子设备,以解决现有技术中共享内存服务器在实时更新数据时,客户端无法读取数据的问题。
为了解决上述技术问题,本发明是这样实现的:第一方面,本发明实施例提供了一种数据的读取方法,包括:
当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,所述更新服务器基于所述增量更新数据生成目标文件;
所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据;
配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据。
第二方面,本发明实施例还提供一种数据的读取装置,包括:
生成单元,用于当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,所述更新服务器基于所述增量更新数据生成目标文件;
更新单元,用于所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据;
发送单元,用于配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据。
第三方面,本发明实施例还提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,所述更新服务器基于所述增量更新数据生成目标文件;
所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据;
配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,所述更新服务器基于所述增量更新数据生成目标文件;
所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据;
配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据。
采用本发明提供的数据的读取方法,能够首先,更新服务器中的增量更新数据的数据量大于或等于预设阈值时,更新服务器基于增量更新数据生成目标文件;然后,更新服务器向合并服务器发送合并通知,使得合并服务器基于合并通知和目标文件,更新存储在堆外内存中的指定基线数据;最后,配置服务器响应于客户端发送的针对指定基线数据的读取请求,向客户端发送指定基线数据。这样,无论合并服务器有没有完成对指定基线数据的更新,配置服务器都可以向客户端发送最新版本的指定基线数据,从而即提高了更新服务器、合并服务器和配置服务器的性能和效率,并通过及时处理客户端的请求,使得客户端的性能和效率也大大提高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据的读取方法的实现流程示意图;
图2为本发明实施例提供的数据的读取方法中一种共享内存集群的示意图;
图3为本发明实施例提供的数据的读取方法中向客户端发送指定基线数据的示意图;
图4为本发明实施例提供的一种数据的读取装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明各实施例提供的技术方案。
为解决现有技术中共享内存服务器在实时更新数据时,客户端无法读取数据的问题,本发明提供一种数据的读取方法,该方法的执行主体,可以但不限于能够被配置为执行本发明实施例提供的该方法用户终端中的至少一种。
为便于描述,下文以该方法的执行主体为能够执行该方法的电子设备为例,对该方法的实施方式进行介绍。可以理解,该方法的执行主体为电子设备只是一种示例性的说明,并不应理解为对该方法的限定。
具体地,本发明提供的数据的读取方法包括:首先,当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,更新服务器基于增量更新数据生成目标文件;然后,更新服务器向合并服务器发送合并通知,使得合并服务器基于合并通知和目标文件,更新存储在堆外内存中的指定基线数据;最后,配置服务器响应于客户端发送的针对指定基线数据的读取请求,向客户端发送指定基线数据。这样,无论合并服务器有没有完成对指定基线数据的更新,配置服务器都可以向客户端发送最新版本的指定基线数据,从而即提高了更新服务器。合并服务器和配置服务器的性能和效率,并通过及时处理客户端的请求,使得客户端的性能和效率也大大提高。
下面结合图1所示的数据的读取方法的实现流程示意图,对该方法的实施过程进行详细介绍,包括:
步骤101,当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,更新服务器基于增量更新数据生成目标文件;
应理解,在更新数据时,现有的共享内存服务器采用库级锁的方式,禁止响应客户端程序的所有读取请求。在共享服务器更新数据时,所有的客户端都无法处理与共享内存服务器有关的业务,这大大降低了客户端应用程序的处理性能。
在一种处理在线计费任务的场景中,为了保证客户端应用程序的处理性能,共享内存服务器可在200ms内对客户端发出的请求做出响应,否则就认为处理超时。在这种对实时性要求极高的场景下,长时间的客户端读取请求不被处理,将会引起大量请求和消息的超时。
此外,随着分布式***中主机数量的增加,每台主机上部署的共享内存服务器都需要能够与数据库进行交互,这将会占用大量的数据库资源,频繁的访问将会导致数据库性能的下降,从而影响共享内存数据库的整体性能。尤其在共享内存服务器中的数据重载或批量重启的任务进行中时,数据库主机上的中央处理器资源、以及输入输出资源往往被充分利用。因此,在上述情况中,数据库主机、共享内存服务器主机或客户端经常会出现漏洞,大大阻碍了进程的顺利运行。
因此,本发明实施例提供的方法能够实现,在数据更新的过程中,共享内存服务器依然能够响应客户端发出的读取请求,从而提高共享内存服务器处理任务的效率。
可选地,如图2所示,为本发明实施例提供的数据的读取方法中一种共享内存集群的示意图。图2中,一个共享内存***中的一个共享内存集群可包括一个主更新服务器、一个备更新服务器、一个主配置服务器、一个备配置服务器、以及多个合并服务器。
其中,更新服务器可用于存储记录的针对基线数据的修改操作等,即针对基线数据的增量更新数据;配置服务器可用于集中管理该共享内存集群中的其他服务器;合并服务器可用于基于增量更新数据,更新基线数据,且每个合并服务器对应的堆外内存中可均存储一份完整的基线数据,从而保证客户端在访问共享内存***时,不会由于合并服务器的繁忙而耽误客户端的进程。
此外,为了节约主机资源,可将一个更新服务器和一个配置服务器部署在同一台主机上,并且,主更新服务器和备更新服务器之间、以及主配置服务器和备配置服务器之间可以设置不同的模式。
可选地,在实际应用中,为了能够及时满足客户端的读取请求,可在一个共享内存***中部署多个上述结构的共享内存集群。每个共享内存集群可由各自的配置服务器负责该集群中的管理操作。
正常情况下,共享内存集群可只为对应的客户端服务,若出现意想不到的情况时,共享内存集群也可为非指定的其他客户端服务。若想保证每个共享内存集群服务好对应的客户端,可只使得共享内存集群为其他客户端处理离线读取请求,从而保证共享内存集群在帮助其他集群工作的情况下,能够优先服务自己集群对应的客户端。
可选地,可设置合适的预设阈值,以使得当更新服务器中记录的增量更新数据的数据量、大于或等于预设阈值时,更新服务器、合并服务器和配置服务器能够配合完成数据的更新,从而实现满足条件就实时更新数据的操作。
步骤102,更新服务器向合并服务器发送合并通知,使得合并服务器基于合并通知和目标文件,更新存储在堆外内存中的指定基线数据;
应理解,有时客户端请求读取的数据量可能会很大,这就要求共享内存***的读取性能较高,比如共享内存***的读取平均时延要达到几微妙。因此,为了提高共享内存***的读取性能,本发明实施例提供的方法可将基线数据存储在例如堆外内存等的本地,即存储在更新服务器、合并服务器和配置服务器以外的存储堆中。而使用磁盘的输入输出或远程过程调用(Remote Procedure Call,RPC)方式都不能满足较高的读取性能要求。
此外,为了使得更新服务器、合并服务器和配置服务器能够访问到堆外内存中的数据,可在合并服务器中建立与基线数据相对应的虚拟内存空间,使得多个合并服务器能够访问同一个堆外内存中的数据,而不是使用各自的堆内内存存储数据。这样,合并服务器不需要通过传统的进程间通信Inter-Process Communication,IPC)、或RPC的方式进行数据传输,从而大大提升了数据的访问性能,也大大提高了内存的利用率。
合并服务器中可存储基线数据对应的内存映射文件,这样,合并服务器可不需要读取基线数据本体,就能实现对基线数据的修改。
可选地,配置服务器可集中管理共享内存***中的其他服务器,并根据需求向指定服务器发送通知,使得指定服务器完成要求的处理任务,因此,在需要通知合并服务器更新基线数据时,更新服务器可先向配置服务器发送表示数据版本发生变化的数据变更通知,然后,再由根据需求,确定需要执行更新基线数据任务的合并服务器,冰箱这些合并服务器发送表示可更新基线数据的合并通知。
具体地,在本发明实施例提供的方法中,更新服务器向合并服务器发送合并通知,使得合并服务器基于合并通知和目标文件,更新存储在堆外内存中的指定基线数据,包括:
更新服务器向配置服务器发送数据变更通知,以通知配置服务器基线数据的数据版本发生变更;
配置服务器响应于数据变更通知,向合并服务器发送合并通知,使得合并服务器基于合并通知和目标文件,更新指定基线数据。
可选地,为了能够获取到目标文件中的修改操作,并基于这些修改操作更新基线数据,合并服务器可从更新服务器获取目标文件、以及能够索引各条修改操作的第一子表。
具体地,在本发明实施例提供的方法中,合并服务器基于合并通知和目标文件,更新存储在堆外内存中的指定基线数据,包括:
合并服务器基于合并通知,从更新服务器获取目标文件、以及与目标文件相对应的第一子表,并将目标文件存储在堆外内存中,该第一子表中包含有与目标文件中的至少一个修改操作相对应的索引信息;
合并服务器基于合并通知、目标文件和第一子表,更新指定基线数据。
可选地,合并服务器可基于第一子表中的索引信息,逐条获取目标文件中的指定修改操作,并基于第二子表中的索引信息,确定指定基线数据中需要修改的数据的具***置;然后,合并服务器可基于指定修改操作和确定的需要修改的数据位置,对应修改数据。
具体地,在本发明实施例提供的方法中,合并服务器基于合并通知、目标文件和第一子表,更新指定基线数据,包括:
合并服务器基于合并通知、以及第一子表中的与目标文件中的至少一个修改操作相对应的索引信息,从至少一个修改操作中获取至少一个指定修改操作;
合并服务器基于至少一个指定修改操作、以及包含指示指定基线数据的位置索引信息的第二子表,更新指定基线数据。
具体地,目标文件中可存储如对指定基线数据的指定位置添加或删除数据的修改操作,因此,合并服务器可基于读取到的修改操作,对指定基线数据进行相应的修改,从而达到更新指定基线数据的目的。
可选地,在指定基线数据得到更新之后,第二子表与更新后的指定基线数据可能会不对应,因此,合并服务器可生成包含指示更新后的指定基线数据的位置索引信息的第三子表。
具体地,在合并服务器基于合并通知、目标文件和第一子表,更新指定基线数据之后,本发明实施例提供的方法还包括:
合并服务器生成第三子表,第三子表包含指示更新后的指定基线数据的位置索引信息。
可选地,为了能够使得配置服务器记录并保存基线数据的版本信息,从而确定基线数据是否被实时更新,在完成更新指定基线数据之后,合并服务器可想配置服务器发送更新完成通知。
具体地,本发明实施例提供的方法还包括:
合并服务器向配置服务器发送更新完成通知,更新完成通知包括完成更新的指定基线数据的路由信息、以及完成更新的指定基线数据的数据版本信息;
配置服务器基于完成更新的指定基线数据的路由信息,更新存储在配置服务器中的指定基线数据的索引信息,以及基于完成更新的指定基线数据的数据版本信息,更新配置服务器中指定基线数据的数据版本信息。
可选地,在一种实施例中,合并服务器可基于更新后的指定基线数据,生成新的文件。
具体地,可将堆外内存分为至少一个存储区域,存储有更新前的指定基线数据的文件、以及存储有更新后的指定基线数据的文件,可分别在不同的存储区域中。因此,在合并服务器可基于更新后的指定基线数据,生成新的文件之后,存储有更新前的指定基线数据的文件可以不被立即删除,等到下一次更新指定基线数据,需要使用该文件所在的存储区域时,才被删除。
可选地,若增量更新数据的数据量过大,导致更新指定基线数据需要花费大量的时间,为了避免共享内存***过载,可将部分不需要立即执行的更新任务安排在共享内存***空闲的时间段。
具体地,与上述更新指定基线数据的方法相类似,可直接将目标文件存储在指定堆外内存中,但不立即基于目标文件更新指定基线数据。
可选地,由于共享内存***时常需要导入大批量的数据,更新服务器可直接与数据库进行交互,从数据库获取数据并生成文件,从而提高了共享内存***的数据导入性能。
具体地,首先,更新服务器可直接与数据库交互,从数据库中获取待导入数据,并基于待导入数据生成待导入文件,将待导入文件存储在网络磁盘中,等待导入;然后,更新服务器可向配置服务器发送导入通知,使得配置服务器向合并服务器发送拷贝通知;最后,合并服务器可基于拷贝通知,将待导入文件导入至指定堆外内存中作为基线数据,并向配置服务器发送导入完成通知,使得配置服务器更新基线数据的数据版本信息。
应理解,存储在更新服务器。合并服务器和配置服务器中的文件均可采用内存映射文件的形式,从而提高共享内存服务器的性能。
步骤103,配置服务器响应于客户端发送的针对指定基线数据的读取请求,向客户端发送指定基线数据。
可选地,在更新指定基线数据时,为了使得客户端能够读取到最新版本的指定基线数据,可将指定基线数据、以及指定基线数据对应的增量更新数据发送给客户端。
具体地,在本发明实施提供的方法中,配置服务器响应于客户端发送的针对指定基线数据的读取请求,向客户端发送指定基线数据,包括:
配置服务器响应于客户端发送的针对指定基线数据的读取请求,分别向更新服务器和合并服务器发送读取通知;
更新服务器基于读取通知将针对指定基线数据的增量更新数据发送给配置服务器;
合并服务器基于读取通知将指定基线数据发送给配置服务器;
配置服务器向客户端发送针对所指定基线数据的增量更新数据和指定基线数据。
可选地,若客户端在更新指定基线数据的操作完成之前,向共享内存***发送读取请求,则配置服务器可将新的增量更新数据、目标文件和指定基线数据发送给客户端。
如图3所示,为本发明实施例提供的数据的读取方法中向客户端发送指定基线数据的示意图。
具体的,如图3中,更新服务器基于配置服务器发送的读取通知,将第一子表和新的增量更新数据发送给配置服务器;并且,合并服务器基于配置服务器发送的读取通知,将第二子表发送给配置服务器;最后,配置服务器将该新的增量更新数据、该目标文件和该指定基线数据发送给客户端。
其中,指定基线数据是为完成更新的数据,新的增量更新数据是在目标文件生成之后,更新服务器记录针对未完成更新的指定基线数据的修改操作得到的。
可选地,若客户端在更新指定基线数据的操作完成之后,向共享内存***发送读取请求,则配置服务器可将新的增量更新数据和指定基线数据发送给客户端。
具体地,如图3中,更新服务器基于配置服务器发送的读取通知,将新的增量更新数据发送给配置服务器;并且,合并服务器基于配置服务器发送的读取通知,将第三子表发送给配置服务器;最后,配置服务器将该新的增量更新数据该指定基线数据发送给客户端。
其中,指定基线操作是基于目标文件更新后的数据,新的增量更新数据是在目标文件生成之后,更新服务器记录针对完成更新的指定基线数据的修改操作得到的。
采用本发明提供的数据的读取方法,能够首先,更新服务器中的增量更新数据的数据量大于或等于预设阈值时,更新服务器基于增量更新数据生成目标文件;然后,更新服务器向合并服务器发送合并通知,使得合并服务器基于合并通知和目标文件,更新存储在堆外内存中的指定基线数据;最后,配置服务器响应于客户端发送的针对指定基线数据的读取请求,向客户端发送指定基线数据。这样,无论合并服务器有没有完成对指定基线数据的更新,配置服务器都可以向客户端发送最新版本的指定基线数据,从而即提高了更新服务器、合并服务器和配置服务器的性能和效率,并通过及时处理客户端的请求,使得客户端的性能和效率也大大提高。
本发明实施例还提供一种数据的读取装置400,如图4所示,包括:
生成单元401,用于当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,所述更新服务器基于所述增量更新数据生成目标文件;
更新单元402,用于所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据;
发送单元403,用于配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据。
可选地,在一种实施方式中,所述更新单元402,用于:
所述更新服务器向所述配置服务器发送数据变更通知,以通知所述配置服务器所述基线数据的数据版本发生变更;
所述配置服务器响应于所述数据变更通知,向所述合并服务器发送所述合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新所述指定基线数据。
可选地,在一种实施方式中,所述更新单元402,用于:
所述合并服务器基于所述合并通知,从所述更新服务器获取所述目标文件、以及与所述目标文件相对应的第一子表,并将所述目标文件存储在堆外内存中,所述第一子表中包含有与所述目标文件中的至少一个修改操作相对应的索引信息;
所述合并服务器基于所述合并通知、所述目标文件和所述第一子表,更新所述指定基线数据。
可选地,在一种实施方式中,所述更新单元402,用于:
所述合并服务器基于所述合并通知、以及所述第一子表中的与所述目标文件中的至少一个修改操作相对应的索引信息,从所述至少一个修改操作中获取至少一个指定修改操作;
所述合并服务器基于所述至少一个指定修改操作、以及包含指示所述指定基线数据的位置索引信息的第二子表,更新所述指定基线数据。
可选地,在一种实施方式中,在所述合并服务器基于所述合并通知、所述目标文件和所述第一子表,更新所述指定基线数据之后,所述电子设备还包括:
第二生成单元404,用于所述合并服务器生成第三子表,所述第三子表包含指示更新后的所述指定基线数据的位置索引信息。
可选地,在一种实施方式中,所述电子设备还包括:
发送单元405,用于所述合并服务器向所述配置服务器发送更新完成通知,所述更新完成通知包括所述完成更新的指定基线数据的路由信息、以及所述完成更新的指定基线数据的数据版本信息;
第二更新单元406,用于所述配置服务器基于所述完成更新的指定基线数据的路由信息,更新存储在所述配置服务器中的指定基线数据的索引信息,以及基于所述完成更新的指定基线数据的数据版本信息,更新所述配置服务器中指定基线数据的数据版本信息。
可选地,在一种实施方式中,所述发送单元403,用于:
所述配置服务器响应于所述客户端发送的针对所述指定基线数据的读取请求,分别向所述更新服务器和所述合并服务器发送读取通知;
所述更新服务器基于所述读取通知将针对所述指定基线数据的增量更新数据发送给所述配置服务器;
所述合并服务器基于所述读取通知将所述指定基线数据发送给所述配置服务器;
所述配置服务器向所述客户端发送所述针对所述指定基线数据的增量更新数据和所述指定基线数据。
数据的读取装置400能够实现图1~图3的方法实施例的方法,具体可参考图1~图3所示实施例的数据的读取方法,不再赘述。
图5是本申请的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成生物特征认证识别检测装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,所述更新服务器基于所述增量更新数据生成目标文件;
所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据;
配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据。
上述如本申请图5所示实施例揭示的数据的读取装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1的方法,并实现数据的读取装置在图1所示实施例的功能,或者实现图2~图3所示实施例的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下操作:
当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,所述更新服务器基于所述增量更新数据生成目标文件;
所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据;
配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (7)
1.一种数据的读取方法,其特征在于,包括:
当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,所述更新服务器基于所述增量更新数据生成目标文件;
所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据;其中,所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据,包括:所述合并服务器基于所述合并通知,从所述更新服务器获取所述目标文件、以及与所述目标文件相对应的第一子表,并将所述目标文件存储在堆外内存中,所述第一子表中包含有与所述目标文件中的至少一个修改操作相对应的索引信息;所述合并服务器基于所述合并通知、以及所述第一子表中的与所述目标文件中的至少一个修改操作相对应的索引信息,从所述至少一个修改操作中获取至少一个指定修改操作;所述合并服务器基于所述至少一个指定修改操作、以及包含指示所述指定基线数据的位置索引信息的第二子表,更新所述指定基线数据;
所述合并服务器生成第三子表,所述第三子表包含指示更新后的所述指定基线数据的位置索引信息;
配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据。
2.如权利要求1所述的方法,其特征在于,所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据,包括:
所述更新服务器向所述配置服务器发送数据变更通知,以通知所述配置服务器所述基线数据的数据版本发生变更;
所述配置服务器响应于所述数据变更通知,向所述合并服务器发送所述合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新所述指定基线数据。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述合并服务器向所述配置服务器发送更新完成通知,所述更新完成通知包括所述完成更新的指定基线数据的路由信息、以及所述完成更新的指定基线数据的数据版本信息;
所述配置服务器基于所述完成更新的指定基线数据的路由信息,更新存储在所述配置服务器中的指定基线数据的索引信息,以及基于所述完成更新的指定基线数据的数据版本信息,更新所述配置服务器中指定基线数据的数据版本信息。
4.如权利要求3所述的方法,其特征在于,所述配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据,包括:
所述配置服务器响应于所述客户端发送的针对所述指定基线数据的读取请求,分别向所述更新服务器和所述合并服务器发送读取通知;
所述更新服务器基于所述读取通知将针对所述指定基线数据的增量更新数据发送给所述配置服务器;
所述合并服务器基于所述读取通知将所述指定基线数据发送给所述配置服务器;
所述配置服务器向所述客户端发送所述针对所述指定基线数据的增量更新数据和所述指定基线数据。
5.一种数据的读取装置,其特征在于,包括:
生成单元,用于当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,所述更新服务器基于所述增量更新数据生成目标文件;
更新单元,用于所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据;其中,所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据,包括:所述合并服务器基于所述合并通知,从所述更新服务器获取所述目标文件、以及与所述目标文件相对应的第一子表,并将所述目标文件存储在堆外内存中,所述第一子表中包含有与所述目标文件中的至少一个修改操作相对应的索引信息;所述合并服务器基于所述合并通知、以及所述第一子表中的与所述目标文件中的至少一个修改操作相对应的索引信息,从所述至少一个修改操作中获取至少一个指定修改操作;所述合并服务器基于所述至少一个指定修改操作、以及包含指示所述指定基线数据的位置索引信息的第二子表,更新所述指定基线数据;
第二生成单元,用于所述合并服务器生成第三子表,所述第三子表包含指示更新后的所述指定基线数据的位置索引信息;
发送单元,用于配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据。
6.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,所述更新服务器基于所述增量更新数据生成目标文件;
所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据;其中,所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据,包括:所述合并服务器基于所述合并通知,从所述更新服务器获取所述目标文件、以及与所述目标文件相对应的第一子表,并将所述目标文件存储在堆外内存中,所述第一子表中包含有与所述目标文件中的至少一个修改操作相对应的索引信息;所述合并服务器基于所述合并通知、以及所述第一子表中的与所述目标文件中的至少一个修改操作相对应的索引信息,从所述至少一个修改操作中获取至少一个指定修改操作;所述合并服务器基于所述至少一个指定修改操作、以及包含指示所述指定基线数据的位置索引信息的第二子表,更新所述指定基线数据;
所述合并服务器生成第三子表,所述第三子表包含指示更新后的所述指定基线数据的位置索引信息;
配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据。
7.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
当更新服务器中的增量更新数据的数据量大于或等于预设阈值时,所述更新服务器基于所述增量更新数据生成目标文件;
所述更新服务器向合并服务器发送合并通知,使得所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据;其中,所述合并服务器基于所述合并通知和所述目标文件,更新存储在堆外内存中的指定基线数据,包括:所述合并服务器基于所述合并通知,从所述更新服务器获取所述目标文件、以及与所述目标文件相对应的第一子表,并将所述目标文件存储在堆外内存中,所述第一子表中包含有与所述目标文件中的至少一个修改操作相对应的索引信息;所述合并服务器基于所述合并通知、以及所述第一子表中的与所述目标文件中的至少一个修改操作相对应的索引信息,从所述至少一个修改操作中获取至少一个指定修改操作;所述合并服务器基于所述至少一个指定修改操作、以及包含指示所述指定基线数据的位置索引信息的第二子表,更新所述指定基线数据;
所述合并服务器生成第三子表,所述第三子表包含指示更新后的所述指定基线数据的位置索引信息;
配置服务器响应于客户端发送的针对所述指定基线数据的读取请求,向所述客户端发送所述指定基线数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429746.XA CN113704274B (zh) | 2020-05-20 | 2020-05-20 | 一种数据的读取方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429746.XA CN113704274B (zh) | 2020-05-20 | 2020-05-20 | 一种数据的读取方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113704274A CN113704274A (zh) | 2021-11-26 |
CN113704274B true CN113704274B (zh) | 2024-03-19 |
Family
ID=78645524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010429746.XA Active CN113704274B (zh) | 2020-05-20 | 2020-05-20 | 一种数据的读取方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704274B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650741A (zh) * | 2009-08-27 | 2010-02-17 | 中国电信股份有限公司 | 一种分布式全文检索的索引实时更新的方法和*** |
CN102024051A (zh) * | 2010-12-17 | 2011-04-20 | 北京世纪互联工程技术服务有限公司 | 分布式内存数据库数据更新方法 |
JP2012008934A (ja) * | 2010-06-28 | 2012-01-12 | Kddi Corp | 分散ファイルシステム及び分散ファイルシステムにおける冗長化方法 |
CN107315825A (zh) * | 2017-07-05 | 2017-11-03 | 北京奇艺世纪科技有限公司 | 一种索引更新***、方法及装置 |
US9886443B1 (en) * | 2014-12-15 | 2018-02-06 | Nutanix, Inc. | Distributed NFS metadata server |
CN107943594A (zh) * | 2016-10-13 | 2018-04-20 | 北京京东尚科信息技术有限公司 | 数据获取方法和装置 |
CN109697075A (zh) * | 2017-10-20 | 2019-04-30 | 北京京东尚科信息技术有限公司 | 文件更新方法、***和装置 |
CN110888889A (zh) * | 2018-08-17 | 2020-03-17 | 阿里巴巴集团控股有限公司 | 一种数据信息更新方法、装置及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10657123B2 (en) * | 2015-09-16 | 2020-05-19 | Sesame Software | Method and system for reducing time-out incidence by scoping date time stamp value ranges of succeeding record update requests in view of previous responses |
CN107291710B (zh) * | 2016-03-30 | 2020-07-03 | 杭州海康威视数字技术股份有限公司 | 一种用于分布式数据库***的更新数据的方法及装置 |
-
2020
- 2020-05-20 CN CN202010429746.XA patent/CN113704274B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650741A (zh) * | 2009-08-27 | 2010-02-17 | 中国电信股份有限公司 | 一种分布式全文检索的索引实时更新的方法和*** |
JP2012008934A (ja) * | 2010-06-28 | 2012-01-12 | Kddi Corp | 分散ファイルシステム及び分散ファイルシステムにおける冗長化方法 |
CN102024051A (zh) * | 2010-12-17 | 2011-04-20 | 北京世纪互联工程技术服务有限公司 | 分布式内存数据库数据更新方法 |
US9886443B1 (en) * | 2014-12-15 | 2018-02-06 | Nutanix, Inc. | Distributed NFS metadata server |
CN107943594A (zh) * | 2016-10-13 | 2018-04-20 | 北京京东尚科信息技术有限公司 | 数据获取方法和装置 |
CN107315825A (zh) * | 2017-07-05 | 2017-11-03 | 北京奇艺世纪科技有限公司 | 一种索引更新***、方法及装置 |
CN109697075A (zh) * | 2017-10-20 | 2019-04-30 | 北京京东尚科信息技术有限公司 | 文件更新方法、***和装置 |
CN110888889A (zh) * | 2018-08-17 | 2020-03-17 | 阿里巴巴集团控股有限公司 | 一种数据信息更新方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113704274A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108512930B (zh) | 一种共享文件的管理方法、装置、服务器和存储介质 | |
CN110377369B (zh) | 一种运行小程序的方法、设备和计算机存储介质 | |
CN113032099B (zh) | 云计算节点、文件管理方法及装置 | |
CN110532106B (zh) | 进程间的通讯方法、装置、设备和存储介质 | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
CN114595186B (zh) | 一种多核处理器的核间通信方法、通信装置 | |
CN112395107A (zh) | 税控设备控制的方法、装置、存储介质及电子设备 | |
CN111885184A (zh) | 高并发场景下热点访问关键字处理方法和装置 | |
CN108228842B (zh) | Docker镜像库文件存储方法、终端、设备以及存储介质 | |
CN110764930A (zh) | 基于消息模式的请求或应答处理方法及装置 | |
CN115114042A (zh) | 存储数据访问方法、装置、电子设备和存储介质 | |
CN113704274B (zh) | 一种数据的读取方法及电子设备 | |
CN111596864A (zh) | 一种数据延时删除的方法、装置、服务器及存储介质 | |
US9659041B2 (en) | Model for capturing audit trail data with reduced probability of loss of critical data | |
CN112764897B (zh) | 任务请求的处理方法、装置、***及计算机可读存储介质 | |
CN114741165A (zh) | 数据处理平台的处理方法、计算机设备及存储装置 | |
CN110474954B (zh) | 基于区块链的文件分享方法、装置、计算机设备及可读存储介质 | |
CN110928944B (zh) | 一种数据处理方法及其装置 | |
AU2021262138A1 (en) | Tiered application pattern | |
CN112231290A (zh) | 一种本地日志的处理方法、装置、设备及存储介质 | |
US20140280347A1 (en) | Managing Digital Files with Shared Locks | |
CN115695454B (zh) | 一种mec主机的数据存储方法、装置、设备及存储介质 | |
CN116820430B (zh) | 异步读写方法、装置、计算机设备及存储介质 | |
CN116150116B (zh) | 文件***共享的方法、装置、电子设备及存储介质 | |
CN116528300B (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 |