CN103197968A - 一种融合同步异步特点的线程池处理方法及*** - Google Patents
一种融合同步异步特点的线程池处理方法及*** Download PDFInfo
- Publication number
- CN103197968A CN103197968A CN201310085815XA CN201310085815A CN103197968A CN 103197968 A CN103197968 A CN 103197968A CN 201310085815X A CN201310085815X A CN 201310085815XA CN 201310085815 A CN201310085815 A CN 201310085815A CN 103197968 A CN103197968 A CN 103197968A
- Authority
- CN
- China
- Prior art keywords
- thread
- information command
- unit
- priority
- thread pool
- 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.)
- Granted
Links
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 31
- 238000003672 processing method Methods 0.000 title abstract 2
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims description 69
- 230000008569 process Effects 0.000 claims description 63
- 230000015572 biosynthetic process Effects 0.000 claims description 43
- 230000006854 communication Effects 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 28
- 230000009471 action Effects 0.000 claims description 20
- 230000003139 buffering effect Effects 0.000 claims description 15
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000005457 optimization Methods 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本专利提出了一种融合同步异步特点的线程池处理方法及***,对互联网上大量的任务请求,通过线程池进行异步处理,使之互相不受影响且等待时间短,同时单用户操作实现同步处理,符合按业务顺序输出的要求,而且对重要性高的任务请求,具备优先处理的优选机制。
Description
技术领域
本发明涉及互联网通讯处理领域,是一种融合同步异步特点的线程池处理方法及***。
技术背景
计算机技术经过几十年的发展历程之后已经进入互联网时代,各种分布式应用随处可见。这些应用对***的响应速度、稳健性和整体性能都提出了较高的要求。
现在分布式应用范围很广,而且与互联网的结合也越来越紧密,像网络游戏、即时通讯、微博、手机类应用等,均具有以下典型特征:接入端数量庞大,任务请求次数很多,每次请求数据量较小。
随着物联网的兴起,大量工业数据、环境监测数据、农业数据、交通数据等,都需要进行大量采集,并通过互联网传输给相应的服务器进行处理,这种情况完全具备上述典型特征,可以推测,随着大数据量的应用越来越普及,应对这种典型特征应用的需求也将越来越迫切。
对于此类特点的应用,用单个线程来处理所有请求,或者给每个请求都生成一个新的线程进行处理,这两种模式都不理想,会降低***的响应速度和性能。线程池技术是满足这些要求而采用的技术之一,它是组织服务器应用的有效工具,可以提高***的响应速度和整体性能,线程池技术为线程创建、销毁的开销问题和***资源不足问题提供了很好的解决方案。
在专利“一种基于浏览器的web即时通讯方法”(申请号:201110454201.5)中,其提出的方法是:用户登录浏览器客户端,向服务器发起http 请求,服务器从线程池获取线程处理浏览器客户端发起的http 连接,判断其缓冲区是否有新信息,如果有,则服务器将新信息发送给浏览器客户端;如果没有,则服务器挂起连接,并释放线程到线程池;服务器判断连接是否超时,如果超时,则从线程池获取一个线程发送一个心跳信号给浏览器客户端,重新建立连接;否则服务器判断是否有新信息,如果是,则服务器将新信息发送给浏览器客户端,否则继续监控。此专利发明通过线程池实现了浏览器客户端实时获取信息,且在连接空闲时挂起连接,减轻了服务器不必要的负担,提高服务器的性能。
此专利发明只解决了互联网通讯的比较单一的异步处理方式,随着互联网应用的日益发展,其发生的应用需求也越来越复杂。现有的通讯服务器技术为了提高并发量通常采用线程池技术,对收到的任务请求进行异步处理。在线程池处理过程中,对于不同的网络环境条件,任务请求的到达顺序往往和发送顺序是不一致的。目前随着通讯服务的发展,通讯应用不仅需要满足点对点的消息互通,而且还需要具备图片、文件、语音视频传输等功能;另外通过与各个网站平台对接,接入了各种各样的业务应用服务,这些业务应用服务都和用户信息进行绑定,这就要求在处理这些业务应用时,其相关的任务请求的处理必须遵循严格的顺序处理关系。
因此在处理具有严格顺序关系业务的时候,要求***能够在实现异步处理的基础上,同时要具备同步处理任务请求的能力,从而保证业务顺序的一致性,这在目前面临困难。
关于结合同步异步处理方式的研究,已经有了一些成果,在文献《计算机与现代化》的2010年第7期发表的《半同步半异步线程池的设计与实现》中,介绍用于复杂并行***设计的半同步半异步的设计模式,这种模式把***分解成异步层、排队层、同步层,异步层异步地处理如网络接口中断等底层的任务请求来提高服务质量,同步层在一个独立的线程中同步处理如数据库查询、文件传输等上层任务请求以简化并行编程,排队层则负责协调异步层和同步层之间的通讯。而且为了避免线程池的切换开销,线程池中的所有工作线程都竞争性地等待任务请求的到来,取到任务请求的工作线程执行结束后,继续去获取新的任务请求。
此文中提出的方法用一个独立线程来处理同步层的任务请求,并不能满足互联网数量众多、处理短小的任务请求的需要。另外,在互联网大量的任务请求中,其重要性是不同的,体现在执行顺序上,其优先级也是不一样的,所有工作线程竞争性地获取任务请求的方法也难以实现任务请求优先级的执行顺序。
因此,对于任务请求数量众多、每个请求数据量较小的情况,如何在异步处理的基础上,根据业务的顺序要求实现同步处理,并能根据任务请求的重要性进行优先级的设置,是亟待解决的重要问题。
发明内容
为了解决这个问题,本专利提出了一种融合同步异步特点的线程池处理方法及***,对互联网上大量的任务请求,通过线程池进行异步处理,使之互相不受影响且等待时间短,同时单用户操作实现同步处理,符合按业务顺序输出的要求,而且对重要性高的任务请求,具备优先处理的优选机制。
本发明公开了一种融合同步异步特点的线程池处理方法,技术方案如下,包括:
采用信息指令结构,把所有的任务请求转化成信息指令,信息指令以“键值”的方式构建,主要包括类型、名称、优先级、识别号、来源、目的地。
每个信息指令可以根据实际需要添加属性字段,保证能够实时真实的区分和识别用户的实际请求和场景。
把转化后的信息指令存放到全局缓冲队列中等候。
主线程调度器按照“先入先出”的原则,逐个从全局缓冲队列中逐个取出等候处理的信息指令,按照信息指令的业务顺序以及信息指令的优先级,分发给工作者线程进行处理。
每个工作者线程设置了独立的线程处理缓冲子队列。
当有新信息指令到达时,主线程调度器首先读取该信息指令中的识别号,然后查询线程池中处于工作状态的工作者线程,判断其正在处理的信息指令的识别号是否与刚读取的信息指令的识别号相同,如果相同,则将新的信息指令增加至对应的工作者线程的线程处理缓冲子队列中;如果没有相同识别号的信息指令正在处理,从空闲的工作者线程中随机选取一个,分配该信息指令至选中的空闲工作者线程的线程处理缓冲子队列中等候。
其次,对于优先级高的信息指令,主线程调度器首先把它分配给线程池中处于空闲状态的线程进行处理,如果线程池中不存在空闲的线程,那么主线程调度器将控制线程池创建一个新的线程来处理,如果线程池中的创建的线程数量已经达到了线程池容量的上限,则主线程调度器根据线程处理缓冲队列中待处理信息指令数量,把这个信息指令安排给在缓冲子队列中待处理信息指令数量最少的工作者线程来处理。
工作者线程从自己的线程处理缓冲子队列中,取出单个信息指令进行处理,单个信息指令被提交到通讯管理器,由通讯管理器调用信息指令解析引擎进行解析,根据不同的信息指令调用数据层或者进行其他逻辑处理。
在逻辑处理后,如果形成有结果信息的信息指令,将存放到全局缓冲队列中等候处理,被工作者线程处理后,把结果信息返回给任务请求的客户端。
为了解决上述问题,本发明还公开了一种融合同步异步特点的线程池处理***,本***包括全局缓冲队列管理器、主线程调度器、分配器、线程池模块、通讯管理器、信息指令解析引擎模块、逻辑处理器。其中,全局缓冲队列管理器、分配器、线程池模块、通讯管理器、逻辑处理器顺次连接,主线程调度器与全局缓冲队列管理器、分配器、线程池模块相连接,信息指令解析引擎模块与通讯处理器相连接。
全局缓冲队列管理器,用于保存接收到的信息指令,按照“先进先出”的原则,把信息指令依次传送给分配器。
主线程调度器,用于逐个对全局缓冲队列管理器中的信息指令分配工作者线程,通过读取信息指令的识别号和优先级以及线程池模块中工作者线程的工作状态,来判断所分配工作者线程的条件,从而控制分配器对该信息指令的分配去向。
分配器,用于接收主线程调度器的控制命令,把信息指令分配到主线程调度器指定的工作者线程对应的线程处理缓冲子队列单元中。
线程池模块,包括线程处理缓冲子队列单元、工作者线程单元。在线程池模块中包含有多个线程处理缓冲子队列单元、工作者线程单元,其中一个工作者线程单元对应一个线程处理缓冲子队列单元,两者是一一对应关系。
线程处理缓冲子队列单元,用于保存分配器分配来的信息指令,按照“先进先出”的原则,把信息指令依次传送给对应的工作者线程单元处理。
工作者线程单元,用于逐个处理相应的线程处理缓冲子队列中的信息指令。
通讯管理器,作为信息指令处理的枢纽环节,先把信息指令传送给信息指令解析引擎模块进行解析,然后接受解析结果,并把解析结果传送给逻辑处理器处理。
信息指令解析引擎模块,对接收到的信息指令进行解析,解析后把解析结果传送给通讯管理器。
逻辑处理器,用于接收通讯管理器发来的解析结果,然后进行逻辑处理。
本发明还公开了一种融合同步异步特点的主线程调度器装置,包括状态查询单元、信息读取单元、同步处理判断单元、优先级判断单元、优先级设置单元、线程控制单元、信息指令控制单元,其中信息读取单元、同步处理判断单元、优先级判断单元、线程控制单元顺次连接,信息指令控制单元与同步处理判断单元、优先级判断单元、线程控制单元相连接,状态查询单元与同步处理单元连接,优先级设置单元与优先级判断单元连接。
信息读取单元,用于读取传送到分配器的信息指令中的识别号和优先级。
状态查询单元,用于查询线程池正在处理的信息指令的识别号,空闲工作者线程的数量,各个线程处理缓冲子队列中等候的信息指令的数量,以及是否达到线程池上限的标志。
同步处理判断单元,从信息读取单元获取信息指令中的识别号,从状态查询单元中获取线程池正在处理的信息指令的识别号,比较2个识别号是否相同,如果有相同的识别号,则触发信息指令控制单元动作。
优先级设置单元,用于进行设置优先级及对应的执行规则。
优先级判断单元,用于获取信息指令中的优先级,与优先级设置单元中的优先级信息比较,从而根据其中对应的规则,进行动作,如果级别是高,触发线程控制单元。如果优先级别是低,则触发信息指令控制单元动作。
线程控制单元,根据状态查询单元的空闲工作者线程的数量,以及是否达到线程池上限的标志来决定执行动作,当线程池中有空闲工作者线程时,则触发信息指令控制单元动作;当线程池中无空闲工作者线程并且处于工作状态的工作者线程数量没有达到线程池上限,则先控制线程池模块启动新的工作者线程单元,然后再触发信息指令控制单元;当线程池中无空闲工作者线程并且处于工作状态的工作者线程数量已经达到线程池上限,触发信息指令控制单元,安排线程处理缓冲子队列短的工作者线程来处理。
信息指令控制单元,用于接收各方的判断结果,控制分配器,对处于待处理状态的信息指令指定符合条件的工作者线程。
本发明与现有技术相比,其显著优点:
1、线程池融合异步同步两者特点,对互联网上大量用户的任务请求,通过线程池进行异步处理,使之互不干扰且等待时间短,同时对单用户的任务请求实现同步处理,保证其按业务顺序的要求进行处理。
2、主线程调度器能根据信息指令的优先级别,分别进行处理,对优先级别高的信息指令通过安排空闲工作者线程、启动新的工作者线程、以及安排线程处理缓冲子队列短的工作者线程来处理,使优先级别高的信息指令得到更多的优先处理的机会。
3、任务请求采用信息指令结构,针对不同的用户场景,每个信息指令可以根据实际需要添加属性字段,不仅能快捷地响应实际请求和场景的变化,且代码维护简单方便。
4、在***中,采用了全局缓冲队列和线程处理缓冲子队列二级队列,能够缓存更多的任务请求,对于充分利用线程池资源,提高***响应速度,提升效果明显。
附图说明
图1 为本发明实施例处理流程。
图2 为本发明实施例主线程调度器对信息指令的分配流程。
图3 为本发明实施例***结构图。
图4 为本发明实施例主线程调度器结构图。
图5 为本发明实施例信息指令组成结构。
具体实施方式
为使本发明的实施例的目的、技术方案和优点更加清楚,下面对本发明实施例中涉及的一些术语做简单解释。
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。
线程池:线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在启动线程后自动处理这些任务。
参阅图1所示,本发明实施例的处理流程,具体包括以下步骤:
步骤10:***接收各个客户端的信息指令,把信息指令按顺寻存放在全局缓冲队列中。
步骤11:主线程调度器依次读取存放在全局缓冲队列中的信息指令的识别号和优先级。
步骤12:主线程调度器读取线程池的状态信息,包括哪些工作者线程处于工作状态,正在处理的信息指令的识别号,每个工作者线程对应的线程处理缓冲子队列中等候的信息指令的数量,哪些工作者线程处于空闲状态,处于开启的工作者线程数量是否达到线程池上限。
步骤13:主线程调度器根据所获取的信息进行判断,得出信息指令分配给哪个工作者线程。通过比较识别号,相同的识别号放在同一个线程处理缓冲子队列中,由相同的工作者线程来处理。通过识别信息指令的优先级,给优先级高的信息指令给予优先处理的机会,例如分配空闲工作者线程,开启新的工作者线程,以及安排待处理信息指令数量少的缓冲子队列中等候。
步骤14:主线程调度器把分配结果交给分配器,由分配器来把信息指令分配到指定好的工作者线程处理。
步骤15:工作者线程从相应的缓冲子队列中取出信息指令进行解析。
步骤16:根据信息指令中的内容,进行相应的逻辑处理。
参阅图2所示,本发明实施例主线程调度器对信息指令的分配流程,具体包括以下步骤:
步骤201:信息读取单元读取信息指令中的识别号和优先级。
步骤202:状态查询单元读取线程池的状态信息,包括哪些工作者线程处于工作状态,正在处理的信息指令的识别号,哪些工作者线程处于空闲状态,处于工作状态的工作者线程数量是否达到上限,以及每个线程处理缓冲子队列中保存的等候信息指令的数量。
步骤203:信息读取单元所读取信息指令中的识别号,与状态查询单元所获取的工作者线程正在处理的信息指令的识别号相比较。如果两者的识别号相同,转到步骤204处理,如果两者的识别号不同,转到步骤205处理。
步骤204:得出分配结果,把这个信息指令分配到具有相同识别号的工作者线程处理,然后转到步骤212。
步骤205:判断信息指令中的优先级是高还是低,如果优先级高,转到步骤206,否则,转到步骤210。
步骤206:根据状态查询单元读取线程池的状态信息,判断是否在线程池中有没有处于空闲状态的工作者线程,如果有,转到步骤211,如果没有,转到步骤207处理。
步骤207:根据状态查询单元读取线程池的状态信息,判断线程池中的已启动的工作者线程数量是否已经达到了线程池的上限,如果是,转到步骤209处理,否则,转到步骤208处理。
步骤208:由主线程调度器通知线程池,启动新的工作者线程,新启动的工作者线程这时处于空闲状态。
步骤209:根据状态查询单元读取线程池的状态信息,获取线程池中每个线程处理缓冲子队列中保存的等候信息指令的数量,选择等候数量最少的工作者线程,作为信息指令的分配对象,然后转到步骤212。
步骤210:如果线程池中存在着处于空闲状态的工作者线程,随机选择其中1个的空闲工作者线程,作为信息指令的分配对象。如果线程池中不存在着处于空闲状态的工作者线程,随机选择其中1个的处于工作状态的工作者线程,作为信息指令的分配对象,然后转到步骤212。
步骤211:从线程池中随机选择处于空闲状态的工作者线程,作为信息指令的分配对象,然后转到步骤212。
步骤212:分配结束。
参阅图3所示,本发明实施例***结构图,包括:全局缓冲队列管理器31、分配器32、主线程调度器33、线程池模块34、通讯管理器35、信息指令解析引擎模块36、逻辑处理器37。其中,全局缓冲队列管理器31、分配器32、线程池模块34、通讯管理器35、逻辑处理器37顺次连接,主线程调度器33与全局缓冲队列管理器31、分配器32、线程池模块34相连接,信息指令解析引擎模块36与通讯处理器35相连接。
全局缓冲队列管理器31,用于保存接收到的信息指令,按照“先进先出”的原则,把信息指令依次传送给分配器32。
主线程调度器33,用于逐个对全局缓冲队列管理器31中的信息指令分配工作者线程,通过读取信息指令的识别号和优先级以及线程池模块34中工作者线程的工作状态,来判断所分配工作者线程的条件,从而控制分配器32对该信息指令的分配去向。
分配器32,用于接收主线程调度器33的控制命令,把信息指令分配到主线程调度器33指定的工作者线程的线程处理缓冲子队列单元中。
线程池模块34,包括多个线程处理缓冲子队列单元、工作者线程单元,如图3中,线程1处理缓冲子队列单元341,工作者线程1单元342,线程2处理缓冲子队列单元343,工作者线程2单元344,……,线程n处理缓冲子队列单元345,工作者线程n单元346,n为线程池工作者线程数量的上限。线程池中的工作者线程一般处于3个状态:工作状态、空闲状态、未开启状态,其中未开启状态指线程还不能被分配工作,并且这个状态下的线程也不占***资源,它启动后将进入空闲状态,将占用***资源。
在线程池模块34中包含有多个线程处理缓冲子队列单元、工作者线程单元,其中一个工作者线程单元对应一个线程处理缓冲子队列单元,两者是一一对应关系。
线程1处理缓冲子队列单元341,用于保存分配器32分配来的信息指令,按照“先进先出”的原则,把信息指令依次传送给对应的工作者线程1单元342处理。
工作者线程1单元342,用于逐个处理相应的线程1处理缓冲子队列单元341中的信息指令。
线程2处理缓冲子队列单元343,用于保存分配器32分配来的信息指令,按照“先进先出”的原则,把信息指令依次传送给对应的工作者线程2单元344处理。
工作者线程2单元344,用于逐个处理相应的线程2处理缓冲子队列单元343中的信息指令。
线程n处理缓冲子队列单元345,用于保存分配器32分配来的信息指令,按照“先进先出”的原则,把信息指令依次传送给对应的工作者线程n单元346处理。
工作者线程n单元346,用于逐个处理相应的线程n处理缓冲子队列单元345中的信息指令。
通讯管理器35,作为信息指令处理的枢纽环节,先把信息指令传送给信息指令解析引擎模块36进行解析,然后接受解析结果,并把解析结果传送给逻辑处理器37处理。
信息指令解析引擎模块36,对接收到的信息指令进行解析,把解析结果传送给通讯管理器35。
逻辑处理器37,用于接收通讯管理器35发来的解析结果,然后进行逻辑处理。
参阅图4所示,本发明实施例主线程调度器结构图,包括信息读取单元40、同步处理判断单元41、状态查询单元42、优先级判断单元43、优先级设置单元44、线程控制单元45、信息指令控制单元46,其中信息读取单元40、同步处理判断单元41、优先级判断单元43、线程控制单元45、信息指令控制单元46顺次连接,信息指令控制单元46与同步处理判断单元41、优先级判断单元43、线程控制单元45相连接,状态查询单元42与同步处理单元41连接,优先级设置单元44与优先级判断单元43连接。
信息读取单元40,用于读取传送到分配器32的信息指令中的识别号和优先级。
状态查询单元42,用于查询线程池模块34的工作状态,包括哪些工作者线程处于工作状态,正在处理的信息指令的识别号,哪些工作者线程处于空闲状态,处于工作状态的工作者线程数量是否达到上限,以及每个线程处理缓冲子队列中保存的等候信息指令的数量。
同步处理判断单元41,从信息读取单元40获取信息指令中的识别号,从状态查询单元42中获取线程池单元34正在处理的信息指令的识别号,比较2个识别号是否相同,如果有相同的识别号,则触发信息指令控制单元46动作。
优先级判断单元43,用于把获取到的信息指令中的优先级,与优先级设置单元44中保存的优先级信息比较,从而根据其中对应的规则,进行动作,如果级别是高,触发线程控制单元45。如果优先级别是低,则触发信息指令控制单元46动作。
优先级设置单元44,用于保存优先级及对应的执行规则。
线程控制单元45,根据状态查询单元42的空闲工作者线程的数量,以及是否达到线程池上限的标志来决定执行动作,当线程池模块34中有空闲工作者线程时,则触发信息指令控制单元动作46;当线程池模块34中无空闲工作者线程并且处于工作状态的工作者线程数量没有达到线程池上限,则先控制线程池模块34启动新的工作者线程单元,然后再触发信息指令控制单元46;当线程池中无空闲工作者线程并且处于工作状态的工作者线程数量已经达到线程池上限,触发信息指令控制单元46,安排线程处理缓冲子队列中等候数量少的工作者线程来处理。
信息指令控制单元46,用于接收各方的判断结果,给到达分配器32中信息指令指定符合条件的工作者线程。
参阅图5所示,本发明实施例信息指令组成结构,包括信息指令类型51、信息指令名称52、信息指令识别号53、信息指令优先级54、信息指令来源55、信息指令目的地56。
下面模拟信息指令被分配到工作者线程的过程实例。
假设线程池当前状态:线程池中工作者线程数量上限为100,当前处于开启状态的工作者线程数量为10,其中5个工作者线程(A、B、C、D、E)处于工作状态,另外5个工作者线程(F、G、H、I、J)处于空闲状态,对于其中5个处于工作状态的工作者线程。
工作者线程A:其正在处理的信息指令的识别号为001,其对应的线程A处理缓冲子队列中有5个信息指令在等候。
工作者线程B:其正在处理的信息指令的识别号为002,其对应的线程B处理缓冲子队列中有8个信息指令在等候。
工作者线程C:其正在处理的信息指令的识别号为003,其对应的线程C处理缓冲子队列中有4个信息指令在等候。
工作者线程D:其正在处理的信息指令的识别号为004,其对应的线程D处理缓冲子队列中有3个信息指令在等候。
工作者线程E:其正在处理的信息指令的识别号为005,其对应的线程E处理缓冲子队列中有1个信息指令在等候。
这时,主线程调度器从全局缓冲队列读取了一个信息指令,其识别号为003,优先级别为高。
主线程调度器读取线程池的工作状态,查询发现工作者线程C正在处理的信息指令的识别号也为003,那么就直接把该信息指令分配到线程C处理缓冲子队列,因为该子队列中已经有4个信息指令在等候,那么这个新分配来的信息指令就排在队列的第5位。这样具有同一识别号的信息指令由相同的工作者线程来处理,保证了同一用户数据处理按照顺序进行,在异步处理的基础上,实现了同步处理的要求。
这时,主线程调度器从全局缓冲队列读取了一个信息指令,其识别号为011,优先级别为高。
主线程调度器读取线程池的工作状态,查询发现无工作者线程处理识别号为011的信息指令,那么就直接把该信息指令随机分配到处于空闲状态的工作者线程处理,例如分配工作者线程I来处理。
如果线程池中的10个线程都处于工作状态,而该信息指令的优先级别又是高,那么线程池将启动1个处于未启动状态的工作者线程,例如工作者线程W来处理,这样保证了优先级别高的信息指令能够尽量避免等待过长时间,能够迅速处理,提高***的响应时间。
假如这个线程池的上限就是5,而且5个工作者线程(A、B、C、D、E)处于工作状态,那么***将查询每个线程处理缓冲子队列情况,找出在缓冲子队列中等候信息指令数量最少的工作者线程,在本例中,工作者线程E对应的线程E处理缓冲子队列中有1个信息指令在等候,数量最少,因此这个信息就被分配到线程E处理缓冲子队列中等候处理。
本领域的开发人员可以对本发明的实施例进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明实施例中的这些修改和变型属于本发明权利要求及其等同的范围之内,则本发明中的实施例也包含这些改动和变型在内。
Claims (9)
1.一种融合同步异步特点的线程池处理方法,其特征在于,包括:
采用信息指令结构,把所有的任务请求转化成信息指令;
把转化后的信息指令存放到全局缓冲队列中等候;
主线程调度器按照“先入先出”的原则,逐个从全局缓冲队列中逐个取出等候处理的信息指令,按照信息指令的业务顺序以及信息指令的优先级,分发给工作者线程进行处理;
当有新信息指令到达时,主线程调度器首先读取该信息指令中的识别号,然后查询线程池中处于工作状态的工作者线程,判断其正在处理的信息指令的识别号是否与刚读取的信息指令的识别号相同,如果相同,则将新的信息指令增加至对应的工作者线程的线程处理缓冲子队列中;如果没有相同识别号的信息指令正在处理,从空闲的工作者线程中随机选取一个,分配该信息指令至选中的空闲工作者线程的线程处理缓冲子队列中等候;
其次,对于优先级高的信息指令,主线程调度器首先把它分配给线程池中处于空闲状态的线程进行处理,如果线程池中不存在空闲的线程,那么主线程调度器将控制线程池创建一个新的线程来处理,如果线程池中的创建的线程数量已经达到了线程池容量的上限,则主线程调度器根据线程处理缓冲队列中待处理信息指令数量,把这个信息指令安排给在缓冲子队列中待处理信息指令数量最少的工作者线程来处理;
工作者线程从自己的线程处理缓冲子队列中,取出单个信息指令进行处理,单个信息指令被提交到通讯管理器,由通讯管理器调用信息指令解析引擎进行解析,根据不同的信息指令调用数据层或者进行其他逻辑处理;
在逻辑处理后,如果形成有结果信息的信息指令,将存放到全局缓冲队列中等候处理,被工作者线程处理后,把结果信息返回给任务请求的客户端。
2.根据权利要求1所述的线程池处理方法,其特征在于:
信息指令以“键值”的方式构建,包括类型、名称、优先级、识别号、来源、目的地;
每个信息指令根据实际需要添加属性字段,保证能够实时真实的区分和识别用户的实际请求和场景。
3.根据权利要求1所述的线程池处理方法,其特征在于:
每个工作者线程设置了独立的线程处理缓冲子队列。
4.根据权利要求1、2或3所述的线程池处理方法,其特征在于:所述主线程调度器包括状态查询单元、信息读取单元、同步处理判断单元、优先级判断单元、优先级设置单元、线程控制单元、信息指令控制单元;其中,所述信息读取单元、同步处理判断单元、优先级判断单元、线程控制单元顺次连接,所述信息指令控制单元与所述同步处理判断单元、优先级判断单元、线程控制单元相连接,所述状态查询单元与所述同步处理单元连接,所述优先级设置单元与所述优先级判断单元连接;
所述信息读取单元,用于读取传送到分配器的信息指令中的识别号和优先级;
所述状态查询单元,用于查询线程池正在处理的信息指令的识别号,空闲工作者线程的数量,各个线程处理缓冲子队列中等候的信息指令的数量,以及是否达到线程池上限的标志;
所述同步处理判断单元,从信息读取单元获取信息指令中的识别号,从状态查询单元中获取线程池正在处理的信息指令的识别号,比较2个识别号是否相同,如果有相同的识别号,则触发信息指令控制单元动作;
所述优先级设置单元,用于进行设置优先级及对应的执行规则;
所述优先级判断单元,用于获取信息指令中的优先级,与优先级设置单元中的优先级信息比较,从而根据其中对应的规则,进行动作,如果级别是高,触发线程控制单元;如果优先级别是低,则触发信息指令控制单元动作;
所述线程控制单元,根据状态查询单元的空闲工作者线程的数量,以及是否达到线程池上限的标志来决定执行动作,当线程池中有空闲工作者线程时,则触发信息指令控制单元动作;当线程池中无空闲工作者线程并且处于工作状态的工作者线程数量没有达到线程池上限,则先控制线程池模块启动新的工作者线程单元,然后再触发信息指令控制单元;当线程池中无空闲工作者线程并且处于工作状态的工作者线程数量已经达到线程池上限,触发信息指令控制单元,安排线程处理缓冲子队列短的工作者线程来处理;
所述信息指令控制单元,用于接收各方的判断结果,控制分配器,对处于待处理状态的信息指令指定符合条件的工作者线程。
5.一种融合同步异步特点的线程池处理***,其特征在于:它包括全局缓冲队列管理器、主线程调度器、分配器、线程池模块、通讯管理器、信息指令解析引擎模块、逻辑处理器;其中,所述全局缓冲队列管理器、分配器、线程池模块、通讯管理器、逻辑处理器顺次连接,所述主线程调度器与所述全局缓冲队列管理器、分配器、线程池模块相连接,所述信息指令解析引擎模块与所述通讯处理器相连接;
所述全局缓冲队列管理器,用于保存接收到的信息指令,按照“先进先出”的原则,把信息指令依次传送给分配器;
所述主线程调度器,用于逐个对全局缓冲队列管理器中的信息指令分配工作者线程,通过读取信息指令的识别号和优先级以及线程池模块中工作者线程的工作状态,来判断所分配工作者线程的条件,从而控制分配器对该信息指令的分配去向;
所述分配器,用于接收主线程调度器的控制命令,把信息指令分配到主线程调度器指定的工作者线程对应的线程处理缓冲子队列单元中;
所述线程池模块,包括线程处理缓冲子队列单元、工作者线程单元;
所述通讯管理器,作为信息指令处理的枢纽环节,先把信息指令传送给信息指令解析引擎模块进行解析,然后接受解析结果,并把解析结果传送给逻辑处理器处理;
所述信息指令解析引擎模块,对接收到的信息指令进行解析,解析后把解析结果传送给通讯管理器;
所述逻辑处理器,用于接收通讯管理器发来的解析结果,然后进行逻辑处理。
6.根据权利要求5所述的线程池处理***,其特征在于:所述线程池模块包含有多个线程处理缓冲子队列单元、工作者线程单元,其中一个工作者线程单元对应一个线程处理缓冲子队列单元,两者是一一对应关系。
7.根据权利要求6所述的线程池处理***,其特征在于:所述线程处理缓冲子队列单元,用于保存分配器分配来的信息指令,按照“先进先出”的原则,把信息指令依次传送给对应的工作者线程单元处理;
所述工作者线程单元,用于逐个处理相应的线程处理缓冲子队列中的信息指令。
8.根据权利要求5、6或7所述的线程池处理方法,其特征在于:所述主线程调度器包括状态查询单元、信息读取单元、同步处理判断单元、优先级判断单元、优先级设置单元、线程控制单元、信息指令控制单元;其中,所述信息读取单元、同步处理判断单元、优先级判断单元、线程控制单元顺次连接,所述信息指令控制单元与所述同步处理判断单元、优先级判断单元、线程控制单元相连接,所述状态查询单元与所述同步处理单元连接,所述优先级设置单元与所述优先级判断单元连接;
所述信息读取单元,用于读取传送到分配器的信息指令中的识别号和优先级;
所述状态查询单元,用于查询线程池正在处理的信息指令的识别号,空闲工作者线程的数量,各个线程处理缓冲子队列中等候的信息指令的数量,以及是否达到线程池上限的标志;
所述同步处理判断单元,从信息读取单元获取信息指令中的识别号,从状态查询单元中获取线程池正在处理的信息指令的识别号,比较2个识别号是否相同,如果有相同的识别号,则触发信息指令控制单元动作;
所述优先级设置单元,用于进行设置优先级及对应的执行规则;
所述优先级判断单元,用于获取信息指令中的优先级,与优先级设置单元中的优先级信息比较,从而根据其中对应的规则,进行动作,如果级别是高,触发线程控制单元;如果优先级别是低,则触发信息指令控制单元动作;
所述线程控制单元,根据状态查询单元的空闲工作者线程的数量,以及是否达到线程池上限的标志来决定执行动作,当线程池中有空闲工作者线程时,则触发信息指令控制单元动作;当线程池中无空闲工作者线程并且处于工作状态的工作者线程数量没有达到线程池上限,则先控制线程池模块启动新的工作者线程单元,然后再触发信息指令控制单元;当线程池中无空闲工作者线程并且处于工作状态的工作者线程数量已经达到线程池上限,触发信息指令控制单元,安排线程处理缓冲子队列短的工作者线程来处理;
所述信息指令控制单元,用于接收各方的判断结果,控制分配器,对处于待处理状态的信息指令指定符合条件的工作者线程。
9.一种融合同步异步特点的主线程调度器装置,其特征在于:它包括状态查询单元、信息读取单元、同步处理判断单元、优先级判断单元、优先级设置单元、线程控制单元、信息指令控制单元;其中,所述信息读取单元、同步处理判断单元、优先级判断单元、线程控制单元顺次连接,所述信息指令控制单元与所述同步处理判断单元、优先级判断单元、线程控制单元相连接,所述状态查询单元与所述同步处理单元连接,所述优先级设置单元与所述优先级判断单元连接;
所述信息读取单元,用于读取传送到分配器的信息指令中的识别号和优先级;
所述状态查询单元,用于查询线程池正在处理的信息指令的识别号,空闲工作者线程的数量,各个线程处理缓冲子队列中等候的信息指令的数量,以及是否达到线程池上限的标志;
所述同步处理判断单元,从信息读取单元获取信息指令中的识别号,从状态查询单元中获取线程池正在处理的信息指令的识别号,比较2个识别号是否相同,如果有相同的识别号,则触发信息指令控制单元动作;
所述优先级设置单元,用于进行设置优先级及对应的执行规则;
所述优先级判断单元,用于获取信息指令中的优先级,与优先级设置单元中的优先级信息比较,从而根据其中对应的规则,进行动作,如果级别是高,触发线程控制单元;如果优先级别是低,则触发信息指令控制单元动作;
所述线程控制单元,根据状态查询单元的空闲工作者线程的数量,以及是否达到线程池上限的标志来决定执行动作,当线程池中有空闲工作者线程时,则触发信息指令控制单元动作;当线程池中无空闲工作者线程并且处于工作状态的工作者线程数量没有达到线程池上限,则先控制线程池模块启动新的工作者线程单元,然后再触发信息指令控制单元;当线程池中无空闲工作者线程并且处于工作状态的工作者线程数量已经达到线程池上限,触发信息指令控制单元,安排线程处理缓冲子队列短的工作者线程来处理;
所述信息指令控制单元,用于接收各方的判断结果,控制分配器,对处于待处理状态的信息指令指定符合条件的工作者线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310085815.XA CN103197968B (zh) | 2013-03-18 | 2013-03-18 | 一种融合同步异步特点的线程池处理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310085815.XA CN103197968B (zh) | 2013-03-18 | 2013-03-18 | 一种融合同步异步特点的线程池处理方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103197968A true CN103197968A (zh) | 2013-07-10 |
CN103197968B CN103197968B (zh) | 2016-03-30 |
Family
ID=48720556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310085815.XA Expired - Fee Related CN103197968B (zh) | 2013-03-18 | 2013-03-18 | 一种融合同步异步特点的线程池处理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103197968B (zh) |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103353750A (zh) * | 2013-07-24 | 2013-10-16 | 昆明理工大学 | 一种基于多总线的微波冶金控制***及方法 |
CN104426964A (zh) * | 2013-08-29 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置及终端、计算机存储介质 |
CN104702627A (zh) * | 2015-04-01 | 2015-06-10 | 南京天溯自动化控制***有限公司 | 一种基于报文分类的同步并发通信方法及*** |
CN104915258A (zh) * | 2015-06-09 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 分布式任务调度的方法和装置 |
CN105159768A (zh) * | 2015-09-09 | 2015-12-16 | 浪潮集团有限公司 | 一种任务管理方法及云数据中心管理平台 |
CN105183553A (zh) * | 2015-10-31 | 2015-12-23 | 山东智洋电气股份有限公司 | 软总线程序并发资源分配方法 |
CN105245372A (zh) * | 2015-10-12 | 2016-01-13 | 浪潮软件集团有限公司 | 一种基于缓存和异步机制的加载网络资源的优化方法 |
CN105740065A (zh) * | 2016-01-20 | 2016-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种控制异步任务执行的方法及装置 |
CN105871917A (zh) * | 2016-06-08 | 2016-08-17 | 北京金山安全管理***技术有限公司 | 传输控制协议tcp连接调度的方法及装置 |
CN106021399A (zh) * | 2016-05-12 | 2016-10-12 | 网易(杭州)网络有限公司 | 查询请求消息的处理方法及装置 |
CN106020954A (zh) * | 2016-05-13 | 2016-10-12 | 深圳市永兴元科技有限公司 | 线程管理方法及装置 |
CN106022908A (zh) * | 2016-05-17 | 2016-10-12 | 中国建设银行股份有限公司 | 一种资产负债信息的查询方法及*** |
WO2016177081A1 (zh) * | 2015-08-07 | 2016-11-10 | 中兴通讯股份有限公司 | 通知消息处理方法及装置 |
CN106708628A (zh) * | 2016-12-29 | 2017-05-24 | 北京奇虎科技有限公司 | 基于工作线程压力优化的连接建立方法及装置 |
CN106886453A (zh) * | 2017-02-20 | 2017-06-23 | 恒生电子股份有限公司 | 用于异步多道的信息处理方法、装置和*** |
CN106911736A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 云代理服务器、云代理的纯异步数据传输方法及*** |
CN107179942A (zh) * | 2017-05-16 | 2017-09-19 | 中国电子科技集团公司第四十研究所 | 一种基于多线程的实时数据分析任务分发处理方法 |
CN107329841A (zh) * | 2017-06-15 | 2017-11-07 | 武汉票据交易中心有限公司 | 一种多人交互下的交易流程的实现方法和*** |
CN107341050A (zh) * | 2016-04-28 | 2017-11-10 | 北京京东尚科信息技术有限公司 | 基于动态线程池的服务处理方法和装置 |
CN107657531A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种业务流程的处理方法及*** |
CN107872398A (zh) * | 2017-06-25 | 2018-04-03 | 平安科技(深圳)有限公司 | 高并发数据处理方法、装置及计算机可读存储介质 |
CN107962560A (zh) * | 2016-10-18 | 2018-04-27 | 珠海格力智能装备有限公司 | 机器人及其控制方法和装置 |
CN108022203A (zh) * | 2017-11-30 | 2018-05-11 | 上海联影医疗科技有限公司 | 医学图像的处理方法、装置、存储介质以及医学影像设备 |
CN108255853A (zh) * | 2016-12-29 | 2018-07-06 | 卓望数码技术(深圳)有限公司 | 一种插件式的请求异步处理方法以及*** |
CN108280443A (zh) * | 2018-02-23 | 2018-07-13 | 深圳市唯特视科技有限公司 | 一种基于深特征提取异步融合网络的动作识别方法 |
CN108319508A (zh) * | 2017-01-18 | 2018-07-24 | ***通信集团公司 | Http同步请求转为异步处理的方法及服务器 |
CN108632327A (zh) * | 2017-03-24 | 2018-10-09 | 北京嘀嘀无限科技发展有限公司 | 业务处理方法、装置及存储介质 |
CN108958893A (zh) * | 2017-05-23 | 2018-12-07 | ***通信集团重庆有限公司 | 高并发业务的资源控制方法、装置和计算机可读存储介质 |
CN109117260A (zh) * | 2018-08-30 | 2019-01-01 | 百度在线网络技术(北京)有限公司 | 一种任务调度方法、装置、设备和介质 |
CN109155795A (zh) * | 2016-05-26 | 2019-01-04 | 百事可乐公司 | 对来自联网型分配机的遥测数据进行并行和可伸缩处理的***及方法 |
CN109788334A (zh) * | 2019-01-31 | 2019-05-21 | 北京字节跳动网络技术有限公司 | 弹幕处理方法、装置、电子设备及计算机可读存储介质 |
CN109804351A (zh) * | 2016-10-11 | 2019-05-24 | 微软技术许可有限责任公司 | 对异步计算作业的增强治理 |
CN110740218A (zh) * | 2019-10-23 | 2020-01-31 | 京东数字科技控股有限公司 | 呼叫请求的处理方法、处理装置、电子设备和介质 |
CN111782293A (zh) * | 2020-06-28 | 2020-10-16 | 珠海豹趣科技有限公司 | 一种任务处理方法、装置、电子设备及可读存储介质 |
CN111930428A (zh) * | 2020-09-27 | 2020-11-13 | 南京芯瞳半导体技术有限公司 | 一种条件分支指令的融合方法、装置及计算机存储介质 |
CN114172887A (zh) * | 2021-11-30 | 2022-03-11 | 合肥安达创展科技股份有限公司 | 一种智能化展馆中控*** |
CN114179085A (zh) * | 2021-12-16 | 2022-03-15 | 上海景吾智能科技有限公司 | 机器人控制、轨迹衔接与平滑处理的方法及*** |
CN115037606A (zh) * | 2022-06-17 | 2022-09-09 | 福建天泉教育科技有限公司 | 一种网络数据的获取方法及终端 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930208A (zh) * | 2016-04-01 | 2016-09-07 | 广州华多网络科技有限公司 | 一种线程调度方法及线程调度装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1426215A (zh) * | 2002-12-26 | 2003-06-25 | 北京邮电大学 | 一种适用于应用服务器的呼叫处理***及其实现方法 |
US20050149612A1 (en) * | 2001-10-05 | 2005-07-07 | Bea Systems, Inc. | System for application server messaging with multiple dispatch pools |
US20060070054A1 (en) * | 2004-09-29 | 2006-03-30 | Uday Naik | Updating instructions executed by a multi-core processor |
CN102413191A (zh) * | 2011-12-30 | 2012-04-11 | 深圳市旗瀚软件有限公司 | 一种基于浏览器的web即时通讯方法 |
CN102681889A (zh) * | 2012-04-27 | 2012-09-19 | 电子科技大学 | 一种云计算开放平台的调度方法 |
-
2013
- 2013-03-18 CN CN201310085815.XA patent/CN103197968B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050149612A1 (en) * | 2001-10-05 | 2005-07-07 | Bea Systems, Inc. | System for application server messaging with multiple dispatch pools |
CN1426215A (zh) * | 2002-12-26 | 2003-06-25 | 北京邮电大学 | 一种适用于应用服务器的呼叫处理***及其实现方法 |
US20060070054A1 (en) * | 2004-09-29 | 2006-03-30 | Uday Naik | Updating instructions executed by a multi-core processor |
CN102413191A (zh) * | 2011-12-30 | 2012-04-11 | 深圳市旗瀚软件有限公司 | 一种基于浏览器的web即时通讯方法 |
CN102681889A (zh) * | 2012-04-27 | 2012-09-19 | 电子科技大学 | 一种云计算开放平台的调度方法 |
Non-Patent Citations (2)
Title |
---|
刘燚: "半同步半异步线程池的设计与实现", 《计算机与现代化》 * |
李影等: "实时CORBA线程池管理技术研究", 《计算机工程》 * |
Cited By (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103353750A (zh) * | 2013-07-24 | 2013-10-16 | 昆明理工大学 | 一种基于多总线的微波冶金控制***及方法 |
CN104426964B (zh) * | 2013-08-29 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置及终端、计算机存储介质 |
CN104426964A (zh) * | 2013-08-29 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置及终端、计算机存储介质 |
CN104702627A (zh) * | 2015-04-01 | 2015-06-10 | 南京天溯自动化控制***有限公司 | 一种基于报文分类的同步并发通信方法及*** |
CN104702627B (zh) * | 2015-04-01 | 2017-12-26 | 南京天溯自动化控制***有限公司 | 一种基于报文分类的同步并发通信方法及*** |
CN104915258A (zh) * | 2015-06-09 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 分布式任务调度的方法和装置 |
CN104915258B (zh) * | 2015-06-09 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 分布式任务调度的方法和装置 |
WO2016177081A1 (zh) * | 2015-08-07 | 2016-11-10 | 中兴通讯股份有限公司 | 通知消息处理方法及装置 |
CN105159768A (zh) * | 2015-09-09 | 2015-12-16 | 浪潮集团有限公司 | 一种任务管理方法及云数据中心管理平台 |
CN105245372A (zh) * | 2015-10-12 | 2016-01-13 | 浪潮软件集团有限公司 | 一种基于缓存和异步机制的加载网络资源的优化方法 |
CN105183553A (zh) * | 2015-10-31 | 2015-12-23 | 山东智洋电气股份有限公司 | 软总线程序并发资源分配方法 |
CN106911736A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 云代理服务器、云代理的纯异步数据传输方法及*** |
CN106911736B (zh) * | 2015-12-22 | 2021-11-26 | 北京奇虎科技有限公司 | 云代理服务器、云代理的纯异步数据传输方法及*** |
CN105740065A (zh) * | 2016-01-20 | 2016-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种控制异步任务执行的方法及装置 |
CN107341050A (zh) * | 2016-04-28 | 2017-11-10 | 北京京东尚科信息技术有限公司 | 基于动态线程池的服务处理方法和装置 |
CN106021399A (zh) * | 2016-05-12 | 2016-10-12 | 网易(杭州)网络有限公司 | 查询请求消息的处理方法及装置 |
CN106021399B (zh) * | 2016-05-12 | 2019-12-06 | 网易(杭州)网络有限公司 | 查询请求消息的处理方法及装置 |
CN106020954A (zh) * | 2016-05-13 | 2016-10-12 | 深圳市永兴元科技有限公司 | 线程管理方法及装置 |
CN106022908A (zh) * | 2016-05-17 | 2016-10-12 | 中国建设银行股份有限公司 | 一种资产负债信息的查询方法及*** |
CN109155795B (zh) * | 2016-05-26 | 2022-04-12 | 百事可乐公司 | 对来自联网型分配机的遥测数据进行并行和可伸缩处理的***及方法 |
US11303728B2 (en) | 2016-05-26 | 2022-04-12 | Pepsico, Inc. | Systems and methods for parallel and scalable processing of telemetry data from connected dispensing machines |
CN109155795A (zh) * | 2016-05-26 | 2019-01-04 | 百事可乐公司 | 对来自联网型分配机的遥测数据进行并行和可伸缩处理的***及方法 |
CN105871917A (zh) * | 2016-06-08 | 2016-08-17 | 北京金山安全管理***技术有限公司 | 传输控制协议tcp连接调度的方法及装置 |
CN107657531A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种业务流程的处理方法及*** |
CN107657532A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种业务流程的处理方法及*** |
CN109804351A (zh) * | 2016-10-11 | 2019-05-24 | 微软技术许可有限责任公司 | 对异步计算作业的增强治理 |
CN107962560B (zh) * | 2016-10-18 | 2020-08-07 | 珠海格力智能装备有限公司 | 机器人及其控制方法和装置 |
CN107962560A (zh) * | 2016-10-18 | 2018-04-27 | 珠海格力智能装备有限公司 | 机器人及其控制方法和装置 |
CN108255853A (zh) * | 2016-12-29 | 2018-07-06 | 卓望数码技术(深圳)有限公司 | 一种插件式的请求异步处理方法以及*** |
CN106708628A (zh) * | 2016-12-29 | 2017-05-24 | 北京奇虎科技有限公司 | 基于工作线程压力优化的连接建立方法及装置 |
CN108319508A (zh) * | 2017-01-18 | 2018-07-24 | ***通信集团公司 | Http同步请求转为异步处理的方法及服务器 |
CN108319508B (zh) * | 2017-01-18 | 2020-10-20 | ***通信集团公司 | Http同步请求转为异步处理的方法及服务器 |
CN106886453A (zh) * | 2017-02-20 | 2017-06-23 | 恒生电子股份有限公司 | 用于异步多道的信息处理方法、装置和*** |
CN108632327A (zh) * | 2017-03-24 | 2018-10-09 | 北京嘀嘀无限科技发展有限公司 | 业务处理方法、装置及存储介质 |
CN107179942A (zh) * | 2017-05-16 | 2017-09-19 | 中国电子科技集团公司第四十研究所 | 一种基于多线程的实时数据分析任务分发处理方法 |
CN107179942B (zh) * | 2017-05-16 | 2020-12-01 | 中国电子科技集团公司第四十一研究所 | 一种基于多线程的实时数据分析任务分发处理方法 |
CN108958893A (zh) * | 2017-05-23 | 2018-12-07 | ***通信集团重庆有限公司 | 高并发业务的资源控制方法、装置和计算机可读存储介质 |
CN108958893B (zh) * | 2017-05-23 | 2020-12-08 | ***通信集团重庆有限公司 | 高并发业务的资源控制方法、装置和计算机可读存储介质 |
CN107329841A (zh) * | 2017-06-15 | 2017-11-07 | 武汉票据交易中心有限公司 | 一种多人交互下的交易流程的实现方法和*** |
WO2019001256A1 (zh) * | 2017-06-25 | 2019-01-03 | 平安科技(深圳)有限公司 | 高并发数据处理方法、装置及计算机可读存储介质 |
CN107872398A (zh) * | 2017-06-25 | 2018-04-03 | 平安科技(深圳)有限公司 | 高并发数据处理方法、装置及计算机可读存储介质 |
CN108022203A (zh) * | 2017-11-30 | 2018-05-11 | 上海联影医疗科技有限公司 | 医学图像的处理方法、装置、存储介质以及医学影像设备 |
CN108022203B (zh) * | 2017-11-30 | 2022-03-01 | 上海联影医疗科技股份有限公司 | 医学图像的处理方法、装置、存储介质以及医学影像设备 |
CN108280443A (zh) * | 2018-02-23 | 2018-07-13 | 深圳市唯特视科技有限公司 | 一种基于深特征提取异步融合网络的动作识别方法 |
US11294714B2 (en) | 2018-08-30 | 2022-04-05 | Apollo Intelligent Driving Technology (Beijing) Co., Ltd. | Method and apparatus for scheduling task, device and medium |
CN109117260A (zh) * | 2018-08-30 | 2019-01-01 | 百度在线网络技术(北京)有限公司 | 一种任务调度方法、装置、设备和介质 |
CN109788334A (zh) * | 2019-01-31 | 2019-05-21 | 北京字节跳动网络技术有限公司 | 弹幕处理方法、装置、电子设备及计算机可读存储介质 |
CN110740218A (zh) * | 2019-10-23 | 2020-01-31 | 京东数字科技控股有限公司 | 呼叫请求的处理方法、处理装置、电子设备和介质 |
CN111782293A (zh) * | 2020-06-28 | 2020-10-16 | 珠海豹趣科技有限公司 | 一种任务处理方法、装置、电子设备及可读存储介质 |
CN111930428A (zh) * | 2020-09-27 | 2020-11-13 | 南京芯瞳半导体技术有限公司 | 一种条件分支指令的融合方法、装置及计算机存储介质 |
CN114172887A (zh) * | 2021-11-30 | 2022-03-11 | 合肥安达创展科技股份有限公司 | 一种智能化展馆中控*** |
CN114179085A (zh) * | 2021-12-16 | 2022-03-15 | 上海景吾智能科技有限公司 | 机器人控制、轨迹衔接与平滑处理的方法及*** |
CN114179085B (zh) * | 2021-12-16 | 2024-02-06 | 上海景吾智能科技有限公司 | 机器人控制、轨迹衔接与平滑处理的方法及*** |
CN115037606A (zh) * | 2022-06-17 | 2022-09-09 | 福建天泉教育科技有限公司 | 一种网络数据的获取方法及终端 |
CN115037606B (zh) * | 2022-06-17 | 2023-04-28 | 福建天泉教育科技有限公司 | 一种网络数据的获取方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN103197968B (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103197968A (zh) | 一种融合同步异步特点的线程池处理方法及*** | |
JP7060724B2 (ja) | タスクスケジューリング方法、リソース共有使用方法、スケジューラ、コンピュータ可読記憶媒体および装置 | |
Kliazovich et al. | CA-DAG: Modeling communication-aware applications for scheduling in cloud computing | |
KR100509794B1 (ko) | 데이터베이스 관리시스템을 이용하는 작업들의 실시간 처리를 위한 스케줄링 방법 | |
US8276146B2 (en) | Grid non-deterministic job scheduling | |
CN108228354B (zh) | 调度方法、***、计算机设备和介质 | |
Koole et al. | Resource allocation in grid computing | |
CN103297395B (zh) | 一种互联网业务的实现方法、***以及装置 | |
CN109445944A (zh) | 一种基于dpdk的网络数据采集处理***及其方法 | |
CN112130963A (zh) | 虚拟机任务的调度方法、装置、计算机设备及存储介质 | |
CN106776395B (zh) | 一种共享集群的任务调度方法及装置 | |
CN103927225A (zh) | 一种多核心架构的互联网信息处理优化方法 | |
CN110471777B (zh) | 一种Python-Web环境中多用户共享使用Spark集群的实现方法和*** | |
CN103716397B (zh) | 一种面向服务仿真时钟推进方法 | |
CN110750331B (zh) | 一种针对教育桌面云应用的容器集群调度方法及平台 | |
WO2023274278A1 (zh) | 一种资源调度的方法、装置及计算节点 | |
CN110569252A (zh) | 一种数据处理***及方法 | |
CN108170417B (zh) | 一种在mesos集群中集成高性能的作业调度框架的方法和装置 | |
Dimopoulos et al. | Big data framework interference in restricted private cloud settings | |
CN109002364A (zh) | 进程间通信的优化方法、电子装置以及可读存储介质 | |
CN112104679A (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN107294911A (zh) | 一种数据包监听方法及装置、远程过程调用***、设备 | |
Liu et al. | KubFBS: A fine‐grained and balance‐aware scheduling system for deep learning tasks based on kubernetes | |
CN109525443B (zh) | 分布式前置采集通讯链路的处理方法、装置和计算机设备 | |
Gadre et al. | Investigating MapReduce framework extensions for efficient processing of geographically scattered datasets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: A software building Spark Road 210061 in Jiangsu province Nanjing City high-tech zones 12F Patentee after: FOCUS TECHNOLOGY Co.,Ltd. Patentee after: XINYIZHAN INSURANCE AGENCY CO.,LTD. Address before: A software building Spark Road 210061 in Jiangsu province Nanjing City high-tech zones 12F Patentee before: FOCUS TECHNOLOGY Co.,Ltd. Patentee before: XINYIZHAN INSURANCE AGENCY Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160330 |
|
CF01 | Termination of patent right due to non-payment of annual fee |