CN111581223B - 一种数据更新方法、装置、终端设备及存储介质 - Google Patents
一种数据更新方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111581223B CN111581223B CN202010281951.6A CN202010281951A CN111581223B CN 111581223 B CN111581223 B CN 111581223B CN 202010281951 A CN202010281951 A CN 202010281951A CN 111581223 B CN111581223 B CN 111581223B
- Authority
- CN
- China
- Prior art keywords
- data
- task
- updating
- update
- period
- 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
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
-
- 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
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据更新方法、装置、终端设备及存储介质。所述方法,包括:针对任意一个数据更新周期,获取抢到对应所述数据更新周期的数据更新令牌的目标服务器;通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务;其中,所述数据更新令牌为周期性生成的表征数据更新权限的令牌,且所述数据更新令牌的生成周期与所述数据更新周期的时间长度相同;所述第一数据存储区内包含至少一个数据更新周期内接收到的数据更新任务。从而取得了降低数据更新过程中接口调用频率及压力的有益效果。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据更新方法、装置、终端设备及存储介质。
背景技术
随着计算机技术的快速发展,为了保证数据的全面性和准确性,可能会不断进行数据的更替等。例如,在构建房源信息时,一套房源可以上传多张图片,平均一套房源有大概20张图片,而且为了保证房源信息的准确性,可以通过更新图片的方式不断优化房源信息。
在现有的技术方案中通过提供不同的对外接口进行数据更新,例如针对房源信息设置图片新增接口、图片删除接口,而且每新增一张图片或者删除一张图片都调用一次更新接口,如果新增20张图片就要调用20次图片新增接口,从而导致20次图片审核,对接口调用造成很大压力。
发明内容
本发明实施例提供一种数据更新方法、装置、终端设备及存储介质,以解决现有的数据更新方案频繁调用数据更新接口,导致接口调用压力较大的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种数据更新方法,包括:
针对任意一个数据更新周期,获取抢到对应所述数据更新周期的数据更新令牌的目标服务器;
通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务;
其中,所述数据更新令牌为周期性生成的表征数据更新权限的令牌,且所述数据更新令牌的生成周期与所述数据更新周期的时间长度相同;所述第一数据存储区内包含至少一个数据更新周期内接收到的数据更新任务。
可选地,所述方法还包括:
针对任意一个数据更新周期,获取在当前的数据更新周期内接收到的数据更新任务对应的任务参数,并将所述任务参数存储在所述数据更新周期对应的第二数据存储区;
从所述数据更新周期对应的第三数据存储区域中获取与所述任务参数中的更新目标相同的历史更新任务,并将所述历史更新任务合并至所述第二数据存储区;
其中,所述第三数据存储区中包含在所述数据更新周期的前一个数据更新周期内接收到的数据更新任务,所述第一数据存储区中包含在所述数据更新周期的一个数据更新周期之前接收到的数据更新任务。
可选地,所述方法还包括:
以预设的生成周期为间隔周期性地生成所述数据更新令牌,并通过每个服务器中设置的定时任务和随机时间因子抢所述数据更新令牌。
可选地,所述通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务的步骤,包括:
针对所述第一数据存储区内的任意一个数据更新任务,获取所述数据更新任务对应的更新目标全部的历史数据;
响应于所述数据更新任务的类型为数据新增,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的新增数据添加至所述历史数据;
响应于所述数据更新任务的类型为数据删除,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的待删除数据从所述历史数据中删除。
可选地,所述针对所述第一数据存储区内的任意一个数据更新任务,获取所述数据更新任务对应的更新目标全部的历史数据的步骤,包括:
针对所述第一数据存储区内的任意一个数据更新任务,响应于所述数据更新任务的类型为数据新增,且所述数据更新任务对应的新增数据通过审核,获取所述数据更新任务对应的更新目标全部的历史数据。
第二方面,本发明实施例提供了一种数据更新装置,包括:
服务器确定模块,用于针对任意一个数据更新周期,获取抢到对应所述数据更新周期的数据更新令牌的目标服务器;
更新任务执行模块,用于通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务;
其中,所述数据更新令牌为周期性生成的表征数据更新权限的令牌,且所述数据更新令牌的生成周期与所述数据更新周期的时间长度相同;所述第一数据存储区内包含至少一个数据更新周期内接收到的数据更新任务。
可选地,所述装置还包括:
更新任务接收模块,用于针对任意一个数据更新周期,获取在当前的数据更新周期内接收到的数据更新任务对应的任务参数,并将所述任务参数存储在所述数据更新周期对应的第二数据存储区;
更新任务合并模块,用于从所述数据更新周期对应的第三数据存储区域中获取与所述任务参数中的更新目标相同的历史更新任务,并将所述历史更新任务合并至所述第二数据存储区;
其中,所述第三数据存储区中包含在所述数据更新周期的前一个数据更新周期内接收到的数据更新任务,所述第一数据存储区中包含在所述数据更新周期的一个数据更新周期之前接收到的数据更新任务。
可选地,所述装置还包括:
令牌分配模块,用于以预设的生成周期为间隔周期性地生成所述数据更新令牌,并通过每个服务器中设置的定时任务和随机时间因子抢所述数据更新令牌。
可选地,所述更新任务执行模块,包括:
历史数据获取子模块,用于针对所述第一数据存储区内的任意一个数据更新任务,获取所述数据更新任务对应的更新目标全部的历史数据;
数据新增子模块,用于响应于所述数据更新任务的类型为数据新增,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的新增数据添加至所述历史数据;
数据删除子模块,用于响应于所述数据更新任务的类型为数据删除,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的待删除数据从所述历史数据中删除。
可选地,所述历史数据获取子模块,还用于:针对所述第一数据存储区内的任意一个数据更新任务,响应于所述数据更新任务的类型为数据新增,且所述数据更新任务对应的新增数据通过审核,获取所述数据更新任务对应的更新目标全部的历史数据。
第三方面,本发明实施例另外提供了一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如前述的数据更新方法的步骤。
第四方面,本发明实施例另外提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的数据更新方法的步骤。
在本发明实施例中,通过针对任意一个数据更新周期,获取抢到对应所述数据更新周期的数据更新令牌的目标服务器;通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务;其中,所述数据更新令牌为周期性生成的表征数据更新权限的令牌,且所述数据更新令牌的生成周期与所述数据更新周期的时间长度相同;所述第一数据存储区内包含至少一个数据更新周期内接收到的数据更新任务。从而取得了降低数据更新过程中的接口调用频率和接口调用压力的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的一种数据更新方法的步骤流程图;
图2是本发明实施例中的另一种数据更新方法的步骤流程图;
图3是本发明实施例中的一种用于数据更新的装置的示意图;
图4是本发明实施例中的一种数据更新装置的结构示意图;
图5是本发明实施例中的另一种数据更新装置的结构示意图;
图6是本发明实施例中的一种终端设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明实施例中一种数据更新方法的步骤流程图。
步骤110,针对任意一个数据更新周期,获取抢到对应所述数据更新周期的数据更新令牌的目标服务器;其中,所述数据更新令牌为周期性生成的表征数据更新权限的令牌,且所述数据更新令牌的生成周期与所述数据更新周期的时间长度相同。
步骤120,通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务,所述第一数据存储区内包含至少一个数据更新周期内接收到的数据更新任务。
如前述,在现有技术中,每次进行数据更新时,都需要分别调用相应的数据更新接口,是的接口调用压力过大。而且在实际应用中,以房源数据中的图片更新为例,图片新增、删除过程中的接口调用可以参考下表:
调用次数 | 处理的服务器 | 房源id | 图片id | 操作类型 | 更新时间 |
0 | S4 | H0 | P0 | 新增 | 10:00:30 |
1 | S1 | H1 | P1 | 新增 | 10:01:01 |
2 | S2 | H1 | P2 | 新增 | 10:01:02 |
3 | S3 | H2 | P3 | 新增 | 10:01:02 |
4 | S1 | H2 | P4 | 新增 | 10:02:05 |
5 | S3 | H1 | P5 | 删除 | 10:02:06 |
从上表可以看出,图片新增删除的特点有以下几点:
1、分布式服务,同一个房源更新会跨服务器执行,需要多台服务器协同工作;2、同一个房源,图片新增/删除会调用多次数据更新接口;3、同一个房源可能存在多次图片新增/删除,时间跨度不大,例如,一般在1-2分钟之内。
基于上述分析,在本发明实施例中,可以以一定时间间隔为周期,每次调用数据更新接口对一个周期对应的数据更新任务进行更新,相对于针对每个数据更新任务都需要单独调用数据更新接口的情况,可以明显提高每次接口调用的利用率,减少接口调用频率。
而且,在进行数据更新时,可以通过多个服务器协同合作的方式,那么此时每次进行数据更新时,则可以通过随机调用任一可用服务器中的数据更新接口进行数据更新。同时为了避免服务器调用混乱,则可以通过获取得到对应当前的数据更新周期的数据更新令牌的目标服务器进行数据更新。
具体地,针对任意一个数据更新周期,则可以获取抢到对应所述数据更新周期的数据更新令牌的目标服务器;进而,通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务。
其中的数据更新周期可以根据需求和/或具体的应用场景等进行自定义设置,例如针对房源数据中的图片更新,可以设置数据更新周期为1分钟,或者2分钟,等等。而且,数据更新令牌为周期性生成的表征数据更新权限的令牌,获取得到数据更新令牌的服务器则具有相应的调用数据更新接口进行数据更新的权限,且为了方便针对每个数据更新周期进行数据更新令牌的发放,可以设置数据更新令牌的生成周期与数据更新周期的时间长度相同,例如均为1分钟,等等,但是数据更新令牌的生成周期具体所在的时间位置可以与数据更新周期的所在位置不完全匹配,也可以完全匹配,对此本发明实施例不加以限定。
例如,假设数据更新令牌的生成周期与数据更新周期的时间长度均为1分钟,那么则可以设置数据更新令牌的生成时刻包括10:00:00、10:01:00、10:02:00、10:03:00,等等;而可以设置数据更新周期包括10:00:30-10:01:29、10:01:30-10:02:29、10:02:30-10:03:29,等等。此时则可以设置抢到每个数据更新周期之前最近生产的数据更新令牌的服务器作为处理相应数据更新周期对应的第一数据存储区内的数据更新任务的目标服务器。例如,抢到10:00:00时刻生产的数据更新令牌的服务器可以执行数据更新周期10:00:30-10:01:29对应的第一数据存储区内的数据更新任务;抢到10:01:00时刻生产的数据更新令牌的服务器可以执行数据更新周期10:01:30-10:02:29对应的第一数据存储区内的数据更新任务;等等。而如果设置数据更新周期包括10:00:00-10:00:59、10:01:00-10:01:59、10:02:00-10:02:59,那么抢到10:00:00时刻生产的数据更新令牌的服务器可以执行数据更新周期10:00:00-10:00:59,也即10:00分对应的第一数据存储区内的数据更新任务;抢到10:01:00时刻生产的数据更新令牌的服务器可以执行数据更新周期10:01:00-10:01:59,也即10:01分对应的第一数据存储区内的数据更新任务;等等。
另外,在本发明实施例中,第一数据存储区内可以包含至少一个数据更新周期内接收到的数据更新任务。其中,第一数据存储区内包含的数据更新任务对应的数据更新周期与第一数据存储区对应的数据更新周期可以不是同一个数据更新周期,也可以为同一个数据更新周期,具体的可以根据需求进行自定义设置,对此本发明实施例不加以限定。
例如,可以在当前的数据更新周期内统一处理在当前的数据更新周期之前的一个数据更新周期内接收到的全部数据更新任务,例如在10:01分钟内处理10:00分接收到的数据更新任务,那么数据更新周期10:01分对应的第一数据存储区内包含10:00分内接收到的数据更新任务;或者,也可以设置在例如在10:02分钟内处理10:00分接收到的数据更新任务,那么数据更新周期10:02分对应的第一数据存储区内包含10:00分内接收到的数据更新任务;等等。
第一数据存储区可以为任何可用的存储空间,例如如果采用redis等分布式缓存系统,那么此时可以数据更新周期为单位,确定缓存区中的第一数据存储区,例如针对任意一个数据更新周期,设置该数据更新周期的前一数据更新周期对应的缓存区称为第一数据存储区,或者设置该数据更新周期之前且距离该数据更新周期最近的第二个数据更新周期对应的缓存区称为第一数据存储区;等等。
在本发明实施例中,通过针对任意一个数据更新周期,获取抢到对应所述数据更新周期的数据更新令牌的目标服务器;通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务;其中,所述数据更新令牌为周期性生成的表征数据更新权限的令牌,且所述数据更新令牌的生成周期与所述数据更新周期的时间长度相同;所述第一数据存储区内包含至少一个数据更新周期内接收到的数据更新任务。从而取得了降低数据更新过程中的接口调用频率和接口调用压力的有益效果。
参照图2,在本发明实施例中,还可以包括:
步骤130,针对任意一个数据更新周期,获取在当前的数据更新周期内接收到的数据更新任务对应的任务参数,并将所述任务参数存储在所述数据更新周期对应的第二数据存储区。
步骤140,从所述数据更新周期对应的第三数据存储区域中获取与所述任务参数中的更新目标相同的历史更新任务,并将所述历史更新任务合并至所述第二数据存储区;其中,所述第三数据存储区中包含在所述数据更新周期的前一个数据更新周期内接收到的数据更新任务,所述第一数据存储区中包含在所述数据更新周期的一个数据更新周期之前接收到的数据更新任务。
如上述,在实际应用中,同一房源等更新目标的连续两次数据更新之间的时间跨度可能不会太大,因此如果以数据更新周期为单位,那么连续两个数据更新周期之间存在针对同一更新目标的数据更新任务的可能性较高。而且,对于更新目标相同的多个数据更新任务,可以将其合并,从而可以提高数据更新效率,降低数据更新接口的调用频率。那么在本发明实施例中,则可以将连续两个数据更新周期内更新目标相同的数据更新任务合并。具体地,可以针对每个数据更新周期设置一用以存储在当前的数据更新周期内接收到的数据更新任务的存储区域,也即第二数据存储区,以及用以存储在当前的数据更新周期的前一数据更新周期内接收到的数据更新任务的存储区域,也即第三数据存储区域。
那么此时,针对任意一个数据更新周期,获取在当前的数据更新周期内接收到的数据更新任务对应的任务参数,并将所述任务参数存储在所述数据更新周期对应的第二数据存储区,也即相当于将在当前的数据更新周期内接收到的数据更新任务存储在所述数据更新周期对应的第二数据存储区内。进一步地,如果当前的数据更新周期内接收到了数据更新任务,则可以去其前一数据更新周期接收到的数据更新任务中查看是否有与当前接收到的数据更新任务的更新目标相同的数据更新任务,如果有则可以整理合并。也即,从所述数据更新周期对应的第三数据存储区域中获取与所述任务参数中的更新目标相同的历史更新任务,并将所述历史更新任务合并至所述第二数据存储区。其中,所述第三数据存储区中包含在所述数据更新周期的前一个数据更新周期内接收到的数据更新任务,
另外,此时为了能够在降低接口调用频率的同时及时对数据更新任务进行处理,则可以设置第一数据存储区中包含在所述数据更新周期的一个数据更新周期之前接收到的数据更新任务。
其中,数据更新任务的任务参数可以包括与相应的数据更新任务相关的全部参数,例如可以包含更新目标的标识、更新数据、更新数据与更新目标之间的对应关系、更新类型、数据更新任务的发起时间、数据更新任务的发起方标识,等等。而且,具体地在不同的应用场景中,任务参数包含的内容可以根据需求进行自定义设置,对此本发明实施例不加以限定。例如针对房源数据中的图片进行更新的应用场景,可以设置任务参数包括上述的房源id、图片id、房源id和图片id的对应关系,等等。其中的房源id可以理解为更新目标的标识,图片id可以理解为更新数据。
例如,针对房源数据中的图片进行更新的应用场景,如果采用分布式缓存,且设置数据更新周期的时间长度为1分钟,那么针对上表中的数据更新任务,因为是分布式服务,所以删除更新需要基于分布式缓存,假设采用的是redis分布式缓存。
房源图片对应关系,在Redis中存储房源中图片列表的信息如下:
Key:H0 Value:P0,OLD
Key:H1 Value:P1,P2,P5(D),OLD
Key:H2 Value:P3,P4,OLD
其中,D表示删除,OLD表示相应房源对应的所有已有图片id的总和。
而且,在Redis中可以按照时间存储更新的房源id如下:
Key:20191026-10:00 H0
Key:20191026-10:01 H1,H2
Key:20191026-10:02 H1,H2
针对当前的数据更新周期内接收到的数据更新任务,可以先不实际更新房源,而是把这次更新调用的房源及图片数据缓存起来,存储房源id和图片id的对应关系等任务参数,并将当前房源id等任务参数存储在缓存的第二数据存储区。
针对redis缓存,可以设置一分钟为一个数据更新周期,将缓存分为第一数据存储区,第二数据存储区,和第三数据存储区三个缓存区。具体地,针对任意一个数据更新周期,可以设置时间指针指向的当前数据更新周期对应的缓存区称为第二数据存储区,每次在当前数据更新周期内针对接口调用的数据更新任务都会存储在这个区域。
时间指针前一分钟对应的缓存区称为第三数据存储区,前一分钟的针对接口调用的数据更新任务都会存储在这个区域。第三数据存储区的主要作用是解决跨分钟更新的情况,当前时间如果有房源更新,将会去前一分钟的缓存区看一下是否有该条房源的更新记录,如果有,则可以将前一分钟的缓存区中存在的该条房源的数据更新任务整理合并到第二数据存储区。具体地,可以将在前一分钟的缓存区中查找到的数据更新任务拷贝到第二数据存储区,另外,也可以进一步在第二数据存储区中,将拷贝得到的数据更新任务与第二数据存储区中原有的同一房源的数据更新任务进行合并,得到一个新的数据更新任务,相应地,还可以将第三数据存储区中已拷贝到第二数据存储区内的数据更新任务删除,以避免同一数据更新任务执行多次。
参照图2,在本发明实施例中,还可以包括:
步骤150,以预设的生成周期为间隔周期性地生成所述数据更新令牌,并通过每个服务器中设置的定时任务和随机时间因子抢所述数据更新令牌。
另外,在本发明实施例中,为了确定每次执行数据更新的服务器,可以每隔一个生成周期产生一个数据更新令牌,而且每台服务器中可以设置一个定时任务,以抢每次产生的数据更新令牌,抢到令牌的服务器则可以负责相应令牌对应的数据更新周期的第一数据存储区内的数据更新任务。
例如,如果生成周期与数据更新周期的时间长度相同,均为1分钟,且生成周期与数据更新周期对应的时间段均相同,那么则可以认为在每个数据更新周期结束之前最近一次生成的数据更新令牌与相应的数据更新周期互相对应。那么此时针对数据更新周期10:01分钟(也即10:01:01-10:01:59),如果服务器S1抢到了该数据更新周期的数据更新令牌,则该服务器S1负责10:01分钟的第一数据存储区内的数据更新任务;如果服务器S2抢到了10:02分钟的数据更新令牌,则该服务器S2负责10:02分钟的第一数据存储区内的数据更新任务。
而且每次生成的数据更新令牌可以存储在预设的存储区域中,例如预设的分布式缓存中,进而通过预设的令牌协同策略进行任务分派。其中的令牌协同策略可以根据需求进行预先设置。例如,可以不设置每个服务器主动抢令牌,而主动根据令牌协同策略进行令牌分派。例如,可以针对每个可用的服务器,按照一定顺序循环进行令牌分派,假设针对服务器S1、S2...、Sn,此时可以按照S1、S2...、Sn的顺序进行循环,将每次产生的数据更新令牌分配至一个服务器。当然,也可以直接设置令牌协同策略为上述的通过每个服务器中设置的定时任务和随机时间因子抢所述数据更新令牌,对此本发明实施例不加以限定。
另外,为了防止服务器之间时间差异,还可以引入随机时间因子,定时任务抢数据更新令牌的时机是当前时间分钟加上随机时间因子的毫秒数,例如假设服务器S1抢数据更新令牌的时间是10:00:00+rand(100)毫秒是10:00:00.36;服务器S2抢数据更新令牌的时间是10:00:00+rand(100)毫秒是10:00:00.16;那么本次数据更新令牌由S2抢到。其中,rand(100)即为毫秒级的随机时间因子。在本发明实施例中,随机时间因子可以根据需求进行预先设置,对此本发明实施例不加以限定。
参照图2,在本发明实施例中,所述步骤120进一步可以包括:
步骤121,针对所述第一数据存储区内的任意一个数据更新任务,获取所述数据更新任务对应的更新目标全部的历史数据;
步骤122,响应于所述数据更新任务的类型为数据新增,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的新增数据添加至所述历史数据;
步骤123,响应于所述数据更新任务的类型为数据删除,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的待删除数据从所述历史数据中删除。
如上述,在实际应用中,数据更新的类型一般可以分为数据增加和数据删除。而在本发明实施例中,为了执行第一数据存储区内的数据更新任务,则可以针对所述第一数据存储区内的任意一个数据更新任务,获取所述数据更新任务对应的更新目标全部的历史数据,而且如果所述数据更新任务的类型为数据新增,则可以通过调用抢到相应数据更新令牌的所述目标服务器中的数据更新接口,将所述数据更新任务对应的新增数据添加至所述历史数据;而如果所述数据更新任务的类型为数据删除,相应地通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的待删除数据从所述历史数据中删除。
例如,针对房源数据中的图片进行更新,假设第一数据存储区内的任意一个数据更新任务为将房源H0中的图片P5删除,那么此时该数据更新任务的更新目标即为房源H0,则可以获取房源H0全部的已有图片作为与之对应的历史数据,进而通过调用所述目标服务器中的数据更新接口,将图片P5从历史数据中删除。而如果第一数据存储区内的另一个数据更新任务为将房源H0中的图片P1删除,相应地则可以通过调用目标服务器中的数据更新接口,将图片P1从新增至房源H0的数据中。
可选地,在本发明实施例中,所述步骤121进一步可以包括:
针对所述第一数据存储区内的任意一个数据更新任务,响应于所述数据更新任务的类型为数据新增,且所述数据更新任务对应的新增数据通过审核,获取所述数据更新任务对应的更新目标全部的历史数据。
在实际应用中,为了保证数据更新过程中的数据安全性和有效性,在新增数据的情况下,还需要对新增数据进行审核。那么如果在新增数据审核不通过的情况下,仍旧获取相应数据更新任务的更新目标全部的历史数据,容易造成资源浪费。
因此,在本发明实施例中,为了避免上述情况,针对所述第一数据存储区内的任意一个数据更新任务,如果所述数据更新任务的类型为数据新增,且所述数据更新任务对应的新增数据通过审核,获取所述数据更新任务对应的更新目标全部的历史数据。
其中,在不同的应用场景中,审核方式可以根据需求进行自定义设置,对此本发明实施例不加以限定。例如,在对房源数据中的图片进行更新的应用场景中,审核方式可以包括审核新增数据是否与相应的作为更新目标的房源适配,且新增数据中是否存在涉黄、涉爆、病毒等非法内容,如果新增数据与相应的作为更新目标的房源适配,且新增数据中不存在涉黄、涉爆、病毒等非法内容,那么则可以认定新增数据通过审核。
如图3为一种用于数据更新的装置的结构示意图。以房源数据更新为例,其中的数据收集单元可以对接口更新先不实际更新房源,而是把这次更新调用的房源及图片信息缓存起来,存储房源id和图片id的对应关系,并将当前房源id存储在缓存的第二数据存储区。数据整理单元可以在接口更新进行缓存的时候,负责判断这条房源id是否在第三数据存储区域有更新记录,如果有的话,先合并,并且把这条房源拷贝到第二数据存储区,进行缓存的整理。初始化数据单元用于房源更新接口有更新的时候,负责加载这条房源的历史图片信息,和当前新增的图片信息进行合并,方便图片的合并更新或者删除操作。而且本方案可以每间隔一个生产周期产生一个令牌,存储在分布式缓存中,令牌协同单元则可以通过预设的令牌协同策略进行任务分派。
其中,分代归并整理算法包括:针对redis缓存,按照数据更新周期为单位,将缓存分为第一数据存储区,第二数据存储区,第三数据存储区三个缓存区。其中可以将时间指针当前指向的当前数据更新周期对应的缓存区称为第二数据存储区,每次接口调用都会存储在这个区域。时间指针前一数据更新周期对应的缓存区称为第三数据存储区,前一数据更新周期的接口调用都会存储在这个区域。缓存区的主要作用是解决跨分钟更新的情况,当前时间如果有房源更新,将会去前一数据更新周期的缓存区看一下是否有这条房源的更新记录,如果有,整理合并到第二数据存储区。
时间指针前且距离时间指针最近的第二个数据更新周期对应的缓存区称为第一数据存储区,有一个定时任务对第一数据存储区的数据进行处理,真正更新房源。
在本发明实施例中,针对任意一个数据更新周期,获取在当前的数据更新周期内接收到的数据更新任务对应的任务参数,并将所述任务参数存储在所述数据更新周期对应的第二数据存储区;从所述数据更新周期对应的第三数据存储区域中获取与所述任务参数中的更新目标相同的历史更新任务,并将所述历史更新任务合并至所述第二数据存储区;其中,所述第三数据存储区中包含在所述数据更新周期的前一个数据更新周期内接收到的数据更新任务,所述第一数据存储区中包含在所述数据更新周期的一个数据更新周期之前接收到的数据更新任务。从而可以将每个数据更新周期之前一个数据更新周期内的更新目标相同的数据更新任务合并至当前数据更新周期,在降低接口调用频率的同时还可以提高每次接口调用的数据更新效率。
而且,在本发明实施例中,还可以以预设的生成周期为间隔周期性地生成所述数据更新令牌,并通过每个服务器中设置的定时任务和随机时间因子抢所述数据更新令牌。从而可以进行数据更新权限的分配,避免在数据更新时产生混乱。
另外,在本发明实施例中,还可以针对所述第一数据存储区内的任意一个数据更新任务,获取所述数据更新任务对应的更新目标全部的历史数据;响应于所述数据更新任务的类型为数据新增,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的新增数据添加至所述历史数据;响应于所述数据更新任务的类型为数据删除,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的待删除数据从所述历史数据中删除。并且,针对所述第一数据存储区内的任意一个数据更新任务,响应于所述数据更新任务的类型为数据新增,且所述数据更新任务对应的新增数据通过审核,获取所述数据更新任务对应的更新目标全部的历史数据。从而可以根据数据更新的类型执行相应的数据更新操作,并且在获取历史数据时,还在新增数据通过审核的情况下才获取历史数据,在提高数据更新过程的安全性的同时还可以避免资源浪费。
参照图4,示出了本发明实施例中一种数据更新装置的结构示意图。
本发明实施例的数据更新装置包括:服务器确定模块210和更新任务执行模块220。
下面分别详细介绍各模块的功能以及各模块之间的交互关系。
服务器确定模块210,用于针对任意一个数据更新周期,获取抢到对应所述数据更新周期的数据更新令牌的目标服务器;
更新任务执行模块220,用于通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务;
其中,所述数据更新令牌为周期性生成的表征数据更新权限的令牌,且所述数据更新令牌的生成周期与所述数据更新周期的时间长度相同;所述第一数据存储区内包含至少一个数据更新周期内接收到的数据更新任务。
在本发明实施例中,通过针对任意一个数据更新周期,获取抢到对应所述数据更新周期的数据更新令牌的目标服务器;通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务;其中,所述数据更新令牌为周期性生成的表征数据更新权限的令牌,且所述数据更新令牌的生成周期与所述数据更新周期的时间长度相同;所述第一数据存储区内包含至少一个数据更新周期内接收到的数据更新任务。从而取得了降低数据更新过程中的接口调用频率和接口调用压力的有益效果。
参照图5,在本发明实施例中,所述装置,进一步可以包括:
更新任务接收模块230,用于针对任意一个数据更新周期,获取在当前的数据更新周期内接收到的数据更新任务对应的任务参数,并将所述任务参数存储在所述数据更新周期对应的第二数据存储区;
更新任务合并模块240,用于从所述数据更新周期对应的第三数据存储区域中获取与所述任务参数中的更新目标相同的历史更新任务,并将所述历史更新任务合并至所述第二数据存储区;其中,所述第三数据存储区中包含在所述数据更新周期的前一个数据更新周期内接收到的数据更新任务,所述第一数据存储区中包含在所述数据更新周期的一个数据更新周期之前接收到的数据更新任务。
参照图5,在本发明实施例中,所述装置,进一步可以包括:
令牌分配模块250,用于以预设的生成周期为间隔周期性地生成所述数据更新令牌,并通过每个服务器中设置的定时任务和随机时间因子抢所述数据更新令牌。
参照图5,在本发明实施例中,所述更新任务执行模块220,进一步可以包括:
历史数据获取子模块221,用于针对所述第一数据存储区内的任意一个数据更新任务,获取所述数据更新任务对应的更新目标全部的历史数据;
数据新增子模块222,用于响应于所述数据更新任务的类型为数据新增,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的新增数据添加至所述历史数据;
数据删除子模块223,用于响应于所述数据更新任务的类型为数据删除,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的待删除数据从所述历史数据中删除。
可选地,在本发明实施例中,所述历史数据获取子模块221,还用于:针对所述第一数据存储区内的任意一个数据更新任务,响应于所述数据更新任务的类型为数据新增,且所述数据更新任务对应的新增数据通过审核,获取所述数据更新任务对应的更新目标全部的历史数据。
在本发明实施例中,针对任意一个数据更新周期,获取在当前的数据更新周期内接收到的数据更新任务对应的任务参数,并将所述任务参数存储在所述数据更新周期对应的第二数据存储区;从所述数据更新周期对应的第三数据存储区域中获取与所述任务参数中的更新目标相同的历史更新任务,并将所述历史更新任务合并至所述第二数据存储区;其中,所述第三数据存储区中包含在所述数据更新周期的前一个数据更新周期内接收到的数据更新任务,所述第一数据存储区中包含在所述数据更新周期的一个数据更新周期之前接收到的数据更新任务。从而可以将每个数据更新周期之前一个数据更新周期内的更新目标相同的数据更新任务合并至当前数据更新周期,在降低接口调用频率的同时还可以提高每次接口调用的数据更新效率。
而且,在本发明实施例中,还可以以预设的生成周期为间隔周期性地生成所述数据更新令牌,并通过每个服务器中设置的定时任务和随机时间因子抢所述数据更新令牌。从而可以进行数据更新权限的分配,避免在数据更新时产生混乱。
另外,在本发明实施例中,还可以针对所述第一数据存储区内的任意一个数据更新任务,获取所述数据更新任务对应的更新目标全部的历史数据;响应于所述数据更新任务的类型为数据新增,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的新增数据添加至所述历史数据;响应于所述数据更新任务的类型为数据删除,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的待删除数据从所述历史数据中删除。并且,针对所述第一数据存储区内的任意一个数据更新任务,响应于所述数据更新任务的类型为数据新增,且所述数据更新任务对应的新增数据通过审核,获取所述数据更新任务对应的更新目标全部的历史数据。从而可以根据数据更新的类型执行相应的数据更新操作,并且在获取历史数据时,还在新增数据通过审核的情况下才获取历史数据,在提高数据更新过程的安全性的同时还可以避免资源浪费。
本发明实施例提供的数据更新装置能够实现图1至图2的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
实施例五
图6为实现本发明各个实施例的一种终端设备的硬件结构示意图。
该终端设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图6中示出的终端设备结构并不构成对终端设备的限定,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,终端设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
终端设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与终端设备500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(Graphics Processing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
终端设备500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在终端设备500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板5061。
用户输入单元507可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图6中,触控面板5071与显示面板5061是作为两个独立的部件来实现终端设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现终端设备的输入和输出功能,具体此处不做限定。
接口单元508为外部装置与终端设备500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端设备500内的一个或多个元件或者可以用于在终端设备500和外部装置之间传输数据。
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器510是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
终端设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,终端设备500包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供了一种终端设备,包括:处理器510,存储器509,存储在存储器509上并可在处理器510上运行的计算机程序,该计算机程序被处理器510执行时实现上述数据更新方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述数据更新方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据更新方法,其特征在于,包括:
以预设的生成周期为间隔周期性地生成数据更新令牌,并通过每个服务器中设置的定时任务和随机时间因子抢所述数据更新令牌;
针对任意一个数据更新周期,获取抢到对应所述数据更新周期的数据更新令牌的目标服务器;
通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务;
其中,所述数据更新令牌为周期性生成的表征数据更新权限的令牌,且所述数据更新令牌的生成周期与所述数据更新周期的时间长度相同;所述第一数据存储区内包含至少一个数据更新周期内接收到的数据更新任务。
2.根据权利要求1所述的方法,其特征在于,还包括:
针对任意一个数据更新周期,获取在当前的数据更新周期内接收到的数据更新任务对应的任务参数,并将所述任务参数存储在所述数据更新周期对应的第二数据存储区;
从所述数据更新周期对应的第三数据存储区域中获取与所述任务参数中的更新目标相同的历史更新任务,并将所述历史更新任务合并至所述第二数据存储区;
其中,所述第三数据存储区中包含在所述数据更新周期的前一个数据更新周期内接收到的数据更新任务,所述第一数据存储区中包含在所述数据更新周期的一个数据更新周期之前接收到的数据更新任务。
3.根据权利要求1-2中任一项所述的方法,其特征在于,所述通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务的步骤,包括:
针对所述第一数据存储区内的任意一个数据更新任务,获取所述数据更新任务对应的更新目标全部的历史数据;
响应于所述数据更新任务的类型为数据新增,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的新增数据添加至所述历史数据;
响应于所述数据更新任务的类型为数据删除,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的待删除数据从所述历史数据中删除。
4.根据权利要求3所述的方法,其特征在于,所述针对所述第一数据存储区内的任意一个数据更新任务,获取所述数据更新任务对应的更新目标全部的历史数据的步骤,包括:
针对所述第一数据存储区内的任意一个数据更新任务,响应于所述数据更新任务的类型为数据新增,且所述数据更新任务对应的新增数据通过审核,获取所述数据更新任务对应的更新目标全部的历史数据。
5.一种数据更新装置,其特征在于,包括:
令牌分配模块,用于以预设的生成周期为间隔周期性地生成数据更新令牌,并通过每个服务器中设置的定时任务和随机时间因子抢所述数据更新令牌;
服务器确定模块,用于针对任意一个数据更新周期,获取抢到对应所述数据更新周期的数据更新令牌的目标服务器;
更新任务执行模块,用于通过调用所述目标服务器中的数据更新接口,执行所述数据更新周期对应的第一数据存储区内的数据更新任务;
其中,所述数据更新令牌为周期性生成的表征数据更新权限的令牌,且所述数据更新令牌的生成周期与所述数据更新周期的时间长度相同;所述第一数据存储区内包含至少一个数据更新周期内接收到的数据更新任务。
6.根据权利要求5所述的装置,其特征在于,还包括:
更新任务接收模块,用于针对任意一个数据更新周期,获取在当前的数据更新周期内接收到的数据更新任务对应的任务参数,并将所述任务参数存储在所述数据更新周期对应的第二数据存储区;
更新任务合并模块,用于从所述数据更新周期对应的第三数据存储区域中获取与所述任务参数中的更新目标相同的历史更新任务,并将所述历史更新任务合并至所述第二数据存储区;
其中,所述第三数据存储区中包含在所述数据更新周期的前一个数据更新周期内接收到的数据更新任务,所述第一数据存储区中包含在所述数据更新周期的一个数据更新周期之前接收到的数据更新任务。
7.根据权利要求5-6中任一项所述的装置,其特征在于,所述更新任务执行模块,包括:
历史数据获取子模块,用于针对所述第一数据存储区内的任意一个数据更新任务,获取所述数据更新任务对应的更新目标全部的历史数据;
数据新增子模块,用于响应于所述数据更新任务的类型为数据新增,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的新增数据添加至所述历史数据;
数据删除子模块,用于响应于所述数据更新任务的类型为数据删除,通过调用所述目标服务器中的数据更新接口,将所述数据更新任务对应的待删除数据从所述历史数据中删除。
8.根据权利要求7所述的装置,其特征在于,所述历史数据获取子模块,还用于:针对所述第一数据存储区内的任意一个数据更新任务,响应于所述数据更新任务的类型为数据新增,且所述数据更新任务对应的新增数据通过审核,获取所述数据更新任务对应的更新目标全部的历史数据。
9.一种终端设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的数据更新方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的数据更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010281951.6A CN111581223B (zh) | 2020-04-11 | 2020-04-11 | 一种数据更新方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010281951.6A CN111581223B (zh) | 2020-04-11 | 2020-04-11 | 一种数据更新方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581223A CN111581223A (zh) | 2020-08-25 |
CN111581223B true CN111581223B (zh) | 2023-08-22 |
Family
ID=72111535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010281951.6A Active CN111581223B (zh) | 2020-04-11 | 2020-04-11 | 一种数据更新方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581223B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115102784B (zh) * | 2022-07-21 | 2023-06-23 | 武汉联影医疗科技有限公司 | 权限信息管理方法、装置、计算机设备和存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101069172A (zh) * | 2004-03-12 | 2007-11-07 | 微软公司 | 用于管理更新分发系统中软件更新的分发的应用程序编程接口 |
CN102413042A (zh) * | 2011-11-14 | 2012-04-11 | 盛科网络(苏州)有限公司 | 基于时戳更新令牌桶的流量监管的方法及系统 |
CN104506321A (zh) * | 2014-12-15 | 2015-04-08 | 飞天诚信科技股份有限公司 | 一种更新动态令牌中种子数据的方法 |
CN104809597A (zh) * | 2015-05-14 | 2015-07-29 | 国家电网公司 | 基于数据融合的数据资源管理平台 |
CN105357293A (zh) * | 2015-10-29 | 2016-02-24 | 努比亚技术有限公司 | 一种数据缓存的更新方法及服务器 |
CN107135073A (zh) * | 2016-02-26 | 2017-09-05 | 北京京东尚科信息技术有限公司 | 接口调用方法和装置 |
CN108647039A (zh) * | 2018-04-10 | 2018-10-12 | 北京奇安信科技有限公司 | 一种数据升级的处理方法及装置 |
CN108848173A (zh) * | 2018-06-25 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种数据更新方法、装置、设备及可读存储介质 |
CN109194539A (zh) * | 2018-08-13 | 2019-01-11 | 中国平安人寿保险股份有限公司 | 数据管控方法、装置、计算机设备及存储介质 |
CN109510826A (zh) * | 2018-11-16 | 2019-03-22 | 中国人民解放军战略支援部队信息工程大学 | 基于可更新加密的安全可靠云存储方法及装置 |
CN109857747A (zh) * | 2018-12-18 | 2019-06-07 | 百度在线网络技术(北京)有限公司 | 数据同步更新方法、系统和计算机设备 |
CN109886768A (zh) * | 2018-12-24 | 2019-06-14 | 北京城市网邻信息技术有限公司 | 信用分数计算、更新方法、装置、系统和设备及存储介质 |
CN110311789A (zh) * | 2019-06-28 | 2019-10-08 | 北京创鑫旅程网络技术有限公司 | 数据安全传输方法及装置 |
CN110334103A (zh) * | 2019-05-09 | 2019-10-15 | 北京顺丰同城科技有限公司 | 推荐服务的更新方法、提供装置、访问装置和推荐系统 |
WO2020060559A1 (en) * | 2018-09-20 | 2020-03-26 | Visa International Service Association | Systems and methods for refreshing token data |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539092B1 (en) * | 1998-07-02 | 2003-03-25 | Cryptography Research, Inc. | Leak-resistant cryptographic indexed key update |
US7539686B2 (en) * | 2004-03-12 | 2009-05-26 | Microsoft Corporation | Tag-based schema for distributing update metadata in an update distribution system |
CN1968086B (zh) * | 2005-11-17 | 2011-11-09 | 日电(中国)有限公司 | 用于通信网络的用户验证系统和方法 |
US8424073B2 (en) * | 2006-11-13 | 2013-04-16 | Microsoft Corporation | Refreshing a page validation token |
-
2020
- 2020-04-11 CN CN202010281951.6A patent/CN111581223B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101069172A (zh) * | 2004-03-12 | 2007-11-07 | 微软公司 | 用于管理更新分发系统中软件更新的分发的应用程序编程接口 |
CN101902494A (zh) * | 2004-03-12 | 2010-12-01 | 微软公司 | 更新服务节点 |
CN102413042A (zh) * | 2011-11-14 | 2012-04-11 | 盛科网络(苏州)有限公司 | 基于时戳更新令牌桶的流量监管的方法及系统 |
CN104506321A (zh) * | 2014-12-15 | 2015-04-08 | 飞天诚信科技股份有限公司 | 一种更新动态令牌中种子数据的方法 |
CN104809597A (zh) * | 2015-05-14 | 2015-07-29 | 国家电网公司 | 基于数据融合的数据资源管理平台 |
CN105357293A (zh) * | 2015-10-29 | 2016-02-24 | 努比亚技术有限公司 | 一种数据缓存的更新方法及服务器 |
CN107135073A (zh) * | 2016-02-26 | 2017-09-05 | 北京京东尚科信息技术有限公司 | 接口调用方法和装置 |
CN108647039A (zh) * | 2018-04-10 | 2018-10-12 | 北京奇安信科技有限公司 | 一种数据升级的处理方法及装置 |
CN108848173A (zh) * | 2018-06-25 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种数据更新方法、装置、设备及可读存储介质 |
CN109194539A (zh) * | 2018-08-13 | 2019-01-11 | 中国平安人寿保险股份有限公司 | 数据管控方法、装置、计算机设备及存储介质 |
WO2020060559A1 (en) * | 2018-09-20 | 2020-03-26 | Visa International Service Association | Systems and methods for refreshing token data |
CN109510826A (zh) * | 2018-11-16 | 2019-03-22 | 中国人民解放军战略支援部队信息工程大学 | 基于可更新加密的安全可靠云存储方法及装置 |
CN109857747A (zh) * | 2018-12-18 | 2019-06-07 | 百度在线网络技术(北京)有限公司 | 数据同步更新方法、系统和计算机设备 |
CN109886768A (zh) * | 2018-12-24 | 2019-06-14 | 北京城市网邻信息技术有限公司 | 信用分数计算、更新方法、装置、系统和设备及存储介质 |
CN110334103A (zh) * | 2019-05-09 | 2019-10-15 | 北京顺丰同城科技有限公司 | 推荐服务的更新方法、提供装置、访问装置和推荐系统 |
CN110311789A (zh) * | 2019-06-28 | 2019-10-08 | 北京创鑫旅程网络技术有限公司 | 数据安全传输方法及装置 |
Non-Patent Citations (1)
Title |
---|
一种基于多令牌桶的数据风暴抑制单元;马徐瀚;吴龙胜;赵坤鹏;陈庆宇;;微电子学与计算机(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111581223A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255382B (zh) | 一种悬浮菜单内容推荐方法及装置 | |
CN110062105B (zh) | 一种界面显示方法及终端设备 | |
CN108595946B (zh) | 一种保护隐私的方法及终端 | |
CN110719319B (zh) | 一种资源共享方法、装置、终端设备及存储介质 | |
CN111049980A (zh) | 一种应用分享方法、电子设备及计算机可读存储介质 | |
CN110780940A (zh) | 应用程序加载方法、电子设备和存储介质 | |
CN109995862B (zh) | 一种资源调度方法及终端 | |
CN111444237A (zh) | 服务器系统、数据传输方法及电子设备 | |
CN113238868B (zh) | 任务处理方法、装置、服务器、设备、系统及存储介质 | |
CN111984401A (zh) | 一种内存溢出管理方法、装置、电子设备及存储介质 | |
CN111131607A (zh) | 一种信息共享方法、电子设备及计算机可读存储介质 | |
CN111124706A (zh) | 一种应用程序分享方法及电子设备 | |
CN108601048B (zh) | 一种流量控制方法及移动终端 | |
CN108304108B (zh) | 一种应用程序的图标显示方法及移动终端 | |
CN108009031B (zh) | 一种应用程序的控制方法及移动终端 | |
CN111163449B (zh) | 一种应用分享方法、第一电子设备及计算机可读存储介质 | |
CN112612552B (zh) | 应用程序资源加载方法、装置、电子设备及可读存储介质 | |
CN111581223B (zh) | 一种数据更新方法、装置、终端设备及存储介质 | |
CN111752688B (zh) | 一种数据获取方法、装置、电子设备及存储介质 | |
CN111159738B (zh) | 权限配置方法、应用登录方法及装置 | |
CN110929238B (zh) | 一种信息处理方法及设备 | |
CN116112403B (zh) | 应用服务的云服务管理系统、方法、电子设备及存储介质 | |
CN115695309B (zh) | 访问控制列表规则配置方法、装置、电子设备及存储介质 | |
CN115509770B (zh) | 微服务调用方法、装置、电子设备及可读存储介质 | |
CN108491225B (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 |