CN112667385A - 一种云服务系统及其任务执行方法和装置及服务器 - Google Patents
一种云服务系统及其任务执行方法和装置及服务器 Download PDFInfo
- Publication number
- CN112667385A CN112667385A CN202110056303.5A CN202110056303A CN112667385A CN 112667385 A CN112667385 A CN 112667385A CN 202110056303 A CN202110056303 A CN 202110056303A CN 112667385 A CN112667385 A CN 112667385A
- Authority
- CN
- China
- Prior art keywords
- task
- executed
- idle state
- workstation
- thread
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012544 monitoring process Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 abstract description 9
- 238000011161 development Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种云服务系统及其任务执行方法和装置及服务器,属于云服务技术领域;云服务系统包括云服务器,云服务器包括至少两个工作站,每个能够检测本工作站内线程的工作状态,在存在处于空闲状态的线程时能够及时处理交给本工作站的待执行任务,如果不存在则将待执行任务放到开源数据库中,以便其他工作站及时处理,而当本工作站没有待执行任务且存在处于空闲状态的线程时,主动从开源数据库中获取待执行任务执行。工作站任务执行率高,同时相同工作站可执行任务多,能够大大节省开发成本。
Description
技术领域
本发明涉及云服务技术,特别地,涉及一种云服务系统及其任务执行方法和装置及服务器。
背景技术
随着信息技术和软件行业的不断发展,人们的商务业务需求和生活需求也在不断发生改变,为了满足这些庞大的需求,各软件或互联网公司也相应的增加对“云服务和人力”资源的投入,但现有软件设计和云服务配置规划,云服务器的各工作站之间相互独立,可能会出现同一时间某些工作站要执行的任务众多,而某些工作站没有任务需要执行,为了保证任务的及时完成,只能增加工作站数量或通过其他方式提高工作站执行任务的速率,大大增加了企业的运营成本,且工作效率得不到提高。
发明内容
为了克服现有技术的不足,本发明提供一种云服务系统及其任务执行方法和装置及服务器,以解决现有软件设计和云服务配置规划会增加企业成本,工作效率低的问题。
本发明解决其技术问题所采用的技术方案是:
第一方面,
一种云服务系统,包括云服务器,所述云服务器上包括至少两个工作站,所述工作站用于执行任务;
还包括开源数据库,用于存放任一工作站无法立即执行的任务;
当任一工作站处于空闲状态时,从所述开源数据库中获取待执行的任务。
进一步地,所述开源数据库存放于公共网络。
进一步地,所述开源数据库为Redis。
第二方面,
一种工作站任务执行方法,包括以下步骤:
接收待执行任务;
监测当前所有线程的工作状态,所述工作状态包括空闲状态和非空闲状态;
根据当前所有线程的工作状态选择是否执行待执行任务。
进一步地,所述根据当前所有线程的工作状态选择是否执行待执行任务包括:
当任一线程处于空闲状态时,则采用处于空闲状态的线程执行所述待执行任务;
当所有线程都处于非空闲状态时,则不执行所述待执行任务。
进一步地,所述不执行所述待执行任务包括:将所述待执行任务放到开源数据库中。
进一步地,还包括:
当未接收到待执行任务且监测到任一线程处于空闲状态时,则从所述开源数据库中获取待执行任务执行。
进一步地,所述开源数据库为Redis。
第三方面,
一种工作站任务执行装置,,包括:
任务接收模块,用于接收待执行任务;
状态监测模块,用于监测当前所有线程的工作状态,所述工作状态包括空闲状态和非空闲状态;
执行判断模块,用于根据当前所有线程的工作状态选择是否执行待执行任务。
第四方面,
一种服务器,包括:
处理器,以及,
用于存储所述处理器可执行指令的存储器;
所述处理器被配置为:
接收待执行任务;
监测当前所有线程的工作状态,所述工作状态包括空闲状态和非空闲状态;
根据当前所有线程的工作状态选择是否执行待执行任务。
本申请采用以上技术方案,至少具备以下有益效果:
本申请技术方案提供一种云服务系统及其任务执行方法和装置及服务器,云服务系统包括云服务器,云服务器包括至少两个工作站,每个能够检测本工作站内线程的工作状态,在存在处于空闲状态的线程时能够及时处理交给本工作站的待执行任务,如果不存在则将待执行任务放到开源数据库中,以便其他工作站及时处理,而当本工作站没有待执行任务且存在处于空闲状态的线程时,主动从开源数据库中获取待执行任务执行。工作站任务执行率高,同时相同工作站可执行任务多,能够大大节省开发成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种云服务系统结构示意图;
图2是本发明实施例提供的一种工作站任务执行方法流程图;
图3是本发明实施例提供的一种具体的工作站任务执行方法流程图;
图4是本发明实施例提供的一种工作站任务执行装置结构示意图;
图5是本发明实施例提供的一种服务器结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明的技术方案进行详细的描述说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
参照图1,本发明实施例提供一种云服务系统,包括云服务器11,云服务器上包括至少两个工作站12,工作站用于执行任务;
还包括开源数据库13,用于存放任一工作站无法立即执行的任务;
当任一工作站处于空闲状态时,从开源数据库中获取待执行的任务。
作为对上述实施例的一种补充说明,开源数据库存放于公共网络。优选地,开源数据库为Redis。Redis(Remote Dictionary Server),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
本发明实施例提供的云服务系统,云服务器中包括至少两个工作站,每个工作站在存在处于空闲状态的线程时能够及时处理交给本工作站的待执行任务,如果不存在则将待执行任务放到开源数据库中,以便其他工作站及时处理,而当本工作站没有待执行任务且存在处于空闲状态的线程时,主动从开源数据库中获取待执行任务执行。工作站任务执行率高,同时相同工作站可执行任务多,能够大大节省开发成本。
一个实施例中,本发明实施例还提供一种工作站任务执行方法,如图2所示,包括以下步骤:
接收待执行任务;
监测当前所有线程的工作状态,工作状态包括空闲状态和非空闲状态;
根据当前所有线程的工作状态选择是否执行待执行任务。
作为本发明实施例一种可选的实现方式,根据当前所有线程的工作状态选择是否执行待执行任务包括:当任一线程处于空闲状态时,则采用处于空闲状态的线程执行待执行任务;当所有线程都处于非空闲状态时,则不执行待执行任务。
其中,不执行待执行任务包括:将待执行任务放到开源数据库中。
进一步地,还包括:当未接收到待执行任务且监测到任一线程处于空闲状态时,则从开源数据库中获取待执行任务执行。
优选地,开源数据库为Redis。
为了更清楚地说明本发明实施例的方案,下面以一个具体的例子进行说明。步骤如图3所示:
1.申请或搭建云服务环境(工作站数量>=2)和一个Redis数据服务,要求各工作站均可访问Redis数据服务,即:读写功能申请或搭建一个Redis数据服务,用于存放来不及待执行的任务
2.申请或搭建一个云服务,在云上各工作站中的程序上初始化适量(CPU内核数*2+2)线程的线程队列,用来执行业务任务。
3.工作站在接到任务后,从本机线程队列中查找空闲线程,如果存在空闲线程,则激活该线程,来执行任务,否则把任务放入Redis中,待有空闲的工作站领走处理。
4.工作站中的线程在执行完任务后,会直接从Redis中获取任务,如果存在待执行任务,则去执行,否则该线程会进行休眠,处于空闲状态,等待新任务来临
5.经以上2、3步骤循环运行,可保证云上各工作站一直处于“工作中”或“待工作”状态,充分调动了服务器和网络资源
6.经以上5个步骤,本发明规则汇总如下:
a.Redis数据服务可被各工作站访问,具有读写能力;
b.各工作站中的线程,有空闲的,则执行网络分配来的任务,否则要把任务放入Redis中,不能堵塞工作站网络,影响任务被执行。
c.各工作站中的线程,在执行完任务后,要从Redis中获取任务,如果有任务就去执行,否则就要休眠,设置为空闲状态,释放服务器资源,等待网络分配新任务。
d.各工作站“主动”放弃任务或领取任务的地方只能是Redis。
e.各工作站“被动”接收的任务,要么执行,要么放入Redis。
本发明实施例提供的工作站任务执行方法,在云上各工作站中初始化适量线程的线程队列,用来执行业务任务;在数据服务器上部署Redis缓存,用于存放来不及处理,或待执行的任务。工作站在接到任务后,从本机线程队列中查找空闲线程,如果存在空闲线程,则激活该线程,来执行任务,否则把任务放入Redis中,等待有空闲的工作站领走执行。工作站中的线程在执行完任务后,会从Redis中领取新任务,如果存在待执行任务,则去执行,否则该线程会进行休眠,处于空闲状态,等待新任务来临。至此,各工作站中的线程皆会处在“任务执行中”或“等待任务中”两种状态,而Redis则作为任务的公共领取处。综合来说,各工作站接收到任务后,有能力就做,没能力就会把任务放在Redis公共区域,供有能力的工作站拿去执行;工作站中的线程在做完任务后,会在公Redis共区域领取任务,有任务就执行,没有就处于休眠空闲状态,等待网络分派任务。综上,本发明可做到“除非各工作站皆处于满负荷状态,否则不会出现还不及处理或待执行任务的情况”的效果;本发明利用Redis网络特性,可使云上各工作站一直处于“工作中”或“待工作”状态,充分调动了服务器和网络资源,解决了“云服务负载不均和任务分配不平衡”的问题。
一个实施例中,本发明还提供一种工作站任务执行装置,如图4所示,包括:
任务接收模块41,用于接收待执行任务;
状态监测模块42,用于监测当前所有线程的工作状态,工作状态包括空闲状态和非空闲状态;
执行判断模块43,用于根据当前所有线程的工作状态选择是否执行待执行任务。具体地,当任一线程处于空闲状态时,执行判断模块则采用处于空闲状态的线程执行待执行任务;当所有线程都处于非空闲状态时,执行判断模块则不执行待执行任务。
其中,不执行待执行任务包括:将待执行任务放到开源数据库中。进一步地,当未接收到待执行任务且监测到任一线程处于空闲状态时,则从开源数据库中获取待执行任务执行。
作为本发明实施例一种优选的实现方式,开源数据库为Redis。
本发明实施例提供的一种工作站任务执行装置,任务接收模块接收待执行任务;状态监测模块监测当前所有线程的工作状态;执行判断模块,根据当前所有线程的工作状态选择是否执行待执行任务。本发明实施例提供的执行装置能够检测本工作站内线程的工作状态,在存在处于空闲状态的线程时能够及时处理交给本工作站的待执行任务,如果不存在则将待执行任务放到开源数据库中,以便其他工作站及时处理,而当本工作站没有待执行任务且存在处于空闲状态的线程时,主动从开源数据库中获取待执行任务执行。工作站任务执行率高,同时相同工作站可执行任务多,能够大大节省开发成本。
一个实施例中,本发明还提供一种服务器,如图5所示,包括:
处理器51,以及用于存储处理器可执行指令的存储器52;
处理器被配置为:
接收待执行任务;
监测当前所有线程的工作状态,工作状态包括空闲状态和非空闲状态;
根据当前所有线程的工作状态选择是否执行待执行任务。
作为本发明实施例一种可选的实现方式,当任一线程处于空闲状态时,则采用处于空闲状态的线程执行待执行任务;当所有线程都处于非空闲状态时,则不执行待执行任务。
其中,不执行待执行任务包括:将待执行任务放到开源数据库中。进一步地,当未接收到待执行任务且监测到任一线程处于空闲状态时,则从开源数据库中获取待执行任务执行。
作为本发明实施例一种优选的实现方式,开源数据库为Redis。
本发明实施例提供的一种服务器,存储器存储处理器的可执行命令,处理器检测本工作站内线程的工作状态,空闲时立即处理,不空闲时,放入开源数据库中,以便其他工作站及时处理,如果本工作站线程有处于空闲状态时,则主动从开源数据库中获取待执行任务。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种云服务系统,其特征在于:包括云服务器,所述云服务器上包括至少两个工作站,所述工作站用于执行任务;
还包括开源数据库,用于存放任一工作站无法立即执行的任务;
当任一工作站处于空闲状态时,从所述开源数据库中获取待执行的任务。
2.根据权利要求1所述的系统,其特征在于:所述开源数据库存放于公共网络。
3.根据权利要求1或2所述的系统,其特征在于:所述开源数据库为Redis。
4.一种工作站任务执行方法,其特征在于,包括以下步骤:
接收待执行任务;
监测当前所有线程的工作状态,所述工作状态包括空闲状态和非空闲状态;
根据当前所有线程的工作状态选择是否执行待执行任务。
5.根据权利要求4所述的方法,其特征在于:所述根据当前所有线程的工作状态选择是否执行待执行任务包括:
当任一线程处于空闲状态时,则采用处于空闲状态的线程执行所述待执行任务;
当所有线程都处于非空闲状态时,则不执行所述待执行任务。
6.根据权利要求5所述的方法,其特征在于:所述不执行所述待执行任务包括:将所述待执行任务放到开源数据库中。
7.根据权利要求6所述的方法,其特征在于,还包括:
当未接收到待执行任务且监测到任一线程处于空闲状态时,则从所述开源数据库中获取待执行任务执行。
8.根据权利要求6或7所述的方法,其特征在于:所述开源数据库为Redis。
9.一种工作站任务执行装置,其特征在于,包括:
任务接收模块,用于接收待执行任务;
状态监测模块,用于监测当前所有线程的工作状态,所述工作状态包括空闲状态和非空闲状态;
执行判断模块,用于根据当前所有线程的工作状态选择是否执行待执行任务。
10.一种服务器,其特征在于,包括:
处理器,以及,
用于存储所述处理器可执行指令的存储器;
所述处理器被配置为:
接收待执行任务;
监测当前所有线程的工作状态,所述工作状态包括空闲状态和非空闲状态;
根据当前所有线程的工作状态选择是否执行待执行任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056303.5A CN112667385A (zh) | 2021-01-15 | 2021-01-15 | 一种云服务系统及其任务执行方法和装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110056303.5A CN112667385A (zh) | 2021-01-15 | 2021-01-15 | 一种云服务系统及其任务执行方法和装置及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112667385A true CN112667385A (zh) | 2021-04-16 |
Family
ID=75415369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110056303.5A Pending CN112667385A (zh) | 2021-01-15 | 2021-01-15 | 一种云服务系统及其任务执行方法和装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667385A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463439A (zh) * | 2017-08-21 | 2017-12-12 | 山东浪潮通软信息科技有限公司 | 一种线程池实现方法及装置 |
CN108345499A (zh) * | 2018-02-01 | 2018-07-31 | 平安科技(深圳)有限公司 | 统一线程池处理方法、应用服务器及计算机可读存储介质 |
CN108829521A (zh) * | 2018-06-13 | 2018-11-16 | 平安科技(深圳)有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
CN110427253A (zh) * | 2019-07-04 | 2019-11-08 | 中国建设银行股份有限公司 | 机器人资源任务周期管控方法及装置 |
CN111314401A (zh) * | 2018-12-12 | 2020-06-19 | 百度在线网络技术(北京)有限公司 | 资源配置方法、装置、系统、终端和计算机可读存储介质 |
WO2020228449A1 (zh) * | 2019-05-16 | 2020-11-19 | 华为技术有限公司 | 一种节点选择方法和装置 |
-
2021
- 2021-01-15 CN CN202110056303.5A patent/CN112667385A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463439A (zh) * | 2017-08-21 | 2017-12-12 | 山东浪潮通软信息科技有限公司 | 一种线程池实现方法及装置 |
CN108345499A (zh) * | 2018-02-01 | 2018-07-31 | 平安科技(深圳)有限公司 | 统一线程池处理方法、应用服务器及计算机可读存储介质 |
CN108829521A (zh) * | 2018-06-13 | 2018-11-16 | 平安科技(深圳)有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
CN111314401A (zh) * | 2018-12-12 | 2020-06-19 | 百度在线网络技术(北京)有限公司 | 资源配置方法、装置、系统、终端和计算机可读存储介质 |
WO2020228449A1 (zh) * | 2019-05-16 | 2020-11-19 | 华为技术有限公司 | 一种节点选择方法和装置 |
CN110427253A (zh) * | 2019-07-04 | 2019-11-08 | 中国建设银行股份有限公司 | 机器人资源任务周期管控方法及装置 |
WO2021000758A1 (zh) * | 2019-07-04 | 2021-01-07 | 中国建设银行股份有限公司 | 机器人资源任务周期管控方法及装置 |
Non-Patent Citations (1)
Title |
---|
徐凯;朱斌;蔡卫峰;: "高压断路器远程监测系统设计", 工业控制计算机, no. 10, 25 October 2018 (2018-10-25) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11181970B2 (en) | System and method for performing distributed power management without power cycling hosts | |
US10359947B2 (en) | Reclaiming memory pages | |
US8839238B2 (en) | Dynamic virtual machine shutdown without service interruptions | |
US7328438B2 (en) | Deallocation of computer data in a multithreaded computer | |
US8261284B2 (en) | Fast context switching using virtual cpus | |
US20110167421A1 (en) | Dynamic Scaling of Management Infrastructure in Virtual Environments | |
US7962910B2 (en) | Selective generation of an asynchronous notification for a partition management operation in a logically-partitioned computer | |
US8495267B2 (en) | Managing shared computer memory using multiple interrupts | |
US20160019123A1 (en) | Fault tolerance for complex distributed computing operations | |
US20130036417A1 (en) | Virtual Resource Management Method, System, and Apparatus | |
US20190235902A1 (en) | Bully vm detection in a hyperconverged system | |
US11831410B2 (en) | Intelligent serverless function scaling | |
US20120089724A1 (en) | Diagnosis of application server performance problems via thread level pattern analysis | |
CN115373835A (zh) | Flink集群的任务资源调整方法、装置及电子设备 | |
US8001341B2 (en) | Managing dynamically allocated memory in a computer system | |
CN112667385A (zh) | 一种云服务系统及其任务执行方法和装置及服务器 | |
US8255642B2 (en) | Automatic detection of stress condition | |
WO2022199206A1 (zh) | 用于虚拟机的内存共享方法及装置 | |
CN117093335A (zh) | 分布式存储系统的任务调度方法及装置 | |
CN111930502A (zh) | 一种服务器管理方法、装置、设备及存储介质 | |
US20230101885A1 (en) | Reliable device assignment for virtual machine based containers | |
US20230376335A1 (en) | Cluster infrastructure with on-demand activation | |
US20230297431A1 (en) | Efficiency-adjusted hardware resource capacity to support a workload placement decision | |
US11792072B2 (en) | Workload aware networking in a microservice architecture | |
US20230418688A1 (en) | Energy efficient computing workload placement |
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 |