CN104462077A - 数据库事务处理方法与装置 - Google Patents
数据库事务处理方法与装置 Download PDFInfo
- Publication number
- CN104462077A CN104462077A CN201310414935.XA CN201310414935A CN104462077A CN 104462077 A CN104462077 A CN 104462077A CN 201310414935 A CN201310414935 A CN 201310414935A CN 104462077 A CN104462077 A CN 104462077A
- Authority
- CN
- China
- Prior art keywords
- affairs
- judged result
- thread
- transaction
- module
- 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
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/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开一种数据库事务处理方法与装置,用于让事务可以跨线程工作,该数据库事务处理方法包括:判断第一事务中的用户是否处于工作状态,得出第一判断结果;在所述第一判断结果为所述用户处于非工作状态时,控制所述第一事务处于暂停状态,并将所述第一事务所对应的线程给其他用户使用;判断所述用户是否返回工作状态,并得出第二判断结果;在所述第二判断结果为所述用户返回工作状态时,调用所述第一事务,并在任一空闲线程上执行所述第一事务。采用本发明的技术方案,可以让事务跨线程工作,这样提高单个线程的利用率,让单个线程可不间断的服务于多个用户。
Description
技术领域
本发明涉及计算机数据库领域,更具体的,涉及一种数据库事务处理方法与装置。
背景技术
数据库事务是DBMS(database management system,数据库管理***)执行过程中的一个逻辑单位,由一个或者多个操作序列构成。它保证了多个操作之间的原子性,即要么全做,要么全不做。典型的例子就是银行的转账功能,即甲向乙转账100元,那么甲的账户减去100元和乙的账户增加100元这两次数据的操作应该算是一件事,即一个事务,否则将有可能造成数据丢失的风险。
传统的数据库如Postgresql,一个事务只属于一个用户进程或线程,即当一个用户连接至数据库时,数据库将启动一个单独的用户进程服务于该用户,该用户所启动的所有事务都必须在这个进程里开始和结束,且该进程在当前操作完成前不能做其他的事情。那么当一定数量的用户登录该数据库的时候将会有很多的进程同时工作于该机器上,且过多进程或多线程之间调度对机器性能的影响是非常大的。
因此,现有技术中存在因单个线程服务单个用户的模式而导致的线程利用率低下的问题。
发明内容
本发明提供一种数据库事务处理方法与装置,用于解决现有技术中存在的因单个线程服务单个用户的模式而导致的线程利用率低下的问题。
为实现上述目的,根据本发明的一个方面,提供一种数据库事务处理方法,并采用以下技术方案:
数据库事务处理方法包括:判断第一事务中的用户是否处于工作状态,得出第一判断结果;在所述第一判断结果为所述用户处于非工作状态时,控制所述第一事务处于暂停状态,并将所述第一事务所对应的线程给其他用户使用;判断所述用户是否返回工作状态,并得出第二判断结果;在所述第二判断结果为所述用户返回工作状态时,调用所述第一事务,并在任一空闲线程上执行所述第一事务。
进一步地,所述判断第一事务中的用户是否处于工作状态包括:构造第一结构体,用于在所述第一结构体中定义所述第一事务中的全局变量为成员变量;判断所述第一事务是否启动,并得出第三判断结果;在所述第三判断结果为所述第一事务启动时,保存所述第一结构体至一预设的全局列表,然后返回一标识给所述第一事务,所述标识用于从所述全局列表中调用所述第一事务。
进一步地,所述判断所述第一事务是否启动包括:判断第二结构中所述第一事务的初始状态是否发生了变化,并得到第四判断结果;在所述第四判断结果为所述初始状态发生变化时,确认所述第一事务已启动;其中,所述第二结构体为***启动的时候构造的一个全局默认的结构体,用于定义所有事务启动时候的初始状态。
进一步地,所述控制所述第一事务处于暂停状态包括:读取所述第一事务在所述线程的初始化默认值;设置第二事务的初始化值为所述默认值,其中,所述第二事务为在所述第一事务暂停后使用所述线程的事务。
进一步地,所述调用所述第一事务包括:根据所述标识从所述全局列表中调出所述第一事务。
进一步地,所述在任一空闲线程上执行所述第一事务之后,所述事务处理方法包括:判断所述第一事务是否结束,并得出第五判断结果;在所述第五判断结果为所述第一事务结束时,将所述第一事务从所述列表中移除。
根据本发明的另外一个方面,提供一种数据库事务处理装置,并采用如下技术方案:
数据库事务处理装置包括:第一判断模块,用于判断第一事务中的用户是否处于工作状态,得出第一判断结果;控制模块,用于在所述第一判断结果为所述用户处于非工作状态时,控制所述第一事务处于暂停状态,并将所述第一事务所对应的线程给其他用户使用;第二判断模块,判断所述用户是否返回工作状态,并得出第二判断结果;调用模块,用于在所述第二判断结果为所述用户返回工作状态时,调用所述第一事务,并在任一空闲线程上执行所述第一事务。
进一步地,所述第一判断模块包括:构造模块,用于构造第一结构体,用于在所述第一结构体中定义所述第一事务中的全局变量为成员变量;第三判断模块,用于判断所述第一事务是否启动,并得出第三判断结果;保存模块,用于在所述第三判断结果为所述第一事务启动时,保存所述第一结构体至一预设的全局列表,然后返回一标识给所述第一事务,所述标识用于从所述全局列表中调用所述第一事务。
进一步地,所述第三判断模块包括:第四判断模块,用于判断第二结构中所述第一事务的初始状态是否发生了变化,并得到第四判断结果;确认模块,用于在所述第四判断结果为所述初始状态发生变化时,确认所述第一事务已启动;其中,所述第二结构体为***启动的时候构造的一个全局默认的结构体,用于定义所有事务启动时候的初始状态。
进一步地,所述控制模块包括:读取模块,用于读取所述第一事务在所述线程的初始化默认值;设置模块,用于设置第二事务的初始化值为所述默认值,其中,所述第二事务为在所述第一事务暂停后使用所述线程的事务
通过本发明的上述技术方案,可以让事务跨线程工作,将每一个活动的事务都保存起来,在需要的时候再将其拿出,附加到一个线程上接着执行。这样提高单个线程的利用率,让单个线程可不间断的服务于多个用户,总体上使得少量的线程同时服务于大量的用户,同时也提高了CPU的利用率,降低了因过多的线程调度对机器造成的性能负担。
附图说明
附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1表示本发明实施例所述的数据库事务处理方法流程图;
图2表示本发明实施例所述的数据库事务处理装置的结构示意图;
图3表示本发明实施例所述的第一判断模块的结构示意图;
图4表示本发明实施例所述的第三判断模块的结构示意图;
图5表示本发明实施例所述的控制模块的结构示意图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
图1表示本发明实施例所述的数据库事务处理方法流程图。
参见图1所示,数据库事务处理方法包括:
S101:判断第一事务中的用户是否处于工作状态,得出第一判断结果;
S103:在所述第一判断结果为所述用户处于非工作状态时,控制所述第一事务处于暂停状态,并将所述第一事务所对应的线程给其他用户使用;
S105:判断所述用户是否返回工作状态,并得出第二判断结果;
S107:在所述第二判断结果为所述用户返回工作状态时,调用所述第一事务,并在任一空闲线程上执行所述第一事务。
数据库事务是DBMS(database management system,数据库管理***)执行过程中的一个逻辑单位,由一个或者多个操作序列构成。它保证了多个操作之间的原子性,即要么全做,要么全不做。典型的例子就是银行的转账功能,即甲向乙转账100元,那么甲的账户减去100元和乙的账户增加100元这两次数据的操作应该算是一件事,即一个事务,否者将有可能造成数据丢失的风险。
在步骤S101中,首先判断一个事务,即第一事务是否有操作在进行,即用户是否处于工作状态。在步骤S103中,在确定该用户没有处于工作状态,即没有操作在第一事务中进行时,控制第一事务处于暂停状态,即“冻结”第一事务,目的是腾出第一事务对应的线程为其他有事可做的用户使用,即控制该线程给其他事务使用。
但针对数据库事务“要么全做,要么全不做”的特点,即一个用户的执行操作只能由一个事务完成,因此在该用户回到操作状态时,仍需在第一事务中完成该操作。所以,在步骤S105中,判断该用户是否否返回工作状态,并得出第二判断结果。在步骤S107中,当该用户返回工作状态时,需调用第一事务为该用户服务,并将第一事务在任意一个空闲线程上执行即可。
在本实施例的上述技术方案中,使得单线程不再单独为一个用户服务,但针对事务的特点,即一个用户的执行操作只能由一个事务完成,当之前的用户返回执行操作时,调出“冷却”的事务,并将其发送给随意一个线程接着往下执行。这样在事务“冷却”期间,该线程依然可服务于另外一个事务,提高了有限线程的利用率。
优选地,所述判断第一事务中的用户是否处于工作状态包括:构造第一结构体,用于在所述第一结构体中定义所述第一事务中的全局变量为成员变量;判断所述第一事务是否启动,并得出第三判断结果;在所述第三判断结果为所述第一事务启动时,保存所述第一结构体至一预设的全局列表,然后返回一标识给所述第一事务,所述标识用于从所述全局列表中调用所述第一事务。
本实施例给出的是将事务由不可跨线程变为可跨线程,并且在变为可跨线程之后,实现自由调用。
具体而言,对于一个事务会准备很多的全局变量供一个事务使用,例如,只在某一个事务中才显得有意义的内存块,这块内存上保存着只有一个事务才能理解的内容。换句话说,如果这块内存给其他的事务去使用,这些内容就变得无法理解了。传统的数据库会将这块内存绑定到一个线程上,也就是说,为了这个事务能正常的从头到尾正确执行,只能在这个线程上做任务,因为这块内存只绑定在这个线程上,无法移动到其他线程。这种类型的全局变量还有很多,内存块只是其中的一个。这也就是为什么传统数据库的事务无法跨线程工作的原因,因为如果事务切换了线程,但是那些全局变量却没法切换线程,导致新的线程的全局变量的内容是这个事务无法理解的。
那么为了让事务可以跨线程工作,其中的一个办法就是使得这些给事务理解的全局变量不再跟某个线程绑定,让这些全局变量全部跟着事务走,而不是跟着线程走。具体的做法就是不再使用全局变量,而是声明一个结构体,即第一结构体,例如TransactionState,在这个TransactionState结构体中,定义了跟之前的全局变量意义一模一样的成员变量。换句话说,如果原来给事务使用的全局变量有100个,那么TrasactionState结构体中也会有100个相对应的成员变量。
之前的全局变量就不再使用了,改成使用这个结构体中的成员变量。改成使用TrasactionState结构体中的变量后的改变在于,TrasactionState结构体是随时随地产生,随时随地销毁,同时它不跟某一个线程挂钩,它可以被任何线程使用,也能理解其结构体中变量的内容,因为一个事务只使用一个TrasactionState结构体,任何在这个事务里所做的操作而产生的数据上的改变全都体现在这个结构体中。这样,一个事务想切换线程的时候,只要让这个结构体传递到另外一个线程,让这个事务在另外的线程上依然使用同一个结构体,那么这个事务就可以在另外的一个线程上工作了。这就做到了事务的跨线程,构造第一结构体的意义也就在于此,即首先让事务变成可跨线程事务,才能解放出线程供其他事务使用。
并且,对于通过上述技术方案,变成可跨线程工作的事务来说,在启动以后即保存在一个全局列表中,实现自由调用。
更具体的,判断所述第一事务是否启动包括:判断第二结构中所述第一事务的初始状态是否发生了变化,并得到第四判断结果;在所述第四判断结果为所述初始状态发生变化时,确认所述第一事务已启动;其中,所述第二结构体为***启动的时候构造的一个全局默认的结构体,用于定义所有事务启动时候的初始状态。
对于本实施例的上述技术方案来说,***启动的时候,会构造一个全局唯一的默认的结构体,即第二结构体。这个特殊的结构体的作用在于,它定义了所有事务启动的时候初始状态应该是怎样的。换句话说,当有一个线程的结构体处于该初始状态时,则说明,这个线程上目前是没有“活着”的事务的。反之,如果线程上的结构体不是这个状态,则说明目前有一个“活着”的事务。通过这个默认结构体不仅可以避免重复构造结构体,还可以判断目前是不是有事务“活动”着。
优选地,所述控制所述第一事务处于暂停状态包括:读取所述第一事务在所述线程的初始化默认值;设置第二事务的初始化值为所述默认值,其中,所述第二事务为在所述第一事务暂停后使用所述线程的事务。
更具体的说,当启动任何一个事务的时候,使用一个初始化默认值,设置其为当前使用的事务,并放入一个全局的列表中保存起来,然后返回该事务的一个标识。当前操作执行完毕之后,设置当前线程的事务为该默认值,这样之前的事务就脱离了当前线程。
该用户的下一个操作到来的时候,使用前面的事务标识将该事务从链表中拿出来。然后再次设置到任意一个线程上去,那么这个线程就可以将前面“冻结”的事务接着执行下去了。该事务结束的时候,将其从事务列表中移除销毁即可。
优选地,所述调用所述第一事务包括:根据所述标识从所述全局列表中调出所述第一事务。
具体的,当启动一个事务并构造一个对应的结构体之后,即之前的第二结构体,会将这个结构体保存到一个链表中,即全局列表,只有一份,任何线程都能访问到。这个链表保存着所有“活着”的事务的结构体,即临时节点表,作用在于当事务切换线程时,不至于丢失掉自己的结构体信息,因为可以从这个链表中找到属于自己的结构体。当事务结束后,将自己的结构体,即临时节点表从这个链表中移除。
具体到本实施例,在从全局列表中调用事务时,定义endStatement函数和detachThread函数,在每次进行事务与线程脱离的时候调用。定义一个getTransaction函数,在唤回事务执行时将事务从全局列表中取出,并设置为线程的当前事务。
本实施例具体给出事务调用方法,即事务在不工作时,腾出相应的线程,在需要继续工作时,从全局列表中调用出来即可,达到了提高现有线程利用率的效果。
优选地,所述在任一空闲线程上执行所述第一事务之后,所述事务处理方法包括:判断所述第一事务是否结束,并得出第五判断结果;在所述第五判断结果为所述第一事务结束时,将所述第一事务从所述列表中移除。
图2表示本发明实施例所述的数据库事务处理装置的结构示意图。
参见图2所示,数据库事务处理装置包括:第一判断模块30,用于判断第一事务中的用户是否处于工作状态,得出第一判断结果;控制模块32,用于在所述第一判断结果为所述用户处于非工作状态时,控制所述第一事务处于暂停状态,并将所述第一事务所对应的线程给其他用户使用;第二判断模块34,判断所述用户是否返回工作状态,并得出第二判断结果;调用模块36,用于在所述第二判断结果为所述用户返回工作状态时,调用所述第一事务,并在任一空闲线程上执行所述第一事务。
图3表示本发明实施例所述的第一判断模块的结构示意图。
可选地,参见图3所示,所述第一判断模块30包括:构造模块301,用于构造第一结构体,用于在所述第一结构体中定义所述第一事务中的全局变量为成员变量;第三判断模块303,用于判断所述第一事务是否启动,并得出第三判断结果;保存模块305,用于在所述第三判断结果为所述第一事务启动时,保存所述第一结构体至一预设的全局列表,然后返回一标识给所述第一事务,所述标识用于从所述全局列表中调用所述第一事务。
图4表示本发明实施例所述的第三判断模块的结构示意图。
可选地,参见图4所示,所述第三判断模块303包括:第四判断模块3032,用于判断第二结构中所述第一事务的初始状态是否发生了变化,并得到第四判断结果;确认模块3034,用于在所述第四判断结果为所述初始状态发生变化时,确认所述第一事务已启动;其中,所述第二结构体为***启动的时候构造的一个全局默认的结构体,用于定义所有事务启动时候的初始状态。
图5表示本发明实施例所述的控制模块的结构示意图。
可选地,参见图5所示,所述控制模块32包括:读取模块3201,用于读取所述第一事务在所述线程的初始化默认值;设置模块3203,用于设置第二事务的初始化值为所述默认值,其中,所述第二事务为在所述第一事务暂停后使用所述线程的事务
通过本发明的上述技术方案,可以让事务跨线程工作,将每一个活动的事务都保存起来,在需要的时候再将其拿出,附加到一个线程上接着执行。这样提高单个线程的利用率,让单个线程可不间断的服务于多个用户,总体上使得少量的线程同时服务于大量的用户,同时也提高了CPU的利用率,降低了因过多的线程调度对机器造成的性能负担。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据库事务处理方法,其特征在于,包括:
判断第一事务中的用户是否处于工作状态,得出第一判断结果;
在所述第一判断结果为所述用户处于非工作状态时,控制所述第一事务处于暂停状态,并将所述第一事务所对应的线程给其他用户使用;
判断所述用户是否返回工作状态,并得出第二判断结果;
在所述第二判断结果为所述用户返回工作状态时,调用所述第一事务,并在任一空闲线程上执行所述第一事务。
2.如权利要求1所述的数据库事务处理方法,其特征在于,所述判断第一事务中的用户是否处于工作状态包括:
构造第一结构体,用于在所述第一结构体中定义所述第一事务中的全局变量为成员变量;
判断所述第一事务是否启动,并得出第三判断结果;
在所述第三判断结果为所述第一事务启动时,保存所述第一结构体至一预设的全局列表,然后返回一标识给所述第一事务,所述标识用于从所述全局列表中调用所述第一事务。
3.如权利要求2所述的数据库事务处理方法,其特征在于,所述判断所述第一事务是否启动包括:
判断第二结构中所述第一事务的初始状态是否发生了变化,并得到第四判断结果;
在所述第四判断结果为所述初始状态发生变化时,确认所述第一事务已启动;
其中,所述第二结构体为***启动的时候构造的一个全局默认的结构体,用于定义所有事务启动时候的所述初始状态。
4.如权利要求3所述的数据库事务处理方法,其特征在于,所述控制所述第一事务处于暂停状态包括:
读取所述第一事务在所述线程的初始化默认值;
设置第二事务的初始化值为所述默认值,其中,所述第二事务为在所述第一事务暂停后使用所述线程的事务。
5.如权利要求3所述的事务处理方法,其特征在于,所述调用所述第一事务包括:
根据所述标识从所述全局列表中调出所述第一事务。
6.如权利要求3所述的事务处理方法,其特征在于,所述在任一空闲线程上执行所述第一事务之后,所述事务处理方法包括:
判断所述第一事务是否结束,并得出第五判断结果;
在所述第五判断结果为所述第一事务结束时,将所述第一事务从所述列表中移除。
7.一种数据库事务处理装置,其特征在于,包括:
第一判断模块,用于判断第一事务中的用户是否处于工作状态,得出第一判断结果;
控制模块,用于在所述第一判断结果为所述用户处于非工作状态时,控制所述第一事务处于暂停状态,并将所述第一事务所对应的线程给其他用户使用;
第二判断模块,判断所述用户是否返回工作状态,并得出第二判断结果;
调用模块,用于在所述第二判断结果为所述用户返回工作状态时,调用所述第一事务,并在任一空闲线程上执行所述第一事务。
8.如权利要求7所述的数据库事务处理装置,其特征在于,所述第一判断模块包括:
构造模块,用于构造第一结构体,用于在所述第一结构体中定义所述第一事务中的全局变量为成员变量;
第三判断模块,用于判断所述第一事务是否启动,并得出第三判断结果;
保存模块,用于在所述第三判断结果为所述第一事务启动时,保存所述第一结构体至一预设的全局列表,然后返回一标识给所述第一事务,所述标识用于从所述全局列表中调用所述第一事务。
9.如权利要求8所述的数据库事务处理装置,其特征在于,所述第三判断模块包括:
第四判断模块,用于判断第二结构中所述第一事务的初始状态是否发生了变化,并得到第四判断结果;
确认模块,用于在所述第四判断结果为所述初始状态发生变化时,确认所述第一事务已启动;
其中,所述第二结构体为***启动的时候构造的一个全局默认的结构体,用于定义所有事务启动时候的初始状态。
10.如权利要求9所述的数据库事务处理装置,其特征在于,所述控制模块包括:
读取模块,用于读取所述第一事务在所述线程的初始化默认值;
设置模块,用于设置第二事务的初始化值为所述默认值,其中,所述第二事务为在所述第一事务暂停后使用所述线程的事务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310414935.XA CN104462077A (zh) | 2013-09-12 | 2013-09-12 | 数据库事务处理方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310414935.XA CN104462077A (zh) | 2013-09-12 | 2013-09-12 | 数据库事务处理方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104462077A true CN104462077A (zh) | 2015-03-25 |
Family
ID=52908143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310414935.XA Pending CN104462077A (zh) | 2013-09-12 | 2013-09-12 | 数据库事务处理方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104462077A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104767737A (zh) * | 2015-03-23 | 2015-07-08 | 贵阳朗玛信息技术股份有限公司 | ***式事务管理器及其应用方法 |
CN106844634A (zh) * | 2017-01-19 | 2017-06-13 | 福建天泉教育科技有限公司 | 一种数据库事务优化方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131009A1 (en) * | 2002-01-07 | 2003-07-10 | International Business Machines Corporation | Transaction method and system |
CN101261722A (zh) * | 2008-01-17 | 2008-09-10 | 北京航空航天大学 | 电子警察后台智能管理和自动实施*** |
CN101667147A (zh) * | 2009-07-27 | 2010-03-10 | 浪潮电子信息产业股份有限公司 | 一种多任务的可控自动快照方法 |
CN102281197A (zh) * | 2011-08-12 | 2011-12-14 | 华南理工大学 | 一种rfid路由器架构*** |
-
2013
- 2013-09-12 CN CN201310414935.XA patent/CN104462077A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131009A1 (en) * | 2002-01-07 | 2003-07-10 | International Business Machines Corporation | Transaction method and system |
CN101261722A (zh) * | 2008-01-17 | 2008-09-10 | 北京航空航天大学 | 电子警察后台智能管理和自动实施*** |
CN101667147A (zh) * | 2009-07-27 | 2010-03-10 | 浪潮电子信息产业股份有限公司 | 一种多任务的可控自动快照方法 |
CN102281197A (zh) * | 2011-08-12 | 2011-12-14 | 华南理工大学 | 一种rfid路由器架构*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104767737A (zh) * | 2015-03-23 | 2015-07-08 | 贵阳朗玛信息技术股份有限公司 | ***式事务管理器及其应用方法 |
CN106844634A (zh) * | 2017-01-19 | 2017-06-13 | 福建天泉教育科技有限公司 | 一种数据库事务优化方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102866908B (zh) | 一种Android后台应用和服务的清理方法 | |
CN103763433B (zh) | 终端应用的运行控制方法及*** | |
CN104750543A (zh) | 线程创建方法、业务请求处理方法及相关设备 | |
US10467054B2 (en) | Resource management method and system, and computer storage medium | |
CN102662740B (zh) | 非对称多核***及其实现方法 | |
CN106557369A (zh) | 一种多线程的管理方法及*** | |
CN1983196A (zh) | 用于将执行线程分组的***和方法 | |
CN105630461A (zh) | 一种android应用界面的管理方法 | |
CN103942823A (zh) | 一种游戏引擎渲染方法及装置 | |
CN105373434B (zh) | 资源管理***及方法 | |
CN110515710A (zh) | 异步任务调度方法、装置、计算机设备和存储介质 | |
CN106095556A (zh) | 一种控制终端进程的方法及*** | |
CN103246568A (zh) | 一种通过手机设置应用优先级的方法和装置 | |
CN101799772B (zh) | 内核调度方法、内核备份方法和多核处理器 | |
CN109358873A (zh) | 一种应用程序更新方法、存储介质和终端设备 | |
CN104462077A (zh) | 数据库事务处理方法与装置 | |
CN109739634A (zh) | 一种原子任务执行方法及装置 | |
CN117311990B (zh) | 资源调整方法、装置、电子设备、存储介质及训练平台 | |
CN104572484A (zh) | 存储空间分配方法、存储空间分配装置和终端 | |
CN103377071B (zh) | 一种数据批量删除方法和*** | |
CN103257894A (zh) | 一种管理程序的方法及电子终端 | |
CN110413332A (zh) | 定时任务执行方法、装置、终端及计算机可读介质 | |
CN114706663A (zh) | 一种计算资源调度方法、介质及计算设备 | |
CN105242836B (zh) | 菜单显示方法及装置 | |
CN105159178B (zh) | 一种基于对象的定值区顺序切换程控方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150325 |
|
WD01 | Invention patent application deemed withdrawn after publication |