一种数据更新方法、装置及相关设备与流程

阅读: 评论:0



1.本发明属于计算机技术领域,尤其涉及一种数据更新方法、装置及相关设备。


背景技术:



2.随着互联网的发展,电子商务日益显示出巨大的发展潜力,并在各行各业广泛应用。电子商务改造了人们的购物、消费等经济行为的方式,同时结合物流的快速发展,使人们获得服务和产品的速度、丰富度增加。同时,用户的增加也反过来增加电子商务的服务范围,因此,越来越多类型的产品和服务踏入电子商务这一领域。
3.在一些时段,一些平台的商品订单会出现爆发式的增长,例如在促销时段,一些促销商品的销售量可达到亿级,又如,在某些高峰时期,票务售票的订单数量也会急剧攀升,如何及时的更新数据库中的订单数据,是一个很大的挑战。
4.目前已有的技术解决方案大多是单线程+mysql。如果数据量的量级是亿级,那么使用单线程则会导致性能低下,再加上没有做缓存,线程会一直占用mysql资源,这样会阻塞mysql,从而加剧了mysql的负载,随时都有可能把mysql打垮,会存在宕机的危险。


技术实现要素:



5.本发明实施例提供一种数据更新方法,旨在解决上述技术问题。
6.第一方面,本发明实施例提供一种数据更新方法,包括步骤:
7.获取数据的更新请求;
8.根据所述数据的数据量在线程池中分配多个线程执行;
9.到预设的缓存中寻对应的第一缓存数据;
10.若所述缓存中到对应的第一缓存数据;
11.则基于所述第一缓存数据组装好待更新的数据,提交给数据库;
12.若所述缓存中未到对应的第一缓存数据,则到所述数据库中进行查询;
13.将从所述数据库中查询到的查询结果写入所述缓存中得到对应的第二缓存数据;
14.基于所述第二缓存数据组装好待更新的数据,提交给数据库。
15.优选的,所述到预设的缓存中寻对应的第一缓存数据的步骤中,每个线程之间的第一缓存数据是相互隔离的。
16.优选的,所述每个线程与其对应的第一缓存数据通过线程局部变量进行维护,每个线程具有唯一的自定义映射,基于所述自定义映射,每个线程可查询到与之对应的第一缓存数据。
17.优选的,所述方法还包括步骤:
18.基于预设的规则,淘汰所述缓存中的与所述预设的规则相符的数据。
19.优选的,所述基于预设的规则,淘汰所述缓存中的部分所述第一缓存数据的步骤中,所述预设的规则为lru算法,所述规则中的数据为最近最少被使用的数据。
20.优选的,所述缓存为分布式缓存集。
21.优选的,所述方法还包括:
22.若所述分布式缓存集中的一个或多个节点宕机;
23.则对所述分布式缓存集进行水平扩容。
24.第二方面,本发明实施例还提供一种数据更新装置,包括:
25.请求模块,用于获取数据的更新请求;
26.线程分配模块,用于根据所述数据的数据量在线程池中分配多个线程执行;
27.数据查询模块,用于到预设的缓存中寻对应的第一缓存数据;
28.数据组装模块,用于组装好待更新的数据,并提交给数据库;
29.数据写入模块,用于将查询结果写入缓存中;
30.若所述数据查询模块在所述缓存中到对应的第一缓存数据;
31.则所述数据组装模块基于所述第一缓存数据组装好待更新的数据,提交给数据库;
32.若所述数据查询模块在所述缓存中未到对应的第一缓存数据,则到所述数据库中进行查询;
33.所述数据写入模块将从所述数据库中查询到的查询结果写入所述缓存中得到对应的第二缓存数据;
34.所述数据组装模块基于所述第二缓存数据组装好待更新的数据,提交给数据库。
35.第三方面,本发明实施例还提供一种计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上任一项所述的数据更新方法中的步骤。
36.第四方面,一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的数据更新方法中的步骤。
37.本发明实施例中,本发明数据更新的过程中,查询数据时优先从缓存查,查不到再去数据库查,利用缓存可提高查询性能,同时也减少了mysql的负载。其次本发明实施例中,采用多线程方案可以单次更新多条数据,从而使得系统性能又大大地提升了。
38.在另一实施例中,缓存数据采用lru算法,最近最久未被使用的数据会被淘汰,提高内存的使用率以及缓存查询效率。
39.在另一实施例中,通过线程局部变量管理每个线程,保证了多线程运行的安全。
40.在另一实施例中,缓存采用分布式缓存集结构,即使集中某个节点宕机了,也不会直接影响系统的其他业务,只需水平扩容集即可。
41.基于以上,本发明在执行性能方面有明显的提升。单线程只能串型工作,多线程能并行工作,本发明的性能是现有技术的n倍以上。引入缓存减少数据库的查询次数,降低了数据库的负载。同时查询内存的性能要比查询数据库要快很多。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1是本发明实施例提供的一种数据更新方法的流程图;
44.图2是本发明实施例提供的数据更新方法基本流程框图;
45.图3是本发明实施例提供的数据更新方法数据走向图;
46.图4是本发明提供的另一实施例的数据走向图;
47.图5是本发明实施例提供的数据更新装置的结构示意图;
48.图6是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
49.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.本技术的说明书和权利要求书及附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
51.如图1-3所示,图1-3为本发明实施例提供的一种数据更新方法的流程图,本方法可用于量级大的数据更新,提升数据更新的效率,同时降低系统的风险。例如,用于电商平台的订单数据的高性能更新,特别是,对于具有亿级订单数据的平台而言,可以高效的快速实现数据库的更新。该方法包括步骤:
52.s101、获取数据的更新请求。
53.在本实施例中,数据库采用关系型数据库(relational database management system,rdbms),采用关系型数据库管理系统进行数据管理(例如mysql),数据的更新可以是来源于电商平台的订单数据,也可以是来自于其它平台的数据,本实施例以电商数据为例进行说明。
54.s102、根据所述数据的数据量在线程池中分配多个线程执行。
55.在本是实施例中,数据量的多少以及硬件的处理能力决定了线程的个数,假设单一线程一次更新1000条数据,那么10000条数据可以采用10个线程同时进行更新。效率上,可以提升10倍,对于亿级订单而言,可以在短时间内即可完成数据的更新。
56.s103、到预设的缓存中寻对应的第一缓存数据。
57.本实施例中,通过建立缓存的方式,将最近一段时间查询过的数据进行缓存,在进行数据查询时,首先对缓存内的数据进行查询,由于缓存内的数据量跟数据库中的数据量是无法比拟的,因此,缓存可以提升查询的效率及性能,同时可以减少数据库管理系统(mysql)的负载。
58.s104、若所述缓存中到对应的第一缓存数据,则基于所述第一缓存数据组装好待更新的数据,提交给数据库。
59.在本发明实施例中,由于缓存中所暂存的第一缓存数据是最近一段时间查询过的数据,因此,如果在缓存中可以查询到对应的第一缓存数据,则无需在到数据库中进行再次查询,从而提升了数据查询的效率。查询到对应的第一缓存数据后,可基于第一缓存数据组装好待更新的数据,通过数据库管理系统直接提交到数据库中进行数据更新。
60.s105、若所述缓存中未到对应的第一缓存数据,则到所述数据库中进行查询。
61.具体的,由于缓存中所暂存的第一缓存数据是最近一段时间查询过的数据,因此缓存中的数据并不完整,在未查询到对应的第一缓存数据时,仍需要到数据库中进行查询。
62.s106、将从所述数据库中查询到的查询结果写入所述缓存中得到对应的第二缓存数据。
63.具体的,数据库中查询到对应的结果后,需将该查询数据写入缓存中得到对应的第二缓存数据。在提交到数据库进行数据更新之前,需在缓存中进行数据组装,组装好之后通过数据库管理系统提交至数据库进行数据更新。值得注意的是,第二缓存数据在与第一缓存数据的区别只是在于数据库写入缓存的时间,在后续的过程中,第二缓存数据亦可称为第一缓存数据。
64.s107、基于所述第二缓存数据组装好待更新的数据,提交给数据库。
65.查询到对应的第二缓存数据后,可基于第二缓存数据组装好待更新的数据,通过数据库管理系统直接提交到数据库中进行数据更新。
66.进一步的,在本实施例中,所述到预设的缓存中寻对应的第一缓存数据的步骤中,为了线程环境下访问时能够保证各个线程里变量(及对应的第一缓存数据)的独立性每个线程之间的第一缓存数据是相互隔离的。作为一种具体的实施方式,每个线程与其对应的第一缓存数据通过线程局部变量(threadlocal)进行维护,这种变量在多线程环境下访问时能够保证各个线程里变量的独立性。如图2所示,不同的线程之间进入线程局部变量的key值是一样,但是不同的线程所拥有的(linkedhashmap)是独一无二的,也就是不同的线程间同一个threadlocal(key)对应存储的值(value)不一样,从而到达了线程间变量隔离的目的,但是在同一个线程中这个value变量地址是一样的。在线程局部变量(threadlocal)的维护下,每个线程具有唯一的自定义映射(linkedhashmap),基于所述自定义映射,每个线程可查询到与之对应的第一缓存数据。
67.进一步的,在本实施例中,为提高内存的使用率,并提高缓存的查询性能,需淘汰掉一些缓存中的第一缓存数据。具体的,可以通过预设的规则,对一些数据进行规则内的淘汰,在本实施例中,是通过lru算法(最近最少使用算法)将最近最少或未被使用的数据进行淘汰,因为长期不被使用的数据,在未来被用到的几率也不大,所以当新的数据(第二缓存数据)进来时我们可以优先把这些数据替换掉。
68.进一步的,在本实施例中,考虑到lru缓存会占用系统虚拟机内存,当中间状态的数据量越来越大时,虚拟机内存会飙升,会影响系统其他的业务,甚至有可能使得系统宕机。因此,如图4所示,可以引入redis分布式缓存集,即使redis集中某个节点宕机了,也不会直接影响系统的其他业务,只需水平扩容redis集即可。
69.基于以上,本发明实施例在执行数据更新的系统性能方面有明显的提升。相对于传统的单线程只能串型工作,本实施例通过引入缓存、线程局部变量等机制,可实现多线程能并行工作,因此,本发明的性能是现有技术的n倍以上。同时,引入缓存减少数据库的查询
次数,降低了数据库的负载,同时查询内存的性能要比查询数据库要快很多。
70.本发明实施例还提供一种数据更新装置,如图5所示,图5是本发明实施例提供的数据更新装置的结构示意图,所述数据更新装置500包括:
71.请求模块501,用于获取数据的更新请求;
72.线程分配模块502,用于根据所述数据的数据量在线程池中分配多个线程执行;
73.数据查询模块503,用于到预设的缓存中寻对应的第一缓存数据;
74.数据组装模块504,用于组装好待更新的数据,并提交给数据库;
75.数据写入模块505,用于将查询结果写入缓存中;
76.若所述数据查询模块503在所述缓存中到对应的第一缓存数据;
77.则所述数据组装模块504基于所述第一缓存数据组装好待更新的数据,提交给数据库;
78.若所述数据查询模块503在所述缓存中未到对应的第一缓存数据,则到所述数据库中进行查询;
79.所述数据写入模块505将从所述数据库中查询到的查询结果写入所述缓存中得到对应的第二缓存数据;
80.所述数据组装模块504基于所述第二缓存数据组装好待更新的数据,提交给数据库。
81.进一步的,在本实施例中,所述到预设的缓存中寻对应的第一缓存数据的步骤中,为了线程环境下访问时能够保证各个线程里变量(及对应的第一缓存数据)的独立性每个线程之间的第一缓存数据是相互隔离的。作为一种具体的实施方式,每个线程与其对应的第一缓存数据通过线程局部变量(threadlocal)进行维护,这种变量在多线程环境下访问时能够保证各个线程里变量的独立性。如图2所示,不同的线程之间进入线程局部变量的key值是一样,但是不同的线程所拥有的(linkedhashmap)是独一无二的,也就是不同的线程间同一个threadlocal(key)对应存储的值(value)不一样,从而到达了线程间变量隔离的目的,但是在同一个线程中这个value变量地址是一样的。在线程局部变量(threadlocal)的维护下,每个线程具有唯一的自定义映射(linkedhashmap),基于所述自定义映射,每个线程可查询到与之对应的第一缓存数据。
82.进一步的,在本实施例中,为提高内存的使用率,并提高缓存的查询性能,需淘汰掉一些缓存中的第一缓存数据。具体的,可以通过预设的规则,对一些数据进行规则内的淘汰,在本实施例中,是通过lru算法(最近最少使用算法)将最近最少或未被使用的数据进行淘汰,因为长期不被使用的数据,在未来被用到的几率也不大,所以当新的数据(第二缓存数据)进来时我们可以优先把这些数据替换掉。
83.进一步的,在本实施例中,考虑到lru缓存会占用系统虚拟机内存,当中间状态的数据量越来越大时,虚拟机内存会飙升,会影响系统其他的业务,甚至有可能使得系统宕机。因此可以引入redis分布式缓存集,即使redis集中某个节点宕机了,也不会直接影响系统的其他业务,只需水平扩容redis集即可。
84.本发明实施例还提供一种计算机设备,如图6所示,图6是本发明实施例提供的一种计算机设备的结构示意图,该电子设备600包括:存储器602、处理器601、网络接口603及存储在存储器602上并可在处理器601上运行的计算机程序,处理器601执行计算机程序时
实现如本发明实施例提供的广告投放方法中的步骤。
85.具体的,处理器601用于执行以下步骤:
86.s101、获取数据的更新请求。
87.在本实施例中,数据库采用关系型数据库(relational database management system,rdbms),采用关系型数据库管理系统进行数据管理(例如mysql),数据的更新可以是来源于电商平台的订单数据,也可以是来自于其它平台的数据,本实施例以电商数据为例进行说明。
88.s102、根据所述数据的数据量在线程池中分配多个线程执行。
89.在本是实施例中,数据量的多少以及硬件的处理能力决定了线程的个数,假设单一线程一次更新1000条数据,那么10000条数据可以采用10个线程同时进行更新。效率上,可以提升10倍,对于亿级订单而言,可以在短时间内即可完成数据的更新。
90.s103、到预设的缓存中寻对应的第一缓存数据。
91.本实施例中,通过建立缓存的方式,将最近一段时间查询过的数据进行缓存,在进行数据查询时,首先对缓存内的数据进行查询,由于缓存内的数据量跟数据库中的数据量是无法比拟的,因此,缓存可以提升查询的效率及性能,同时可以减少数据库管理系统(mysql)的负载。
92.s104、若所述缓存中到对应的第一缓存数据,则基于所述第一缓存数据组装好待更新的数据,提交给数据库。
93.在本发明实施例中,由于缓存中所暂存的第一缓存数据是最近一段时间查询过的数据,因此,如果在缓存中可以查询到对应的第一缓存数据,则无需在到数据库中进行再次查询,从而提升了数据查询的效率。查询到对应的第一缓存数据后,可基于第一缓存数据组装好待更新的数据,通过数据库管理系统直接提交到数据库中进行数据更新。
94.s105、若所述缓存中未到对应的第一缓存数据,则到所述数据库中进行查询。
95.具体的,由于缓存中所暂存的第一缓存数据是最近一段时间查询过的数据,因此缓存中的数据并不完整,在未查询到对应的第一缓存数据时,仍需要到数据库中进行查询。
96.s106、将从所述数据库中查询到的查询结果写入所述缓存中得到对应的第二缓存数据。
97.具体的,数据库中查询到对应的结果后,需将该查询数据写入缓存中得到对应的第二缓存数据。在提交到数据库进行数据更新之前,需在缓存中进行数据组装,组装好之后通过数据库管理系统提交至数据库进行数据更新。值得注意的是,第二缓存数据在与第一缓存数据的区别只是在于数据库写入缓存的时间,在后续的过程中,第二缓存数据亦可称为第一缓存数据。
98.s107、基于所述第二缓存数据组装好待更新的数据,提交给数据库。
99.查询到对应的第二缓存数据后,可基于第二缓存数据组装好待更新的数据,通过数据库管理系统直接提交到数据库中进行数据更新。
100.进一步的,在本实施例中,所述到预设的缓存中寻对应的第一缓存数据的步骤中,为了线程环境下访问时能够保证各个线程里变量(及对应的第一缓存数据)的独立性每个线程之间的第一缓存数据是相互隔离的。作为一种具体的实施方式,每个线程与其对应的第一缓存数据通过线程局部变量(threadlocal)进行维护,这种变量在多线程环境下访
问时能够保证各个线程里变量的独立性。如图2所示,不同的线程之间进入线程局部变量的key值是一样,但是不同的线程所拥有的(linkedhashmap)是独一无二的,也就是不同的线程间同一个threadlocal(key)对应存储的值(value)不一样,从而到达了线程间变量隔离的目的,但是在同一个线程中这个value变量地址是一样的。在线程局部变量(threadlocal)的维护下,每个线程具有唯一的自定义映射(linkedhashmap),基于所述自定义映射,每个线程可查询到与之对应的第一缓存数据。
101.进一步的,在本实施例中,为提高内存的使用率,并提高缓存的查询性能,需淘汰掉一些缓存中的第一缓存数据。具体的,可以通过预设的规则,对一些数据进行规则内的淘汰,在本实施例中,是通过lru算法(最近最少使用算法)将最近最少或未被使用的数据进行淘汰,因为长期不被使用的数据,在未来被用到的几率也不大,所以当新的数据(第二缓存数据)进来时我们可以优先把这些数据替换掉。
102.进一步的,在本实施例中,考虑到lru缓存会占用系统虚拟机内存,当中间状态的数据量越来越大时,虚拟机内存会飙升,会影响系统其他的业务,甚至有可能使得系统宕机。因此,如图4所示,可以引入redis分布式缓存集,即使redis集中某个节点宕机了,也不会直接影响系统的其他业务,只需水平扩容redis集即可。
103.本发明实施例提供的计算机设备600能够实现数据更新方法的实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。
104.需要指出的是,图中仅示出了具有组件的601-603,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备600是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
105.计算机设备600可以是桌上型计算机、笔记本及掌上电脑等计算设备。电子设备600可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
106.存储器602至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器602可以是电子设备600的内部存储单元,例如该电子设备600的硬盘或内存。在另一些实施例中,存储器602也可以是电子设备600的外部存储设备,例如该电子设备600上配备的插接式硬盘,智能存储卡(smart media card,简称smc),安全数字(secure digital,简称sd)卡,闪存卡(flash card)等。当然,存储器602还可以既包括电子设备600的内部存储单元也包括其外部存储设备。本实施例中,存储器602通常用于存储安装于电子设备600的操作系统和各类应用软件,例如广告投放方法的程序代码等。此外,存储器602还可以用于暂时地存储已经输出或者将要输出的各类数据。
107.处理器601在一些实施例中可以是中央处理器(central processing unit,简称cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器601通常用于控制电子设备600的总体操作。本实施例中,处理器601用于运行存储器602中存储的程序代码或者处
理数据,例如运行广告投放方法的程序代码。
108.网络接口603可包括无线网络接口或有线网络接口,该网络接口603通常用于在电子设备600与其他电子设备之间建立通信连接。
109.本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器601执行时实现实施例提供的数据更新方法中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
110.本领域普通技术人员可以理解实现实施例数据更新方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存取存储器602(random access memory,简称ram)等。
111.以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

技术特征:


1.一种数据更新方法,其特征在于,包括步骤:获取数据的更新请求;根据所述数据的数据量在线程池中分配多个线程执行;到预设的缓存中寻对应的第一缓存数据;若所述缓存中到对应的第一缓存数据,则基于所述第一缓存数据组装好待更新的数据,提交给数据库;若所述缓存中未到对应的第一缓存数据,则到所述数据库中进行查询;将从所述数据库中查询到的查询结果写入所述缓存中得到对应的第二缓存数据;基于所述第二缓存数据组装好待更新的数据,提交给数据库。2.根据权利要求1所述的数据更新方法,其特征在于,所述到预设的缓存中寻对应的第一缓存数据的步骤中,每个线程之间的第一缓存数据是相互隔离的。3.根据权利要求2所述的广告投放方法,其特征在于,所述每个线程与其对应的第一缓存数据通过线程局部变量进行维护,每个线程具有唯一的自定义映射,基于所述自定义映射,每个线程可查询到与之对应的第一缓存数据。4.根据权利要求1所述的数据更新方法,其特征在于,所述方法还包括步骤:基于预设的规则,淘汰所述缓存中的与所述预设的规则相符的数据。5.根据权利要求4所述的数据更新方法,其特征在于,所述基于预设的规则,淘汰所述缓存中的部分所述第一缓存数据的步骤中,所述预设的规则为lru算法,所述规则中的数据为最近最少被使用的数据。6.根据权利要求1所述的数据更新方法,其特征在于,所述缓存为分布式缓存集。7.根据权利要求6所述的数据更新方法,其特征在于,所述方法还包括:若所述分布式缓存集中的一个或多个节点宕机;则对所述分布式缓存集进行水平扩容。8.一种数据更新装置,其特征在于,包括:请求模块,用于获取数据的更新请求;线程分配模块,用于根据所述数据的数据量在线程池中分配多个线程执行;数据查询模块,用于到预设的缓存中寻对应的第一缓存数据;数据组装模块,用于组装好待更新的数据,并提交给数据库;数据写入模块,用于将查询结果写入缓存中;若所述数据查询模块在所述缓存中到对应的第一缓存数据;则所述数据组装模块基于所述第一缓存数据组装好待更新的数据,提交给数据库;若所述数据查询模块在所述缓存中未到对应的第一缓存数据,则到所述数据库中进行查询;所述数据写入模块将从所述数据库中查询到的查询结果写入所述缓存中得到对应的第二缓存数据;所述数据组装模块基于所述第二缓存数据组装好待更新的数据,提交给数据库。9.一种计算机设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的数据更新方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据更新方法中的步骤。

技术总结


本发明适用于互联网广告技术领域,本发明涉及一种数据更新方法、装置及相关设备,该方法包括步骤:获取数据的更新请求;根据所述数据的数据量在线程池中分配多个线程执行;到预设的缓存中寻对应的第一缓存数据;若所述缓存中到对应的第一缓存数据,则基于所述第一缓存数据组装好待更新的数据,提交给数据库;若所述缓存中未到对应的第一缓存数据,则到所述数据库中进行查询;将从所述数据库中查询到的查询结果写入所述缓存中得到对应的第二缓存数据;基于所述第二缓存数据组装好待更新的数据,提交给数据库。本发明可提升数据更新效率,提高系统稳定性。提高系统稳定性。提高系统稳定性。


技术研发人员:

曾文清 甘梓亮 虞孝伟 卢明

受保护的技术使用者:

广州至真信息科技有限公司

技术研发日:

2022.10.11

技术公布日:

2022/12/9

本文发布于:2022-12-12 01:45:02,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/32023.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:缓存   数据   所述   线程
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图