CN114327797A - 数据协同初始化方法及其装置、设备、介质 - Google Patents
数据协同初始化方法及其装置、设备、介质 Download PDFInfo
- Publication number
- CN114327797A CN114327797A CN202111628409.4A CN202111628409A CN114327797A CN 114327797 A CN114327797 A CN 114327797A CN 202111628409 A CN202111628409 A CN 202111628409A CN 114327797 A CN114327797 A CN 114327797A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- control lock
- transaction
- initialization
- 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
- 238000011423 initialization method Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000007958 sleep Effects 0.000 claims abstract description 31
- 230000004617 sleep duration Effects 0.000 claims abstract description 26
- 238000004364 calculation method Methods 0.000 claims abstract description 14
- 230000001419 dependent effect Effects 0.000 claims abstract description 3
- 230000005059 dormancy Effects 0.000 claims description 60
- 230000004622 sleep time Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000019371 dormancy process Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006266 hibernation Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004132 cross linking Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及计算机资源调度技术领域,公开一种数据协同初始化方法及其装置、设备、介质,包括:拦截分别用于获取多个目标数据的多个并发的数据获取请求,其中,至少存在部分目标数据取决于另一部分目标数据的确定;响应各个数据获取请求而运行各个相应的请求线程;控制其中一个数据获取请求获得控制锁,获得控制锁的数据获取请求启动数据初始化事务以完成所述多个目标数据的后台计算,在所述数据初始化事务执行成功后释放所述控制锁;在所述数据初始化事务执行期间控制未获取到控制锁的其他请求线程根据动态更新的休眠时长进行休眠,休眠结束后尝试获得相应的目标数据以应答各个相应的数据获取请求。本申请实现在并发情况下精准控制线程的等待时长。
Description
技术领域
本申请涉及计算机资源调度技术领域,尤其涉及一种数据协同初始化方法及其相应的装置、计算机设备以及计算机可读存储介质。
背景技术
随着互联网的兴起,使用互联网产品已是常态化现象。一般互联网系统都是分布式部署的,分布式部署确实能带来性能和效率上的提升,不仅如此,还具备极佳的性价比,相比于使用造价较高的硬件配置的系统,分布式部系统使用造价较低硬件作为配置同样能达到与其性能相同,由此,发展至今已是分布式系统的时代。
然而,随着用户体量呈几何趋势不断增多,分布式系统经常需要处理并发场景下的数据初始化业务,即同一时间面临处理大量的相同或不同的数据初始化业务,通常这些数据需要通过并行调用多个接口,数据之间有存在内在的相互关联性,为此,基于以上种种原因,采用分布式锁进行中间协调,在同一时间只会有一个客户端能获取到锁而执行业务,其它客户端则得不到锁而进入休眠等待状态直至休眠结束,为了避免异常,该锁在一段有限的时间之后会被释放,因此,合理地分配休眠时间和持有锁的时间至关重要,关乎大量业务之间高效衔接,影响执行效率,但在现有技术中暂未有该相关的解决方案,因此,本申请人对此作出相应的探索。
发明内容
本申请的首要目的在于解决上述问题至少之一而提供一种数据协同初始化方法及其相应的装置、计算机设备、计算机可读存储介质。
为满足本申请的各个目的,本申请采用如下技术方案:
适应本申请的目的之一而提供的一种数据协同初始化方法,包括如下步骤:
拦截分别用于获取多个目标数据的多个并发的数据获取请求,其中,至少存在部分目标数据取决于另一部分目标数据的确定;
响应各个数据获取请求而运行各个相应的请求线程,用于获取相应的目标数据;
控制其中一个数据获取请求获得控制锁,获得控制锁的数据获取请求启动数据初始化事务以完成所述多个目标数据的后台计算,在所述数据初始化事务执行成功后释放所述控制锁;
在所述数据初始化事务执行期间控制未获取到控制锁的其他请求线程根据动态更新的休眠时长进行休眠,休眠结束后尝试获得相应的目标数据以应答各个相应的数据获取请求。
进一步的实施例中,控制其中一个数据获取请求获得控制锁,获得控制锁的数据获取请求启动数据初始化事务以完成所述多个目标数据的后台计算,在所述数据初始化事务执行成功后释放所述控制锁,包括如下步骤:
向首个运行的请求线程传递控制锁,以排除其他请求线程获得该控制锁;
由获得所述控制锁的请求线程启动数据初始化事务,通过该事务调用多个后台中间组件用于相应计算确定多个目标数据;
当所述数据初始化事务执行完成后,由获得所述控制锁的请求线程标记事务完成状态,将当次执行所消费的时长存储为历史消费时长,释放所述的控制锁;
随后执行该数据获取请求相对应的数据获取逻辑以获得相应的目标数据。
进一步的实施例中,在所述数据初始化事务执行期间控制未获取到控制锁的其他请求线程根据动态更新的休眠时长进行休眠,休眠结束后尝试获得相应的目标数据以应答各个相应的数据获取请求,包括如下步骤:
令未获得控制锁的请求线程在所述事务完成状态未达成之前进入休眠状态,其休眠时长为预设的历史消费时长;
由所述未获得控制锁的请求线程在所述休眠时长到达时统计该请求线程的休眠总次数;
由所述未获得控制锁的请求线程在所述休眠时长到达后检测所述数据初始化事务是否达致事务完成状态,在达致事务完成状态后执行相应的数据获取逻辑以获取该请求线程相应的目标数据,否则根据预设休眠次数循环其休眠过程。
较佳的实施例中,用于设定所述休眠时长的历史消费时长,为在先的数据获取请求所产生的历史消费时长或预设时长。
进一步的实施例中,拦截分别用于获取多个目标数据的多个并发的数据获取请求之前,包括如下步骤:
获取客户端设备提交的用户请求;
执行第一任务以将该用户请求相应的原始数据存储于数据库中;
执行第二任务,在第二任务中触发用于获取所述原始数据中的多个目标数据的数据获取请求,以便将所述多个数据获取请求相应获得的多个目标数据推送给所述的客户端设备。
扩展的实施例中,所述用户数据为用户注册数据、线上店铺实例的配置数据、用户会员数据中任意一项。
具体化的实施例中,在所述数据初始化事务执行期间控制未获取到控制锁的其他请求线程根据动态更新的休眠时长进行休眠,休眠结束后尝试获得相应的目标数据以应答各个相应的数据获取请求的步骤中,根据所述请求线程最新一次执行数据初始化事务所消耗的历史消费时长作为所述休眠时长以实现该休眠时长的动态更新。
适应本申请的目的之一而提供的一种数据协同初始化装置,包括:请求拦截模块、数据获取模块、控制锁模块、休眠重启模块,其中,请求拦截模块,用于拦截分别用于获取多个目标数据的多个并发的数据获取请求,其中,至少存在部分目标数据取决于另一部分目标数据的确定;数据获取模块,用于响应各个数据获取请求而运行各个相应的请求线程,用于获取相应的目标数据;控制锁模块,用于控制其中一个数据获取请求获得控制锁,获得控制锁的数据获取请求启动数据初始化事务以完成所述多个目标数据的后台计算,在所述数据初始化事务执行成功后释放所述控制锁;休眠重启模块,用于在所述数据初始化事务执行期间控制未获取到控制锁的其他请求线程根据动态更新的休眠时长进行休眠,休眠结束后尝试获得相应的目标数据以应答各个相应的数据获取请求。
进一步的实施例中,所述控制锁模块,包括:控制锁获取子模块,用于向首个运行的请求线程传递控制锁,以排除其他请求线程获得该控制锁;事务启动子模块,用于由获得所述控制锁的请求线程启动数据初始化事务,通过该事务调用多个后台中间组件用于相应计算确定多个目标数据;控制锁释放子模块,用于当所述数据初始化事务执行完成后,由获得所述控制锁的请求线程标记事务完成状态,将当次执行所消费的时长存储为历史消费时长,释放所述的控制锁;目标数据子模块,用于随后执行该数据获取请求相对应的数据获取逻辑以获得相应的目标数据。
进一步的实施例中,所述休眠重启子模块,包括:休眠控制子模块,用于令未获得控制锁的请求线程在所述事务完成状态未达成之前进入休眠状态,其休眠时长为预设的历史消费时长;休眠统计子模块,用于由所述未获得控制锁的请求线程在所述休眠时长到达时统计该请求线程的休眠总次数;休眠判断子模块,用于由所述未获得控制锁的请求线程在所述休眠时长到达后检测所述数据初始化事务是否达致事务完成状态,在达致事务完成状态后执行相应的数据获取逻辑以获取该请求线程相应的目标数据,否则根据预设休眠次数循环其休眠过程。
较佳的实施例中,所述休眠判断子模块,包括:休眠时长单元,用于设定所述休眠时长的历史消费时长,为在先的数据获取请求所产生的历史消费时长或预设时长。
进一步的实施例中,所述请求拦截模块之前,包括:请求获取模块,用于获取客户端设备提交的用户请求;第一任务模块,用于执行第一任务以将该用户请求相应的原始数据存储于数据库中;第二任务模块,用于执行第二任务,在第二任务中触发用于获取所述原始数据中的多个目标数据的数据获取请求,以便将所述多个数据获取请求相应获得的多个目标数据推送给所述的客户端设备。
具体化的实施例中,所述休眠重启模块根据所述请求线程最新一次执行数据初始化事务所消耗的历史消费时长作为所述休眠时长以实现该休眠时长的动态更新。
适应本申请的目的之一而提供的一种计算机设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本申请所述的数据协同初始化方法的步骤。
适应本申请的目的而提供的一种计算机可读存储介质,其以计算机可读指令的形式存储有依据所述的数据协同初始化方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
相对于现有技术,本申请的优势如下:
首先,通过响应一个先到达服务器的数据获取请求而运行相应的请求线程,控制其获得控制锁,由其执行数据初始化事务,其他未获得控制锁的请求线程根据动态更新的休眠时长进行休眠,通过控制锁实现多个数据获取请求之间的协调控制,避免冲突,从而确保并发数据请求有行不悖地获取目标数据。
其次,未获得控制锁的请求线程休眠时,其休眠时长允许动态更新,所以使休眠时间更有弹性,能够自适应实际业务场景下的变动,更精准地控制休眠等待时长,协调好获得控制锁的线程与未获得控制锁的线程之间的时间衔接,使得并发的大量请求线程能够紧密配合,实现效率最大化。
此外,本申请所采用的算法简便易实现,运行效率高,可节省服务器计算机运算资源,提升计算运行资源的利用效率。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请的数据协同初始化方法的典型实施例的流程示意图;
图2为本申请实施例中的控制锁获取和初始化事务执行的流程示意图;
图3为本申请实施例中的线程休眠重启执行的流程示意图;
图4为本申请实施例中的客户端请求应答的流程示意图;
图5为本申请的数据协同初始化方法的原理框图;
图6为本申请所采用的一种计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本申请所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。
本申请的一个或数个技术特征,除非明文指定,既可部署于服务器实施而由客户端远程调用获取服务器提供的在线服务接口来实施访问,也可直接部署并运行于客户端来实施访问。
本申请所涉及的各种数据,除非明文指定,既可远程存储于服务器,也可存储于本地终端设备,只要其适于被本申请的技术方案所调用即可。
本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
本申请即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本申请的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。对此变通,本领域技术人员应当知晓。
请参阅图1,本申请的数据协同初始化方法,在其典型实施例中,包括如下步骤:
步骤S1100、拦截分别用于获取多个目标数据的多个并发的数据获取请求,其中,至少存在部分目标数据取决于另一部分目标数据的确定;
各在线电商平台常出现并发请求场景下获取多个目标数据用于初始化,如大量会员用户在其注册后首次登录时,同一时间触发获取默认等级、头像、新用户优惠等初始化目标数据;大量平台店铺用户在其注册后首次登录时,同一时间触发获取初始化默认UI模板、店铺星级、支付方式、物流方式等初始化目标数据等等。为了获取该些目标数据用于初始化,一般通过请求多个接口,即所述的数据获取请求,通常,该些目标数据之间可能存在内在的相互关联性,即其中存在部分目标数据需要确定另一部分目标数据后,方可进行后续查找、计算、匹配等操作以获取该部分目标数据,再者,该些目标数据需要同一时间在相应的界面上展现或加载完成备用,因此,需要对该些目标数据进行统一初始化,相应地拦截获取该些目标数据的接口,通过设置拦截器,按照URI规则拦截该些接口,所述URI是uniformresource identifier,统一资源标识符,用来唯一的标识一个资源,Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是通过URI来定位的。
步骤S1200、响应各个数据获取请求而运行各个相应的请求线程,用于获取相应的目标数据;
大量用户输入用户信息,同一时间点击登录按钮,触发当前界面跳转,响应首次加载跳转界面所需的各个数据获取请求,本领域技术人员应该理解,为此相应地创建多个线程,各个线程并发调用相应的接口以获取目标数据,所述并发实质是一个物理CPU(也可以多个物理CPU)在若干线程之间多路复用,进一步,首先,多线程并发执行期间,需相应地协调各个线程的关系,一般的协调手段有等待、唤醒、执行等方式,最终,在多线程执行完毕时,使得各个线程同一时间被处理完成获得相应的目标数据。
步骤S1300、控制其中一个数据获取请求获得控制锁,获得控制锁的数据获取请求启动数据初始化事务以完成所述多个目标数据的后台计算,在所述数据初始化事务执行成功后释放所述控制锁;
一种实施例中,线程队列根据先进先出原则,选取相应的数据获取请求对应的线程出列,控制该线程获得分布式锁机制中的控制锁,用于控制多个数据获取请求对资源的访问,该线程队列为首要按线程到达服务器时间先后,其次按线程执行优先级先后进行排序,再以将该排序的线程输入线程队列中,最后,以先入先出的原则将线程队列中的线程输出,此处优先级可由本领域技术人员按需灵活设置。
另一种实施例中,控制最先到达服务器的数据获取请求即线程获得控制锁。
所述获得控制锁的数据获取请求对应的线程,在控制锁未释放期间,锁定有且仅有一个线程即获取控制锁的当前该线程可执行数据初始化操作,其余并发的同样需要执行数据初始化操作对应的线程则休眠等待,由此,所述获得控制锁的线程相应地启动数据初始化事务,在该事务内完成所述多个目标数据的后台计算、获取等相应的初始化操作,若其中某项目标数据的初始化失败时,视所述事务执行失败,所述目标数据全部回滚至所述事务执行前状态,从而避免脏数据,直至,在该回滚执行完毕后,调用相应的解除分布式锁方法,释放所述线程获得的控制锁,进一步,服务器构建数据初始化失败提示,推送至触发前述数据获取请求的客户端;若其中所有目标数据的初始化成功时,视所述事务执行成功,自动释放所述线程获得的控制锁。
所述启动数据初始化事务具备原子性,整个事务中的所有数据初始化操作,要求全部完成或全部不完成,不能够停滞在中间某个环节,若事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,正如这个事务并未执行一样;且具备一致性,在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
步骤S1400、在所述数据初始化事务执行期间控制未获取到控制锁的其他请求线程根据动态更新的休眠时长进行休眠,休眠结束后尝试获得相应的目标数据以应答各个相应的数据获取请求。
在当前有一个线程获得控制锁执行所述数据初始化事务期间,其他请求线程响应获取控制锁失败事件,根据动态更新的休眠时长进行休眠,其中,为避免控制锁一直被一个线程持有无法释放造成死锁,而相应地设置在持有控制锁一段时间后自动释放控制锁,该自动释放所需时间(单位:毫秒)则可定为一个预设时长,该预设时长也可以是其他未获得控制锁的线程的休眠时长,直至,该其他请求线程休眠到达预设休眠时长后,被唤醒查询所述数据初始化事务执行状态,据此,若该事务执行成功则获得初始化后的多个目标数据,至此,即可不被所述拦截器所拦截,将该目标数据用于应答各个数据获取请求,该目标数据为界面所需的UI框架、用户信息、会员信息、店铺信息等等中的任意一项或者多项;若该事务执行失败则未获得控制锁的其他线程再次休眠,并且相应地增加休眠次数,一旦休眠次数超过预设阈值,则不再休眠而触发响应数据获取请求执行失败事件,服务器构建数据初始化失败提示,推送至触发前述数据获取请求的客户端,此处具体预设休眠时长和休眠次数阈值,可由本领域技术人员灵活变通设置。
较佳的,将所述请求线程最新一次执行数据初始化事务所消耗的历史消费时长作为所述休眠时长以实现该休眠时长的动态更新,而在未获得所述历史消费时长之前,所述休眠时长可采用一预设值,后续该预设值被新的历史消费时长不断更新即可。
通过本典型实施例的揭示,可以看出,本申请具有多方面优势,包括但不限于:
首先,通过响应一个先到达服务器的数据获取请求而运行相应的请求线程,控制其获得控制锁,由其执行数据初始化事务,其他未获得控制锁的请求线程根据动态更新的休眠时长进行休眠,通过控制锁实现多个数据获取请求之间的协调控制,避免冲突,从而确保并发数据请求有行不悖地获取目标数据。
其次,未获得控制锁的请求线程休眠时,其休眠时长允许动态更新,所以使休眠时间更有弹性,能够自适应实际业务场景下的变动,更精准地控制休眠等待时长,协调好获得控制锁的线程与未获得控制锁的线程之间的时间衔接,使得并发的大量请求线程能够紧密配合,实现效率最大化。
此外,本申请所采用的算法简便易实现,运行效率高,可节省服务器计算机运算资源,提升计算运行资源的利用效率。
进一步的实施例中,步骤S1300、控制其中一个数据获取请求获得控制锁,获得控制锁的数据获取请求启动数据初始化事务以完成所述多个目标数据的后台计算,在所述数据初始化事务执行成功后释放所述控制锁,包括如下步骤:
步骤S1310、向首个运行的请求线程传递控制锁,以排除其他请求线程获得该控制锁;
向首个到达服务器的请求线程传递控制锁,一种实施例中,所述控制锁为Redis分布式锁,采用Redis的SETNX命令,该SETNX(SET if Not eXist)为当且仅当key不存在,则执行set方法,将key的值设为value,并返回1;若给定的key已经存在,则SETNX不做任何动作,并返回0,由此,返回1则获取控锁成功,返回0则获取控制锁失败,相应的所述请求线程获取控制锁成功后,其他请求线程响应获取该控制锁失败事件,执行休眠操作等待获得控制锁的所述请求线程的执行。
步骤S1320、由获得所述控制锁的请求线程启动数据初始化事务,通过该事务调用多个后台中间组件用于相应计算确定多个目标数据;
获得所述控制锁的请求线程,调用Redis的EXPIRE命令设置key的有效期限,为预防死锁该有效期限默认设置为线程一般执行的最长时间(单位:毫秒),后续可对此进行更新,进一步,启动数据库里面的数据初始化事务,其具备原子性(Atomicity),即事务中的全部操作在数据库中是不可分割的,要么全部完成,要么全部不执行,是一个不可分割的工作单元(unit),据此,通过该事务调用多个后台中间组件,根据数据之间的关联性相应地先后调用各个接口,适当时候作相应计算获得相关中间数据如方法参数、判断条件参数等,所述事务只能是失败或成功两种状态的整体操作,一方面,该事务执行中由于网络中断重连失败、网络延迟超过预设的程序等待时间使得相应的服务超时进而中止服务等因素被打断,导致事务不完整执行,则判定该事务执行失败,需要针对事务所执行操作如对数据库进行许多关联更改或同时更新多个数据库等操作进行回滚,将该事务执行过程中涉及的数据恢复至该事务未执行时的数据状态,以保证数据库更新的可靠性和程序有序规章执行,与此同时,响应数据初始化失败事件,服务器构建报错提示推送至触发该线程对应的请求的客户端,相应的在用户图形界面上以消息通知弹窗展示,以避免所述数据初始化失败给用户带来无法理解的异常,该报错提示该为友好提示,诸如:数据初始化加载失败,请检查网络状态,如网络正常请刷新页面稍作等待等等;一方面,当该事务完整有序地正确执行,则判定该事务执行成功,确定多个目标数据。
步骤S1330、当所述数据初始化事务执行完成后,由获得所述控制锁的请求线程标记事务完成状态,将当次执行所消费的时长存储为历史消费时长,释放所述的控制锁;
当所述数据初始化事务执行完成后,由获得所述控制锁的请求线程标记事务完成状态,为了提高查询效率,更新预设的数据初始化状态为true,并将其存储至缓存中,该预设的数据初始化状态为表征数据是否完成初始化,true代表以完成、false代未完成,默认设置为false,由此,即可便于拦截器查询缓存中的数据初始化状态,快速判断用户所需的数据是否已经完成初始化,相应的对未完成初始化的数据请求统一进行拦截,放行已完成初始化的数据请求。
进一步,将当前执行数据初始化事务所消费的时长存储为历史消费时长作为经验值(单位:毫秒),用于更新控制锁的有效期,以便于同样执行该数据初始化事务的线程合理化分配相应的时间片调用运算资源,减少线程已完成数据初始化操作却仍占用控制锁的无效占用时间,相对的尽早释放控制锁交由其他线程持有,促进各个线程有序快速执行数据初始化操作,至此,释放执行完成所述数据初始化事务的线程持有的控制锁。
步骤S1340、随后执行该数据获取请求相对应的数据获取逻辑以获得相应的目标数据。
继而,响应执行数据获取请求,调用初始化后的数据获取接口中的getter方法,以获得数据初始化后所得的目标数据,进一步,将该目标数据用于部署,诸如,搭建用户模块的用户界面,其中包含默认UI模板界面布局、用户会员信息、基础信息;分销员模块的分销界面,其中包含分销等级信息、推销二维码信息;网店模块的店铺界面,其中包含等级信息、支付和物流信息等等。
本实施例中,合理化为获得控制锁的请求线程分配相应的时间片调用运算资源,减少线程已完成数据初始化操作却仍占用控制锁的无效占用时间,相对的尽早释放控制锁交由其他线程持有,促进各个线程有序快速执行数据初始化操作。进一步,每次获得控制锁的请求线程执行数据初始化事务,所花费的历史消费时长可相应地作为未获得控制锁的请求线程的休眠时长,使得未获得控制锁的请求线程能够在获得控制锁的请求线程执行完数据初始化事务后,及时被唤醒,减少两者之间衔接的停滞时间,提交整体运行效率。
进一步的实施例中,步骤S1400、在所述数据初始化事务执行期间控制未获取到控制锁的其他请求线程根据动态更新的休眠时长进行休眠,休眠结束后尝试获得相应的目标数据以应答各个相应的数据获取请求,包括如下步骤:
步骤S1410、令未获得控制锁的请求线程在所述事务完成状态未达成之前进入休眠状态,其休眠时长为预设的历史消费时长;
所述控制锁为Redis分布式锁,是控制并发的各个请求线程的访问共享资源的方式,访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,具备排他性特质,即尽管处于并发时期,同一时间存在多个需要控制锁的请求线程,在同一时间只会有一个请求线程能获得控制锁,其他请求线程则无法获得,转而进入休眠状态,对应的休眠时长初始默认配置为避免死锁,可由本领域技术人员预估当前获得控制锁的请求线程最长执行时间灵活变通设置,一种实施例中,所述休眠的请求线程与当前获得控制锁的请求线程两者对应的请求相同,进一步,根据该获得控制锁的请求线程执行初始化事务消费时长即所述历史消费时长,配置为将该休眠的请求线程的休眠时长。
步骤S1420、由所述未获得控制锁的请求线程在所述休眠时长到达时统计该请求线程的休眠总次数;
所述获得控制锁的请求线程在所述休眠时长到达时,将被唤醒相应地触发响应获取该请求线程的休眠次数事件,调用预设的统计休眠次数计数器,该计数器为判断未获得控制锁的状态,每次进入休眠状态时相应的增加一次休眠次数,默认初始值为0,进一步,返回其当前的休眠次数作为统计未获得控制锁休眠总次数。
步骤S1430、由所述未获得控制锁的请求线程在所述休眠时长到达后检测所述数据初始化事务是否达致事务完成状态,在达致事务完成状态后执行相应的数据获取逻辑以获取该请求线程相应的目标数据,否则根据预设休眠次数循环其休眠过程。
由于所述休眠的请求线程与当前获得控制锁的请求线程两者对应的请求相同,即需执行同一数据初始化事务,因此,所述未获得控制锁的请求线程在其所述休眠时长到达后,将被唤醒检测当前获得的控制锁的请求线程对应的所述数据初始化事务是否成功执行达致事务完成状态,若为完成状态则在此之后获取该未获得控制锁的请求线程所需相应的目标数据,此处可参考步骤S1340不作重复赘述,相反为未完成状态则在此之后再次进入休眠状态循环其休眠过程,并相应地增加其休眠次数,其中,若其当前休眠次数达到预设休眠次数,该预设休眠次数为休眠上限值,即为达到休眠上限时,触发响应数据初始化失败事件,服务器构建报错提示推送至触发该线程对应的请求的客户端,相应的在用户图形界面上以消息通知弹窗展示,以避免所述数据初始化失败给用户带来无法理解的异常,该报错提示该为友好提示,诸如:数据初始化加载失败,请检查网络状态,如网络正常请刷新页面稍作等待等等。
本实施例中,通过高效的休眠机制,隔离未获得控制锁的请求线程不影响获得控制锁的请求线程执行相关业务,进一步,将休眠时长相应地设置为历史执行同样请求所需的时间,使得及时在当前控制锁被释放时,即到达休眠时长被唤醒,执行相关业务,实现类似无缝连接的响应速度。
此外,由于所述历史消费时长在每次执行所述的数据初始化事务之后都会得到动态更新,然后被配置为所述的休眠时长,由此,使得所述的休眠时长得以动态更新而及时反映计算机运行资源的响应状态,从而可以确保提升线程之间的协调效率,提升执行效能。
较佳的实施例中,用于设定所述休眠时长的历史消费时长,为在先的数据获取请求所产生的历史消费时长或预设时长。
根据当前获得控制锁的请求线程执行数据初始化事务对应的历史消费时长,设定为与其请求相同,即需要执行相同的数据初始化事务对应的未获得控制锁的请求线程休眠时间为该历史消费时长,相应的其他的未获得控制锁的请求线程休眠时间为预设时长,该预设时长为避免死锁,可由本领域技术人员预估当前获得控制锁的请求线程最长执行时间灵活变通设置。
继当前获得控制锁的请求线程执行步骤S1310至S1340,在其释放控制锁后,唤醒未获得控制锁的请求线程,其中,一方面,与当前获得控制锁的请求线程请求相同对应的未获得控制锁的请求线程,执行步骤步骤S1410至S1430,一方面,与当前获得控制锁的请求线程请求不相同对应的未获得控制锁的请求线程,响应获取控制锁事件,Redis分布式锁命令中的get方法,判断锁是否存在且是否超时,若当前控制锁存在且为超时,进一步,调用Redis分布式锁命令中的getset方法,将当前控制锁设置为空或者已设置的控制锁与当前控制锁相等,至此,该请求线程获得控制锁,然后,同样执行步骤S1320至S1340。
所述getset方法为先get旧值,后set新值,并返回key的旧值(old value),具有原子性,当key存在但不是字符串类型时,返回一个错误;当key不存在的时候,返回nil,在Java里为null。
本实施例中,通过合理化设置未获得控制锁的请求线程的休眠时长,使得免于休眠过长,减少不必要的时间资源的损失,相对的提高并发执行效率。
进一步的实施例中,步骤S1100、拦截分别用于获取多个目标数据的多个并发的数据获取请求之前,包括如下步骤:
步骤S1000、获取客户端设备提交的用户请求;
获取客户端设备提交的用户请求,用户触发请求提交至服务器
用户在其终端设备的登录图形用户界面上输入用户信息和密码首次登录,点击登录按钮,跳转至会员图形用户界面,触发获取该界面所需的初始化目标数据请求,用于完成初始化部署构建该图形用户界面,该请求被发送至本申请的服务器,该服务器接收该请求后,对其进行响应,进一步,由所述服务器获取所述客户端设备提交的初始化目标数据请求。
步骤S1010、执行第一任务以将该用户请求相应的原始数据存储于数据库中;
执行第一任务以将该用户请求中的用户信息对应的用户唯一标识,访问用户私有数据库,获得对应的原始数据用户信息,如用户账号、用户昵称、用户头像、会员等级、积分、会员界面默认UI模板等,进一步,将该原始数据存储于Redis类型的缓存数据库中,便于后续快速调用。
步骤S1020、执行第二任务,在第二任务中触发用于获取所述原始数据中的多个目标数据的数据获取请求,以便将所述多个数据获取请求相应获得的多个目标数据推送给所述的客户端设备。
执行第二任务,在第二任务中触发数据获取请求,启动所述Redis缓存数据库中获取原始数据中多个目标数据对应的事务,根据所需的该多个目标数据之间的关联性有序调用相关方法,最终,在事务执行成功后,同时获得该多个目标数据,进一步,据此构建会员图形用户界面中用户板块的所述用户对应的会员信息,将该会员信息推送给所述的客户端设备。
本实施例中,通过启用数据库事务,一定程度上保障了数据的完整性和一致性,确保客户端设备获得完整准确的数据,提升人机交互体验。
请参阅图5,本申请提供的一种数据协同初始化装置,适应本申请的数据协同初始化方法进行功能化部署,包括:请求拦截模块1100、数据获取模块1200、控制锁模块1300、休眠重启模块1400,其中请求拦截模块1100,用于拦截分别用于获取多个目标数据的多个并发的数据获取请求,其中,至少存在部分目标数据取决于另一部分目标数据的确定;数据获取模块1200,用于响应各个数据获取请求而运行各个相应的请求线程,用于获取相应的目标数据;控制锁模块1300,用于控制其中一个数据获取请求获得控制锁,获得控制锁的数据获取请求启动数据初始化事务以完成所述多个目标数据的后台计算,在所述数据初始化事务执行成功后释放所述控制锁;休眠重启模块1400,用于在所述数据初始化事务执行期间控制未获取到控制锁的其他请求线程根据动态更新的休眠时长进行休眠,休眠结束后尝试获得相应的目标数据以应答各个相应的数据获取请求。
进一步的实施例中,所述控制锁模块1300,包括:控制锁获取子模块,用于向首个运行的请求线程传递控制锁,以排除其他请求线程获得该控制锁;事务启动子模块,用于由获得所述控制锁的请求线程启动数据初始化事务,通过该事务调用多个后台中间组件用于相应计算确定多个目标数据;控制锁释放子模块,用于当所述数据初始化事务执行完成后,由获得所述控制锁的请求线程标记事务完成状态,将当次执行所消费的时长存储为历史消费时长,释放所述的控制锁;目标数据子模块,用于随后执行该数据获取请求相对应的数据获取逻辑以获得相应的目标数据。
进一步的实施例中,所述休眠重启子模块1400,包括:休眠控制子模块,用于令未获得控制锁的请求线程在所述事务完成状态未达成之前进入休眠状态,其休眠时长为预设的历史消费时长;休眠统计子模块,用于由所述未获得控制锁的请求线程在所述休眠时长到达时统计该请求线程的休眠总次数;休眠判断子模块,用于由所述未获得控制锁的请求线程在所述休眠时长到达后检测所述数据初始化事务是否达致事务完成状态,在达致事务完成状态后执行相应的数据获取逻辑以获取该请求线程相应的目标数据,否则根据预设休眠次数循环其休眠过程。
较佳的实施例中,所述休眠判断子模块,包括:休眠时长单元,用于设定所述休眠时长的历史消费时长,为在先的数据获取请求所产生的历史消费时长或预设时长。
进一步的实施例中,所述请求拦截模块1100之前,包括:请求获取模块,用于获取客户端设备提交的用户请求;第一任务模块,用于执行第一任务以将该用户请求相应的原始数据存储于数据库中;第二任务模块,用于执行第二任务,在第二任务中触发用于获取所述原始数据中的多个目标数据的数据获取请求,以便将所述多个数据获取请求相应获得的多个目标数据推送给所述的客户端设备。
具体化的实施例中,所述休眠重启模块根据所述请求线程最新一次执行数据初始化事务所消耗的历史消费时长作为所述休眠时长以实现该休眠时长的动态更新。
为解决上述技术问题,本申请实施例还提供计算机设备。如图6所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、计算机可读存储介质、存储器和网络接口。其中,该计算机设备的计算机可读存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种数据协同初始化方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行本申请的数据协同初始化方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图5中的各个模块及其子模块的具体功能,存储器存储有执行上述模块或子模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有本申请的直播礼物资源更新中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
本申请还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本申请任一实施例的数据协同初始化方法的步骤。
本领域普通技术人员可以理解实现本申请上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等计算机可读存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本申请分配控制锁有序管控并发场景下的数据初始化业务执行,进一步的精准控制线程的等待时长,及时反映计算机运行资源的响应状态,从而可以确保提升线程之间的协调效率,提升执行效能。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种数据协同初始化方法,其特征在于,包括如下步骤:
拦截分别用于获取多个目标数据的多个并发的数据获取请求,其中,至少存在部分目标数据取决于另一部分目标数据的确定;
响应各个数据获取请求而运行各个相应的请求线程,用于获取相应的目标数据;
控制其中一个数据获取请求获得控制锁,获得控制锁的数据获取请求启动数据初始化事务以完成所述多个目标数据的后台计算,在所述数据初始化事务执行成功后释放所述控制锁;
在所述数据初始化事务执行期间控制未获取到控制锁的其他请求线程根据动态更新的休眠时长进行休眠,休眠结束后尝试获得相应的目标数据以应答各个相应的数据获取请求。
2.根据权利要求1所述的数据协同初始化方法,其特征在于,控制其中一个数据获取请求获得控制锁,获得控制锁的数据获取请求启动数据初始化事务以完成所述多个目标数据的后台计算,在所述数据初始化事务执行成功后释放所述控制锁,包括如下步骤:
向首个运行的请求线程传递控制锁,以排除其他请求线程获得该控制锁;
由获得所述控制锁的请求线程启动数据初始化事务,通过该事务调用多个后台中间组件用于相应计算确定多个目标数据;
当所述数据初始化事务执行完成后,由获得所述控制锁的请求线程标记事务完成状态,将当次执行所消费的时长存储为历史消费时长,释放所述的控制锁;
随后执行该数据获取请求相对应的数据获取逻辑以获得相应的目标数据。
3.根据权利要求2所述的数据协同初始化方法,其特征在于,在所述数据初始化事务执行期间控制未获取到控制锁的其他请求线程根据动态更新的休眠时长进行休眠,休眠结束后尝试获得相应的目标数据以应答各个相应的数据获取请求,包括如下步骤:
令未获得控制锁的请求线程在所述事务完成状态未达成之前进入休眠状态,其休眠时长为预设的历史消费时长;
由所述未获得控制锁的请求线程在所述休眠时长到达时统计该请求线程的休眠总次数;
由所述未获得控制锁的请求线程在所述休眠时长到达后检测所述数据初始化事务是否达致事务完成状态,在达致事务完成状态后执行相应的数据获取逻辑以获取该请求线程相应的目标数据,否则根据预设休眠次数循环其休眠过程。
4.根据权利要求3所述的数据协同初始化方法,其特征在于,令未获得控制锁的请求线程在所述事务完成状态未达成之前进入休眠状态,其休眠时长为预设的历史消费时长的步骤中,用于设定所述休眠时长的历史消费时长,为在先的数据获取请求所产生的历史消费时长或预设时长。
5.根据权利要求1至4中任意一项所述的数据协同初始化方法,其特征在于,拦截分别用于获取多个目标数据的多个并发的数据获取请求之前,包括如下步骤:
获取客户端设备提交的用户请求;
执行第一任务以将该用户请求相应的原始数据存储于数据库中;
执行第二任务,在第二任务中触发用于获取所述原始数据中的多个目标数据的数据获取请求,以便将所述多个数据获取请求相应获得的多个目标数据推送给所述的客户端设备。
6.根据权利要求5所述的数据协同初始化方法,其特征在于,执行第一任务以将该用户请求相应的原始数据存储于数据库中的步骤中,所述用户数据为用户注册数据、线上店铺实例的配置数据、用户会员数据中任意一项。
7.根据权利要求1所述的数据协同初始化方法,其特征在于,在所述数据初始化事务执行期间控制未获取到控制锁的其他请求线程根据动态更新的休眠时长进行休眠,休眠结束后尝试获得相应的目标数据以应答各个相应的数据获取请求的步骤中,根据所述请求线程最新一次执行数据初始化事务所消耗的历史消费时长作为所述休眠时长以实现该休眠时长的动态更新。
8.一种数据协同初始化装置,其特征在于,包括:
请求拦截模块,用于拦截分别用于获取多个目标数据的多个并发的数据获取请求,其中,至少存在部分目标数据取决于另一部分目标数据的确定;
数据获取模块,用于响应各个数据获取请求而运行各个相应的请求线程,用于获取相应的目标数据;
控制锁模块,用于控制其中一个数据获取请求获得控制锁,获得控制锁的数据获取请求启动数据初始化事务以完成所述多个目标数据的后台计算,在所述数据初始化事务执行成功后释放所述控制锁;
休眠重启模块,用于在所述数据初始化事务执行期间控制未获取到控制锁的其他请求线程根据动态更新的休眠时长进行休眠,休眠结束后尝试获得相应的目标数据以应答各个相应的数据获取请求。
9.一种计算机设备,包括中央处理器和存储器,其特征在于,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至7中任意一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,其以计算机可读指令的形式存储有依据权利要求1至7中任意一项所述的方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行相应的方法所包括的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111628409.4A CN114327797A (zh) | 2021-12-28 | 2021-12-28 | 数据协同初始化方法及其装置、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111628409.4A CN114327797A (zh) | 2021-12-28 | 2021-12-28 | 数据协同初始化方法及其装置、设备、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114327797A true CN114327797A (zh) | 2022-04-12 |
Family
ID=81014193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111628409.4A Pending CN114327797A (zh) | 2021-12-28 | 2021-12-28 | 数据协同初始化方法及其装置、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327797A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904917A (zh) * | 2023-02-22 | 2023-04-04 | 湖北泰跃卫星技术发展股份有限公司 | 物联网异常处理方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234481A (zh) * | 2017-12-29 | 2018-06-29 | 上海品顺信息科技有限公司 | 一种控制多机分布式访问外部系统的方法及分布式系统 |
CN108694199A (zh) * | 2017-04-10 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 数据同步装置、方法、存储介质及电子设备 |
CN109117189A (zh) * | 2018-07-02 | 2019-01-01 | 杭州振牛信息科技有限公司 | 数据处理方法、装置及计算机设备 |
CN113535337A (zh) * | 2021-06-07 | 2021-10-22 | 中消云(北京)物联网科技研究院有限公司 | 信息处理方法、装置、存储介质及处理器 |
CN113760370A (zh) * | 2021-01-29 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种实现并发访问的方法、设备和计算机可读存储介质 |
-
2021
- 2021-12-28 CN CN202111628409.4A patent/CN114327797A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694199A (zh) * | 2017-04-10 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 数据同步装置、方法、存储介质及电子设备 |
CN108234481A (zh) * | 2017-12-29 | 2018-06-29 | 上海品顺信息科技有限公司 | 一种控制多机分布式访问外部系统的方法及分布式系统 |
CN109117189A (zh) * | 2018-07-02 | 2019-01-01 | 杭州振牛信息科技有限公司 | 数据处理方法、装置及计算机设备 |
CN113760370A (zh) * | 2021-01-29 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种实现并发访问的方法、设备和计算机可读存储介质 |
CN113535337A (zh) * | 2021-06-07 | 2021-10-22 | 中消云(北京)物联网科技研究院有限公司 | 信息处理方法、装置、存储介质及处理器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904917A (zh) * | 2023-02-22 | 2023-04-04 | 湖北泰跃卫星技术发展股份有限公司 | 物联网异常处理方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8332443B2 (en) | Masterless distributed batch scheduling engine | |
US9934105B2 (en) | Fault tolerance for complex distributed computing operations | |
US9164806B2 (en) | Processing pattern framework for dispatching and executing tasks in a distributed computing grid | |
US10474493B2 (en) | Systems and methods for semi-durable transaction log storage in two-phase commit protocol transaction processing | |
CN111818117A (zh) | 数据更新的方法、装置、存储介质及电子设备 | |
CN111488367B (zh) | 数据一致性的实现方法、装置、设备及计算机存储介质 | |
US20050188068A1 (en) | System and method for monitoring and controlling server nodes contained within a clustered environment | |
CN108108119B (zh) | 一种可扩展的存储集群事物的配置方法及装置 | |
CN114327797A (zh) | 数据协同初始化方法及其装置、设备、介质 | |
CN113590433A (zh) | 数据管理方法、数据管理系统和计算机可读存储介质 | |
CN114130035A (zh) | 一种用户匹配方法、装置、设备及存储介质 | |
US9405603B2 (en) | Naming of nodes in net framework | |
CN112612635A (zh) | 一种应用程序多层级保护方法 | |
CN111400051A (zh) | 一种资源调度方法、装置及系统 | |
CN115269255A (zh) | 应用崩溃处理方法及其装置、设备、介质、产品 | |
US20080235503A1 (en) | Event-based dynamic tunables | |
CN114489956A (zh) | 一种基于云平台的实例启动方法及装置 | |
CN114969067A (zh) | 商品冗余数据更新方法及其装置、设备、介质 | |
CN115495256A (zh) | 服务调用方法、装置、电子设备及存储介质 | |
US11146629B2 (en) | Process transfer between servers | |
CN115473809B (zh) | 一种基于微服务架构的配置处理方法、装置和存储介质 | |
CN115052168B (zh) | 一种标签获取方法、装置、服务器及存储介质 | |
CN114281478B (zh) | 容器运行方法、装置、电子设备及计算机存储介质 | |
CN116302450A (zh) | 任务的批处理方法、装置、计算机设备及存储介质 | |
CN117251291A (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 |