CN111625330A - 跨线程的任务处理方法、装置、服务器及存储介质 - Google Patents
跨线程的任务处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN111625330A CN111625330A CN202010420173.4A CN202010420173A CN111625330A CN 111625330 A CN111625330 A CN 111625330A CN 202010420173 A CN202010420173 A CN 202010420173A CN 111625330 A CN111625330 A CN 111625330A
- Authority
- CN
- China
- Prior art keywords
- thread
- variable
- data structure
- variable data
- current
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种跨线程的任务处理方法、装置、服务器及存储介质,该方法包括:获取当前线程的局部变量与变量值的对应关系;生成用于存储当前线程的局部变量与变量值的对应关系的变量数据结构,作为当前线程的变量数据结构;将当前线程的目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构;目标线程为与当前线程关联的新的线程;调用目标线程的新的变量数据结构,执行当前线程的任务。采用本方法,将目标线程的变量数据结构,整体替换为当前线程的变量数据结构,无需将当前线程在处理任务时所利用的局部变量一个个单独调用到目标线程中,简化了跨线程的任务处理流程,从而提高了跨线程的任务处理效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种跨线程的任务处理方法、装置、服务器及存储介质。
背景技术
随着计算机技术的发展,越来越多的任务通过线程去执行,还有些任务通过跨线程去完成。
相关技术中,目前的跨线程的任务处理方法,一般是通过服务器,将一个线程在处理任务时所利用的局部变量一个个单独调用到另一个线程中,并在调用完毕后,通过这个线程去执行任务;但是,通过将一个线程在处理任务时所利用的局部变量一个个单独调用到另一个线程中,过程比较繁琐,导致跨线程的任务处理时间较长,从而造成跨线程的任务处理效率较低。
发明内容
本公开提供一种跨线程的任务处理方法、装置、服务器及存储介质,以至少解决相关技术中跨线程的任务处理效率较低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种跨线程的任务处理方法,包括:
获取当前线程的局部变量与变量值的对应关系;
根生成用于存储所述当前线程的局部变量与变量值的对应关系的变量数据结构,作为所述当前线程的变量数据结构;
将所述当前线程的目标线程的变量数据结构,替换为所述当前线程的变量数据结构,得到所述目标线程的新的变量数据结构;所述目标线程为与所述当前线程关联的新的线程;
调用所述目标线程的新的变量数据结构,执行所述当前线程的任务。
在一示例性实施例中,所述获取当前线程的局部变量与变量值的对应关系,包括:
获取所述当前线程的局部变量;
获取所述当前线程的所述局部变量的变量值;
根据所述当前线程的所述局部变量的变量值,配置所述当前线程的所述局部变量与所述变量值的对应关系。
在一示例性实施例中,所述获取所述当前线程的局部变量,包括:
获取所述当前线程的局部变量标识符;
获取与所述局部变量标识符对应的局部变量,作为所述当前线程的局部变量。
在一示例性实施例中,所述获取所述当前线程的所述局部变量的变量值,包括:
获取所述局部变量的匹配表;所述匹配表标记有线程标识与变量值的对应关系;
根据所述当前线程的线程标识查询所述线程标识与变量值的对应关系,得到所述当前线程的变量值,作为所述当前线程的所述局部变量的变量值。
在一示例性实施例中,所述将所述当前线程的目标线程的变量数据结构,替换为所述当前线程的变量数据结构,得到所述目标线程的新的变量数据结构,包括:
从预设的线程库中获取所述当前线程的目标线程;
根据预设的变量数据结构获取指令,获取所述目标线程的变量数据结构;
将所述目标线程的变量数据结构,替换为所述当前线程的变量数据结构,得到所述目标线程的新的变量数据结构。
在一示例性实施例中,在将所述当前线程的目标线程的变量数据结构,替换为所述当前线程的变量数据结构,得到所述目标线程的新的变量数据结构之后,还包括:
获取所述目标线程的新的变量数据结构的验证文件;所述验证文件用于验证所述目标线程的新的变量数据结构是否与所述当前线程的变量数据结构相同;
根据所述验证文件对所述目标线程的新的变量数据结构进行验证;
所述调用所述目标线程的新的变量数据结构,执行所述当前线程的任务,包括:
若所述目标线程的新的变量数据结构验证正确,则获取所述当前线程的任务;
调用所述目标线程的新的变量数据结构,执行所述当前线程的任务,得到对应的执行结果。
在一示例性实施例中,在调用所述目标线程的新的变量数据结构,执行所述当前线程的任务之后,还包括:
当所述当前线程的任务执行成功时,则对所述目标线程的新的变量数据结构进行清除处理。
根据本公开实施例的第二方面,提供一种跨线程的任务处理装置,包括:
对应关系获取单元,被配置为执行获取当前线程的局部变量与变量值的对应关系;
数据结构生成单元,被配置为执行生成用于存储所述当前线程的局部变量与变量值的对应关系的变量数据结构,作为所述当前线程的变量数据结构;
数据结构替换单元,被配置为执行将所述当前线程的目标线程的变量数据结构,替换为所述当前线程的变量数据结构,得到所述目标线程的新的变量数据结构;所述目标线程为与所述当前线程关联的新的线程;
任务执行单元,被配置为执行调用所述目标线程的新的变量数据结构,执行所述当前线程的任务。
在一示例性实施例中,所述对应关系获取单元,还被配置为执行获取所述当前线程的局部变量;获取所述当前线程的所述局部变量的变量值;根据所述当前线程的所述局部变量的变量值,配置所述当前线程的所述局部变量与所述变量值的对应关系。
在一示例性实施例中,所述对应关系获取单元,还被配置为执行获取所述当前线程的局部变量标识符;获取与所述局部变量标识符对应的局部变量,作为所述当前线程的局部变量。
在一示例性实施例中,所述对应关系获取单元,还被配置为执行获取所述局部变量的匹配表;所述匹配表标记有线程标识与变量值的对应关系;根据所述当前线程的线程标识查询所述线程标识与变量值的对应关系,得到所述当前线程的变量值,作为所述当前线程的所述局部变量的变量值。
在一示例性实施例中,所述数据结构替换单元,还被配置为执行从预设的线程库中获取所述当前线程的目标线程;根据预设的变量数据结构获取指令,获取所述目标线程的变量数据结构;将所述目标线程的变量数据结构,替换为所述当前线程的变量数据结构,得到所述目标线程的新的变量数据结构。
在一示例性实施例中,所述跨线程的任务处理装置还包括数据结构验证单元,被配置为执行获取所述目标线程的新的变量数据结构的验证文件;所述验证文件用于验证所述目标线程的新的变量数据结构是否与所述当前线程的变量数据结构相同;根据所述验证文件对所述目标线程的新的变量数据结构进行验证。
在一示例性实施例中,所述任务执行单元,还被配置为执行若所述目标线程的新的变量数据结构验证正确,则获取所述当前线程的任务;调用所述目标线程的新的变量数据结构,执行所述当前线程的任务,得到对应的执行结果。
在一示例性实施例中,所述跨线程的任务处理装置还包括数据结构清除单元,被配置为执行当所述当前线程的任务执行成功时,则对所述目标线程的新的变量数据结构进行清除处理。
根据本公开实施例的第三方面,提供一种服务器,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面的任一项实施例中所述的跨线程的任务处理方法。
根据本公开实施例的第四方面,提供一种存储介质,包括:当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如第一方面的任一项实施例中所述的跨线程的任务处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的跨线程的任务处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过获取当前线程的局部变量与变量值的对应关系,并生成用于存储当前线程的局部变量与变量值的对应关系的变量数据结构,作为当前线程的变量数据结构;然后将当前线程的目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构,目标线程为与当前线程关联的新的线程;最后调用目标线程的新的变量数据结构,执行当前线程的任务;实现了在跨线程任务处理时,将目标线程的变量数据结构,整体替换为当前线程的变量数据结构,以生成目标线程的新的变量数据结构的目的,无需将当前线程在处理任务时所利用的局部变量一个个单独调用到目标线程中,从而简化了跨线程的任务处理流程,进一步提高了跨线程的任务处理效率;同时,降低了跨线程的任务处理成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种跨线程的任务处理方法的应用环境图。
图2是根据一示例性实施例示出的一种跨线程的任务处理方法的流程图。
图3是根据一示例性实施例示出的获取当前线程的局部变量与变量值的对应关系的步骤的流程图。
图4是根据另一示例性实施例示出的获取当前线程的局部变量与变量值的对应关系的步骤的流程图。
图5是根据一示例性实施例示出的另一种跨线程的任务处理方法的流程图。
图6是根据一示例性实施例示出的一种跨线程的任务处理装置的框图。
图7是根据一示例性实施例示出的一种服务器的内部结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所提供的跨线程的任务处理方法,可以应用于如图1所示的应用环境中。参照图1,该应用环境图包括服务器110,服务器110可以用独立的服务器或者是多个服务器组成的服务器集群来实现。图1中以服务器110是独立的服务器为例进行说明,参考图1,服务器110获取当前线程的局部变量与变量值的对应关系;生成用于存储当前线程的局部变量与变量值的对应关系的变量数据结构,作为当前线程的变量数据结构;将当前线程的目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构;目标线程为与当前线程关联的新的线程;调用目标线程的新的变量数据结构,执行当前线程的任务。
需要说明是,本公开所提供的跨线程的任务处理方法,还可以应用在其他跨线程的任务处理场景,具体本申请不做限定。
图2是根据一示例性实施例示出的一种跨线程的任务处理方法的流程图,如图2所示,跨线程的任务处理方法用于如图1所示的服务器110中,包括以下步骤:
在步骤S210中,获取当前线程的局部变量与变量值的对应关系。
其中,线程是指服务器的操作***能够进行运算调度的最小单位,它被包含在进程之中,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
其中,局部变量是在全局声明的一个变量,具体变量值在每一个线程中可以有不同的值,即每一个线程访问这个局部变量时,可以拿到不同的变量值;在实际场景中,局部变量具体是指ThreadLocal,变量值具体是指线程的变量副本。
需要说明是,每一个局部变量,都有一个线程与该线程在该局部变量的变量值的对应关系,比如Map<Thread,T>,其中Thread是指线程,T是指线程在该局部变量的变量值。
其中,当前线程的局部变量与变量值的对应关系,是指当前线程所利用的局部变量与变量值存在一一对应的关系。
具体地,服务器获取当前线程的多个局部变量的变量值,根据当前线程的多个局部变量的变量值,构建当前线程的局部变量与变量值的对应关系。这样,有利于后续根据当前线程的局部变量与变量值的对应关系,生成当前线程的变量数据结构。
举例说明,服务器响应终端发送的任务处理请求,比如业务处理请求,识别得到当前线程所利用的局部变量;获取局部变量的线程与变量值的对应关系,从局部变量的线程与变量值的对应关系中,获取线程为当前线程的变量值,作为当前线程的局部变量的变量值;参照此方法,可以得到当前线程的多个局部变量的变量值;根据当前线程的多个局部变量的变量值,构建当前线程的局部变量与变量值的对应关系。
在步骤S220中,生成用于存储当前线程的局部变量与变量值的对应关系的变量数据结构,作为当前线程的变量数据结构。
其中,变量数据结构是一种用于存储线程的各个局部变量与变量值的对应关系的数据结构;当前线程的变量数据结构存储了当前线程的各个局部变量与变量值的对应关系,比如局部变量1与对应的变量值1,局部变量2与对应的变量值2······局部变量n与对应的变量值n;在实际场景中,线程的变量数据结构具体是指scope。
具体地,服务器获取预设的变量数据结构生成指令,根据预设的变量数据结构生成指令,基于当前线程的局部变量与变量值的对应关系,生成用于存储当前线程的局部变量与变量值的对应关系的变量数据结构,作为当前线程的变量数据结构。其中,预设的变量数据结构生成指令是一种能够基于线程的局部变量与变量值的对应关系,自动生成线程的变量数据结构的指令。这样,有利于后续将目标线程的变量数据结构,整体替换为当前线程的变量数据结构,无需将当前线程所利用的局部变量一个个单独调用到目标线程中,从而节省了跨线程的任务处理时间,进一步提高了跨线程的任务处理效率。
进一步地,服务器还可以获取当前线程的每个局部变量在变量数据结构模板中的位置标识符,根据位置标识符,将当前线程的每个局部变量与对应的变量值导入到变量数据结构模板中的对应位置,生成当前线程的变量数据结构,以存储当前线程的局部变量与变量值的对应关系。
在步骤S230中,将当前线程的目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构;目标线程为与当前线程关联的新的线程。
其中,目标线程是指与当前线程关联的新的线程,具体是指真正处理当前线程的任务的线程,也具有对应的变量数据结构。
具体地,服务器获取与当前线程关联的新的线程,作为当前线程的目标线程;获取目标线程的变量数据结构,根据当前线程的变量数据结构以及目标线程的变量数据结构,生成与目标线程的变量数据结构对应的替换文件;根据该替换文件对目标线程的变量数据结构进行整体替换,得到目标线程的新的变量数据结构。其中,替换文件包含了当前线程的变量数据结构与目标线程的变量数据结构之间的替换关系。这样,将目标线程的变量数据结构整体替换为当前线程的变量数据结构,无需将当前线程的每个局部变量一一拷贝到目标线程中,从而简化了跨线程的任务处理流程,进一步提高了跨线程的任务处理效率,同时降低了跨线程的任务处理成本。
举例说明,服务器从当前空闲的线程中随机选择一个线程,作为当前线程的目标线程;获取目标线程的调用文件,从目标线程的调用文件中,识别出与预设的变量数据结构标识符对应的信息,作为目标线程的变量数据结构;将目标线程的变量数据结构整体替换为当前线程的变量数据结构,进而得到目标线程的新的变量数据结构。
在步骤S240中,调用目标线程的新的变量数据结构,执行当前线程的任务。
具体地,服务器获取当前线程携带的任务标识,根据任务标识从任务库获取该任务标识对应的任务,作为当前线程的任务;从目标线程的新的变量数据结构中调用各个局部变量的变量值,根据各个局部变量的变量值执行当前线程的任务,得到对应的任务执行结果,比如业务审批完毕、用户登录权限验证完毕等。这样,通过调用目标线程的新的变量数据结构,执行当前线程的任务,避免了将当前线程在处理任务时所利用的局部变量一个个单独调用到目标线程中容易出现遗漏,导致任务的处理成功率较低的缺陷,进一步提高了跨线程的任务处理成功率。
进一步地,服务器还可以将执行当前线程的任务所得到的任务执行结果发送至对应的任务请求终端,通过任务请求终端的界面展示任务执行结果,便于任务请求终端的人员进行查看。
上述跨线程的任务处理方法中,通过获取当前线程的局部变量与变量值的对应关系,并生成用于存储当前线程的局部变量与变量值的对应关系的变量数据结构,作为当前线程的变量数据结构;然后将当前线程的目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构,目标线程为与当前线程关联的新的线程;最后调用目标线程的新的变量数据结构,执行当前线程的任务;实现了在跨线程任务处理时,将目标线程的变量数据结构,整体替换为当前线程的变量数据结构,以生成目标线程的新的变量数据结构的目的,无需将当前线程在处理任务时所利用的局部变量一个个单独调用到目标线程中,从而简化了跨线程的任务处理流程,进一步提高了跨线程的任务处理效率;同时,降低了跨线程的任务处理成本。
在一示例性实施例中,如图3所示,在步骤S210中,获取当前线程的局部变量与变量值的对应关系,具体可以通过以下步骤实现:
在步骤S310中,获取当前线程的局部变量。
具体地,服务器获取当前线程的局部变量获取指令,根据当前线程的局部变量获取指令,从声明的局部变量中获取当前线程的局部变量。其中,局部变量获取指令是一种能够从声明的局部变量中获取当前线程的局部变量的指令。
在步骤S320中,获取当前线程的局部变量的变量值。
具体地,服务器从局部变量的多个变量值中,筛选出该局部变量在当前线程中的变量值,作为当前线程的局部变量的变量值;参照此方法,可以得到当前线程的多个局部变量的变量值。
在步骤S330中,根据当前线程的局部变量的变量值,配置当前线程的局部变量与变量值的对应关系。
具体地,服务器根据当前线程的局部变量以及局部变量的变量值,配置当前线程的局部变量与变量值的一一对应关系;举例说明,假设在当前线程中,有4个局部变量,分别是局部变量A、局部变量B、局部变量C和局部变量D,其中,局部变量A的变量值为A1,局部变量B的变量值为B1,局部变量C的变量值为C1,局部变量D的变量值为D1,则配置后的当前线程的局部变量与变量值的对应关系为(A-A1,B-B1,C-C1,D-D1)。
本公开实施例提供的技术方案,通过获取当前线程的局部变量与变量值的对应关系,有利于后续根据当前线程的局部变量与变量值的对应关系,生成用于存储该对应关系的变量数据结构,作为当前线程的变量数据结构。
在一示例性实施例中,在步骤S310中,获取当前线程的局部变量,具体包括内容:获取当前线程的局部变量标识符;获取与局部变量标识符对应的局部变量,作为当前线程的局部变量。
其中,局部变量标识符是一种用于标识当前线程的局部变量的标识符。
具体地,服务器从声明的局部变量中,筛选出与当前线程的局部变量标识符对应的局部变量,作为当前线程的局部变量。
本公开实施例提供的技术方案,通过获取当前线程的局部变量,有利于后续获取当前线程的局部变量的变量值,进而根据当前线程的局部变量的变量值,配置当前线程的局部变量与变量值的对应关系。
在一示例性实施例中,在步骤S320中,获取当前线程的局部变量的变量值,具体包括内容:获取局部变量的匹配表;匹配表标记有线程标识与变量值的对应关系;根据当前线程的线程标识查询线程标识与变量值的对应关系,得到当前线程的变量值,作为当前线程的局部变量的变量值。
其中,线程标识是指线程的标识信息,比如线程编号、线程名称等;线程标识与变量值的对应关系是指在同一个局部变量中,每个线程标识,对应一个变量值。
具体地,服务器从记录有局部变量信息的变量声明文件中,提取出与局部变量的匹配表标识符对应的匹配表,作为该局部变量的匹配表;对局部变量的匹配表进行解析,得到线程标识与变量值的对应关系;获取当前线程的线程标识,查询线程标识与变量值的对应关系,得到与当前线程的线程标识对应的变量值,作为当前线程的局部变量的变量值;参照此方法,可以得到当前线程的多个局部变量的变量值。
举例说明,假设当前线程的线程标识为a,其余线程的线程标识分别为b、c、d、e、f和g;全局有3个局部变量,分别是局部变量A、局部变量B和局部变量C,其中,局部变量A、局部变量B和局部变量C对应的匹配表分别是(a-A1,b-A2,c-A3)、(a-B1,d-B2,e-B3)和(a-C3,f-C2,g-C3),a-A1表示线程标识为a的线程在局部变量A中的变量值为A1,b-A2、c-A3、a-B1、d-B2、e-B3、a-C3、f-C2、g-C3也是类似的意思,在此不再赘述。通过分析局部变量A、局部变量B和局部变量C的匹配表,可以得到当前线程在局部变量A中的变量值为A1,在局部变量B中的变量值为B1以及在局部变量C中的变量值为C1,从而得到当前线程的多个局部变量的变量值。
本公开实施例提供的技术方案,根据当前线程的线程标识查询线程标识与变量值的对应关系,可以得到当前线程的多个局部变量的变量值;便于后续根据当前线程的多个局部变量的变量值,生成当前线程的变量数据结构。
在一示例性实施例中,如图4所示,在步骤S210中,获取当前线程的局部变量与变量值的对应关系,具体还可以通过以下步骤实现:
在步骤S410中,获取当前线程的局部变量标识符;获取与局部变量标识符对应的局部变量,作为当前线程的局部变量。
在步骤S420中,获取局部变量的匹配表;匹配表标记有线程标识与变量值的对应关系。
在步骤S430中,根据当前线程的线程标识查询线程标识与变量值的对应关系,得到当前线程的变量值,作为当前线程的局部变量的变量值。
在步骤S440中,根据当前线程的局部变量的变量值,配置当前线程的局部变量与变量值的对应关系。
本公开实施例提供的技术方案,通过配置当前线程的局部变量与变量值的对应关系,有利于后续根据当前线程的局部变量与变量值的对应关系,生成当前线程的变量数据结构,进而将目标线程的变量数据结构整体替换为当前线程的变量数据结构,无需将当前线程在处理任务时所利用的局部变量一个个单独调用到目标线程中,从而简化了跨线程的任务处理流程,进一步提高了跨线程的任务处理效率。
在一示例性实施例中,在步骤S230中,将当前线程的目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构,包括:从预设的线程库中获取当前线程的目标线程;根据预设的变量数据结构获取指令,获取目标线程的变量数据结构;将目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构。
其中,预设的线程库中保留有多个空闲的线程,具体是指线程池;预设的变量数据结构获取指令是一种能够自动获取线程的变量数据结构的指令。
具体地,服务器从预设的线程库中随机选取出一个空闲的线程,作为与当前线程关联的目标线程;根据预设的变量数据结构获取指令,对目标线程的文件进行识别,得到目标线程的变量数据结构;比如,对预设的变量数据结构获取指令进行解析,得到变量数据结构标识符,从目标线程的文件中提取出与该变量数据结构标识符对应的信息,作为目标线程的变量数据结构;将当前线程的变量数据结构作为替换对象,将目标线程的变量数据结构作为可替换对象,从而生成当前线程的变量数据结构和目标线程的变量数据结构之间的替换关系;根据替换关系,将目标线程的变量数据结构,自动替换为当前线程的变量数据结构,从而得到目标线程的新的变量数据结构。
例如,若当前线程有4个局部变量A、B、C、D,对应的变量值分别是A1、B1、C1、D1,那么当前线程的变量数据结构为TL<scope1>,scope1:A-A1,B-B1,C-C1,D-D1;目标线程的变量数据结构为TL<scope2>,那么将目标线程的变量数据结构TL<scope2>整体替换为当前线程的变量数据结构TL<scope1>,得到目标线程的新的变量数据结构为TL<scope1>,其中scope1:A-A1,B-B1,C-C1,D-D1。本公开实施例提供的技术方案,将目标线程的变量数据结构整体替换为当前线程的变量数据结构,无需将当前线程的每个局部变量一一拷贝到目标线程中,从而简化了跨线程的任务处理流程,进一步提高了跨线程的任务处理效率,同时降低了跨线程的任务处理成本。
在一示例性实施例中,在步骤S230中,在将当前线程的目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构之后,还包括:获取目标线程的新的变量数据结构的验证文件;验证文件用于验证目标线程的新的变量数据结构是否与当前线程的变量数据结构相同;根据验证文件对目标线程的新的变量数据结构进行验证。
其中,验证文件是一种能够验证线程的变量数据结构是否完全替换正确的文件,具体用于验证目标线程的新的变量数据结构是否与当前线程的变量数据结构相同;不同线程,对应的变量数据结构的验证文件不一样。
具体地,服务器根据当前线程的变量数据结构,生成目标线程的新的变量数据结构的验证文件;根据目标线程的新的变量数据结构的验证文件,验证目标线程的新的变量数据结构是否与当前线程的变量数据结构相同,进而验证目标线程的新的变量数据结构是否完全替换正确;若目标线程的新的变量数据结构替换正确,则确认目标线程的新的变量数据结构验证成功;若目标线程的新的变量数据结构替换错误,则确认目标线程的新的变量数据结构验证失败,并重新生成目标线程的新的变量数据结构。
本公开实施例提供的技术方案,通过目标线程的新的变量数据结构的验证文件,对目标线程的新的变量数据结构进行验证,有利于确认目标线程的新的变量数据结构是否完全替换为当前线程的变量数据结构,避免替换错误导致跨线程的任务处理失败,从而造成跨线程的任务处理成功率较低的缺陷,进一步提高了跨线程的任务处理成功率。
在一示例性实施例中,在步骤S240中,调用目标线程的新的变量数据结构,执行当前线程的任务,包括:若目标线程的新的变量数据结构验证正确,则获取当前线程的任务;调用目标线程的新的变量数据结构,执行当前线程的任务,得到对应的执行结果。
具体地,在目标线程的新的变量数据结构验证正确的情况下,服务器根据目标线程的新的变量数据结构中的各个局部变量的变量值,执行当前线程的任务,得到对应的任务执行结果。
举例说明,假设目标线程的新的变量数据结构为(A-A1,B-B1,C-C1,D-D1),当前线程的任务在执行的过程中需要使用到这4个局部变量A、B、C、D;当当前线程的任务在执行的过程中需要使用到局部变量A时,服务器从目标线程的新的变量数据结构中调用局部变量A的变量值A1,根据局部变量A的变量值A1,执行当前线程的任务;参照此方法,服务器从目标线程的新的变量数据结构中依次调用各个局部变量的变量值,执行当前线程的任务。
本公开实施例提供的技术方案,在目标线程的新的变量数据结构验证正确的情况下,才调用目标线程的新的变量数据结构,执行当前线程的任务,有利于提高了跨线程的任务处理成功率。
在一示例性实施例中,在步骤S240中,在调用目标线程的新的变量数据结构,执行当前线程的任务之后,还包括:当当前线程的任务执行成功时,则对目标线程的新的变量数据结构进行清除处理。
具体地,服务器从对当前线程的任务的执行结果中提取出任务执行标识,若任务执行标识与任务执行成功标识匹配,则确认当前线程的任务执行成功,则根据预设的清除处理指令,对目标线程的新的变量数据结构进行一次清除处理,即对目标线程的整个变量数据结构进行清除处理;若任务执行标识与任务执行失败标识匹配,则确认当前线程的任务执行失败,则重新执行当前线程的任务。
进一步地,服务器还可以在当前线程的任务执行失败的情况下,对当前线程的变量数据结构进行清除处理,避免内存泄漏。
本公开实施例提供的技术方案,在当前线程的任务执行成功的情况下,对目标线程的新的变量数据结构进行清除处理,避免了内存泄漏;同时,无需将目标线程在执行任务时所利用的局部变量进行单独一一清理,从而简化了线程的局部变量清除流程,进一步提高了线程的局部变量清除效率;此外,将目标线程在执行任务时所利用的局部变量进行整体清除,避免了对局部变量进行单独一一清除,容易出现遗漏,导致内存泄漏的缺陷。
在一示例性实施例中,本公开还提供一种应用场景,该应用场景应用上述的跨线程的任务处理方法。具体地,该跨线程的任务处理方法在该应用场景的应用如下:维护一个数据结构scope,内部包含hashmap<scope_key,value>映射关系。声明ThreadLocal,该ThreadLocal的值为上述的scope数据结构。当使用ThreadLocal时,将ThreadLocal替换为scope_key;其中,scope_key内部的读逻辑为:首先访问ThreadLocal的值,得到scope数据结构,再根据scope_key查找到对应的值;scope_key内部的写逻辑为:首先访问ThreadLocal的值,得到scope数据结构,再写入对应scope_key对应的值。当从本线程内投递任务到另外一个线程,并希望保留当前线程内的scope值时,只要从当前线程上下文读取ThreadLocal的值,获得当前线程的scope引用,然后把该引用赋值到目标线程中的ThreadLocal中覆盖。当需要清理上下文信息时,只需要清理ThreadLocal中的scope引用,即可完成所有上下文信息的清理,不需要逐一清理ThreadLocal的值。
本公开实施例提供的技术方案,通过使用scope代替ThreadLocal,可以使得代码更加安全和可靠,不会出现内存泄漏;且每次进行信息共享时,只要进行一次引用拷贝即可,不需要把该线程池中的所有值均执行引用拷贝,从而降低了跨线程的任务处理成本。
在一示例性实施例中,如图5所示,提供了另一种跨线程的任务处理方法,具体包括以下步骤:
在步骤S510中,获取当前线程的局部变量标识符;获取与局部变量标识符对应的局部变量,作为当前线程的局部变量。
在步骤S520中,获取局部变量的匹配表;匹配表标记有线程标识与变量值的对应关系。
在步骤S530中,根据当前线程的线程标识查询线程标识与变量值的对应关系,得到当前线程的变量值,作为当前线程的局部变量的变量值。
在步骤S540中,根据当前线程的局部变量的变量值,配置当前线程的局部变量与变量值的对应关系。
在步骤S550中,生成用于存储当前线程的局部变量与变量值的对应关系的变量数据结构,作为当前线程的变量数据结构。
在步骤S560中,将当前线程的目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构;目标线程为与当前线程关联的新的线程。
在步骤S570中,获取目标线程的新的变量数据结构的验证文件;根据验证文件对目标线程的新的变量数据结构进行验证;验证文件用于验证目标线程的新的变量数据结构是否与当前线程的变量数据结构相同。
在步骤S580中,若目标线程的新的变量数据结构验证正确,则获取当前线程的任务;调用目标线程的新的变量数据结构,执行当前线程的任务。
在步骤S590中,当当前线程的任务执行成功时,则对目标线程的新的变量数据结构进行清除处理。
上述跨线程的任务处理方法,通过获取当前线程的局部变量与变量值的对应关系,并生成用于存储当前线程的局部变量与变量值的对应关系的变量数据结构,作为当前线程的变量数据结构;然后将当前线程的目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构,目标线程为与当前线程关联的新的线程;最后调用目标线程的新的变量数据结构,执行当前线程的任务;实现了在跨线程任务处理时,将目标线程的变量数据结构,整体替换为当前线程的变量数据结构,以生成目标线程的新的变量数据结构的目的,无需将当前线程在处理任务时所利用的局部变量一个个单独调用到目标线程中,从而简化了跨线程的任务处理流程,进一步提高了跨线程的任务处理效率,降低了跨线程的任务处理成本;同时,在任务执行成功的情况下,将目标线程的新的变量数据结构进行清除处理,可以避免目标线程的新的变量数据结构被保存下来,导致内存泄漏的缺陷。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图6是根据一示例性实施例示出的一种跨线程的任务处理装置的框图。参照图6,该装置包括对应关系获取单元610,数据结构构建单元620,数据结构替换单元630和任务执行单元640。
对应关系获取单元610,被配置为执行获取当前线程的局部变量与变量值的对应关系。
数据结构生成单元620,被配置为执行生成用于存储当前线程的局部变量与变量值的对应关系的变量数据结构,作为当前线程的变量数据结构。
数据结构替换单元630,被配置为执行将当前线程的目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构;目标线程为与当前线程关联的新的线程。
任务执行单元640,被配置为执行调用目标线程的新的变量数据结构,执行当前线程的任务。
上述跨线程的任务处理装置,通过获取当前线程的局部变量与变量值的对应关系,并生成用于存储当前线程的局部变量与变量值的对应关系的变量数据结构,作为当前线程的变量数据结构;然后将当前线程的目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构,目标线程为与当前线程关联的新的线程;最后调用目标线程的新的变量数据结构,执行当前线程的任务;实现了在跨线程任务处理时,将目标线程的变量数据结构,整体替换为当前线程的变量数据结构,以生成目标线程的新的变量数据结构的目的,无需将当前线程在处理任务时所利用的局部变量一个个单独调用到目标线程中,从而简化了跨线程的任务处理流程,进一步提高了跨线程的任务处理效率;同时,降低了跨线程的任务处理成本。
在一示例性实施例中,对应关系获取单元610,还被配置为执行获取当前线程的局部变量;获取当前线程的局部变量的变量值;根据当前线程的局部变量的变量值,得到当前线程的局部变量与变量值的对应关系。
在一示例性实施例中,对应关系获取单元610,还被配置为执行获取当前线程的局部变量标识符;获取与局部变量标识符对应的局部变量,作为当前线程的局部变量。
在一示例性实施例中,对应关系获取单元610,还被配置为执行获取局部变量的匹配表;匹配表标记有线程标识与变量值的对应关系;根据当前线程的线程标识查询线程标识与变量值的对应关系,得到当前线程的变量值,作为当前线程的局部变量的变量值。
在一示例性实施例中,数据结构替换单元630,还被配置为执行从预设的线程库中获取当前线程的目标线程;根据预设的变量数据结构获取指令,获取目标线程的变量数据结构;将目标线程的变量数据结构,替换为当前线程的变量数据结构,得到目标线程的新的变量数据结构。
在一示例性实施例中,跨线程的任务处理装置还包括数据结构验证单元,被配置为执行获取目标线程的新的变量数据结构的验证文件;验证文件用于验证目标线程的新的变量数据结构是否与当前线程的变量数据结构相同;根据验证文件对目标线程的新的变量数据结构进行验证。
在一示例性实施例中,任务执行单元640,还被配置为执行若目标线程的新的变量数据结构验证正确,则获取当前线程的任务;调用目标线程的新的变量数据结构,执行当前线程的任务,得到对应的执行结果。
在一示例性实施例中,跨线程的任务处理装置还包括数据结构清除单元,被配置为执行当当前线程的任务执行成功时,则对目标线程的新的变量数据结构进行清除处理。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种用于执行上述的跨线程的任务处理方法的设备700的框图。例如,设备700可以为一服务器。参照图7,设备700包括处理组件720,其进一步包括一个或多个处理器,以及由存储器722所代表的存储器资源,用于存储可由处理组件720的执行的指令,例如应用程序。存储器722中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件720被配置为执行指令,以执行上述跨线程的任务处理方法。
设备700还可以包括一个电源组件724被配置为执行设备700的电源管理,一个有线或无线网络接口726被配置为将设备700连接到网络,和一个输入输出(I/O)接口728。设备700可以操作基于存储在存储器722的操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器722,上述指令可由设备700的处理器执行以完成上述方法。存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,程序产品包括计算机程序,计算机程序存储在可读存储介质中,设备的至少一个处理器从该可读存储介质读取并执行计算机程序,使得设备执行本公开的任一项实施例中所述的跨线程的任务处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种跨线程的任务处理方法,其特征在于,包括:
获取当前线程的局部变量与变量值的对应关系;
生成用于存储所述当前线程的局部变量与变量值的对应关系的变量数据结构,作为所述当前线程的变量数据结构;
将所述当前线程的目标线程的变量数据结构,替换为所述当前线程的变量数据结构,得到所述目标线程的新的变量数据结构;所述目标线程为与所述当前线程关联的新的线程;
调用所述目标线程的新的变量数据结构,执行所述当前线程的任务。
2.根据权利要求1所述的跨线程的任务处理方法,其特征在于,所述获取当前线程的局部变量与变量值的对应关系,包括:
获取所述当前线程的局部变量;
获取所述当前线程的所述局部变量的变量值;
根据所述当前线程的所述局部变量的变量值,配置所述当前线程的所述局部变量与所述变量值的对应关系。
3.根据权利要求2所述的跨线程的任务处理方法,其特征在于,所述获取所述当前线程的局部变量,包括:
获取所述当前线程的局部变量标识符;
获取与所述局部变量标识符对应的局部变量,作为所述当前线程的局部变量。
4.根据权利要求2所述的跨线程的任务处理方法,其特征在于,所述获取所述当前线程的所述局部变量的变量值,包括:
获取所述局部变量的匹配表;所述匹配表标记有线程标识与变量值的对应关系;
根据所述当前线程的线程标识查询所述线程标识与变量值的对应关系,得到所述当前线程的变量值,作为所述当前线程的所述局部变量的变量值。
5.根据权利要求1所述的跨线程的任务处理方法,其特征在于,所述将所述当前线程的目标线程的变量数据结构,替换为所述当前线程的变量数据结构,得到所述目标线程的新的变量数据结构,包括:
从预设的线程库中获取所述当前线程的目标线程;
根据预设的变量数据结构获取指令,获取所述目标线程的变量数据结构;
将所述目标线程的变量数据结构,替换为所述当前线程的变量数据结构,得到所述目标线程的新的变量数据结构。
6.根据权利要求1所述的跨线程的任务处理方法,其特征在于,在将所述当前线程的目标线程的变量数据结构,替换为所述当前线程的变量数据结构,得到所述目标线程的新的变量数据结构之后,还包括:
获取所述目标线程的新的变量数据结构的验证文件;所述验证文件用于验证所述目标线程的新的变量数据结构是否与所述当前线程的变量数据结构相同;
根据所述验证文件对所述目标线程的新的变量数据结构进行验证;
所述调用所述目标线程的新的变量数据结构,执行所述当前线程的任务,包括:
若所述目标线程的新的变量数据结构验证正确,则获取所述当前线程的任务;
调用所述目标线程的新的变量数据结构,执行所述当前线程的任务,得到对应的执行结果。
7.根据权利要求1至6任一项所述的跨线程的任务处理方法,其特征在于,在调用所述目标线程的新的变量数据结构,执行所述当前线程的任务之后,还包括:
当所述当前线程的任务执行成功时,则对所述目标线程的新的变量数据结构进行清除处理。
8.一种跨线程的任务处理装置,其特征在于,包括:
对应关系获取单元,被配置为执行获取当前线程的局部变量与变量值的对应关系;
数据结构生成单元,被配置为执行生成用于存储所述当前线程的局部变量与变量值的对应关系的变量数据结构,作为所述当前线程的变量数据结构;
数据结构替换单元,被配置为执行将所述当前线程的目标线程的变量数据结构,替换为所述当前线程的变量数据结构,得到所述目标线程的新的变量数据结构;所述目标线程为与所述当前线程关联的新的线程;
任务执行单元,被配置为执行调用所述目标线程的新的变量数据结构,执行所述当前线程的任务。
9.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的跨线程的任务处理方法。
10.一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1至7中任一项所述的跨线程的任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010420173.4A CN111625330A (zh) | 2020-05-18 | 2020-05-18 | 跨线程的任务处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010420173.4A CN111625330A (zh) | 2020-05-18 | 2020-05-18 | 跨线程的任务处理方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111625330A true CN111625330A (zh) | 2020-09-04 |
Family
ID=72260632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010420173.4A Pending CN111625330A (zh) | 2020-05-18 | 2020-05-18 | 跨线程的任务处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625330A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463412A (zh) * | 2020-12-11 | 2021-03-09 | 中国人寿保险股份有限公司 | 一种线程变量在线程切换过程中复制的方法及相关设备 |
CN115543343A (zh) * | 2022-11-28 | 2022-12-30 | 北京大学 | 变量跨线程操作方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244516A1 (en) * | 2007-03-26 | 2008-10-02 | Microsoft Corporation | Variable capture in object oriented languages |
CN101551761A (zh) * | 2009-04-30 | 2009-10-07 | 浪潮电子信息产业股份有限公司 | 一种异构多处理器中共享流内存的方法 |
US9582312B1 (en) * | 2015-02-04 | 2017-02-28 | Amazon Technologies, Inc. | Execution context trace for asynchronous tasks |
CN109491882A (zh) * | 2018-11-06 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种机箱数据处理方法、***、设备机箱及可读存储介质 |
CN109766387A (zh) * | 2018-12-20 | 2019-05-17 | 平安信托有限责任公司 | 数据处理文件生成方法、装置、计算机设备和存储介质 |
CN110162387A (zh) * | 2019-04-09 | 2019-08-23 | 口口相传(北京)网络技术有限公司 | 线程调度方法、装置、计算机设备及计算机可读存储介质 |
-
2020
- 2020-05-18 CN CN202010420173.4A patent/CN111625330A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244516A1 (en) * | 2007-03-26 | 2008-10-02 | Microsoft Corporation | Variable capture in object oriented languages |
CN101551761A (zh) * | 2009-04-30 | 2009-10-07 | 浪潮电子信息产业股份有限公司 | 一种异构多处理器中共享流内存的方法 |
US9582312B1 (en) * | 2015-02-04 | 2017-02-28 | Amazon Technologies, Inc. | Execution context trace for asynchronous tasks |
CN109491882A (zh) * | 2018-11-06 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种机箱数据处理方法、***、设备机箱及可读存储介质 |
CN109766387A (zh) * | 2018-12-20 | 2019-05-17 | 平安信托有限责任公司 | 数据处理文件生成方法、装置、计算机设备和存储介质 |
CN110162387A (zh) * | 2019-04-09 | 2019-08-23 | 口口相传(北京)网络技术有限公司 | 线程调度方法、装置、计算机设备及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463412A (zh) * | 2020-12-11 | 2021-03-09 | 中国人寿保险股份有限公司 | 一种线程变量在线程切换过程中复制的方法及相关设备 |
CN115543343A (zh) * | 2022-11-28 | 2022-12-30 | 北京大学 | 变量跨线程操作方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309071B (zh) | 测试代码的生成方法及模块、测试方法及*** | |
US8108456B2 (en) | Method and apparatus for migrating the system environment on which the applications depend | |
CN109800258B (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
US8869111B2 (en) | Method and system for generating test cases for a software application | |
US8549045B2 (en) | Test data generation and scale up for database testing using unique common factor sequencing | |
CN112256558A (zh) | 一种测试用例的生成方法、装置、计算机设备及存储介质 | |
CN111258591B (zh) | 程序部署任务执行方法、装置、计算机设备和存储介质 | |
CN111414391A (zh) | 一种访问多数据源的方法及*** | |
CN111190823A (zh) | Ui自动化测试方法、电子装置及计算机可读存储介质 | |
CN111625330A (zh) | 跨线程的任务处理方法、装置、服务器及存储介质 | |
CN110727575B (zh) | 一种信息处理方法、***、装置、以及存储介质 | |
CN105468445B (zh) | 一种基于WEB的Spark应用程序调度方法及*** | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及*** | |
CN109684138A (zh) | 一种可视化硬盘自动测试方法、装置、终端及存储介质 | |
US11775643B2 (en) | Method and system for labeling object and generating security policy of operating system | |
CN111026371B (zh) | 一种游戏开发方法、装置、电子设备及存储介质 | |
CN115705297A (zh) | 代码调用检测方法、装置、计算机设备以及存储介质 | |
CN112711531A (zh) | 用例构建方法、用例构建装置以及可读存储介质 | |
CN115878448A (zh) | 数据库测试方法、分布式数据库、存储介质 | |
CN112732367A (zh) | 事件流程的处理方法、装置、设备及可读存储介质 | |
CN114595159B (zh) | 测试数据生成方法、装置、设备及存储介质 | |
CN110990475B (zh) | 批量任务***方法、装置、计算机设备及存储介质 | |
CN110570276B (zh) | 一种服务器自适应匹配用户需求的匹配***及方法 | |
CN108446122B (zh) | 一种参数一致性验证方法及装置 | |
CN112380108A (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 |