CN116566573A - 一种任务处理方法、系统、装置及存储介质 - Google Patents
一种任务处理方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN116566573A CN116566573A CN202310485116.8A CN202310485116A CN116566573A CN 116566573 A CN116566573 A CN 116566573A CN 202310485116 A CN202310485116 A CN 202310485116A CN 116566573 A CN116566573 A CN 116566573A
- Authority
- CN
- China
- Prior art keywords
- service node
- task
- processing
- participant
- state
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 211
- 238000000034 method Methods 0.000 claims abstract description 110
- 230000008569 process Effects 0.000 claims abstract description 72
- 230000004044 response Effects 0.000 claims abstract description 44
- 238000012544 monitoring process Methods 0.000 claims description 33
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开是关于一种任务处理方法、系统、装置及存储介质。在第一参与方中确定第一服务节点,并由第一服务节点获取区块链账本中所包括任务列表账本中的任务,并由第一服务节点处理获取到的任务;响应于第一服务节点处理完成任务,在第一服务节点的第一任务列表账本中更新任务的处理状态为完成状态;第一服务节点查询区块链账本中所包括流程定义文件账本,得到处理任务的第二参与方,并由第二参与方确定第二服务节点,流程定义文件账本中记录有处理任务的全部参与方;在第二服务节点对应的第二任务列表账本中添加任务,以触发第二服务节点处理任务。通过本公开的任务处理方法,有效改善了业务流程管理中存在的缺乏稳定性问题,提升任务处理的性能。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种任务处理方法、系统、装置及存储介质。
背景技术
随着业务流程的日益复杂化,传统的业务流程管理方法已无法应对一些复杂的业务处理逻辑的场景。
相关技术中,对于业务流程管理大都依赖于使用开源的流程引擎搭建集中式的流程控制中心,以实现对业务流程中的业务处理过程进行管理,但该方法在应对复杂的业务处理场景时,仍存在影响流程管理的性能问题。
发明内容
为克服相关技术中存在的问题,本公开提供一种任务处理方法、系统、装置及存储介质。
根据本公开实施例的第一方面,提供一种任务处理方法,包括:
在第一参与方中确定第一服务节点,并由所述第一服务节点获取区块链账本中所包括任务列表账本中的任务,并由所述第一服务节点处理获取到的任务;响应于所述第一服务节点处理完成所述任务,在所述第一服务节点的第一任务列表账本中更新所述任务的处理状态为完成状态;所述第一服务节点查询所述区块链账本中所包括流程定义文件账本,得到处理所述任务的第二参与方,并由所述第二参与方确定第二服务节点,所述流程定义文件账本中记录有处理所述任务的全部参与方;在所述第二服务节点对应的第二任务列表账本中添加所述任务,以触发所述第二服务节点处理所述任务。
一种实施方式中,目标服务节点采用如下方式在目标参与方中确定,所述目标服务节点包括第一服务节点,所述目标参与方包括第一参与方;所述在第一参与方中确定第一服务节点,包括:
确定发起任务处理的第一参与方中所包括的服务节点;响应于所述第一参与方中所包括的服务节点数量为多个,根据第一参与方中各服务节点的处理能力,确定处理能力满足处理所述任务的服务节点为第一服务节点;响应于所述第一参与方中所包括的服务节点的数量为单个,将所述单个服务节点确定为第一服务节点。
一种实施方式中,在由所述第一服务节点处理获取到的任务之前,所述方法还包括:
响应于所述第一服务节点确定需要进行任务处理,向预先配置的流程定义文件账本中所包括的全部参与方发送共识请求,并确定接收到所述全部参与方基于所述共识请求回复的确认共识应答。
一种实施方式中,所述方法还包括:
监控所述第一服务节点的任务处理状态;响应于监控到所述第一服务节点处理任务,将区块链账本中的服务节点状态账本中的第一服务节点的任务处理状态更新为处理中状态。
一种实施方式中,所述方法还包括:
响应于接收到服务节点状态查询请求,查询所述服务节点状态账本中的第一服务节点的任务处理状态。
根据本公开实施例的第二方面,提供一种任务处理系统,所述任务处理系统用于执行第一方面或者第一方面任意一种实施方式中所述的任务处理方法。
根据本公开实施例的第三方面,提供一种任务处理装置,包括:
确定单元,用于在第一参与方中确定第一服务节点;所述第一服务节点查询所述区块链账本中所包括流程定义文件账本,得到处理所述任务的第二参与方,并由所述第二参与方确定第二服务节点;获取单元,用于由所述第一服务节点获取区块链账本中所包括任务列表账本中的任务;处理单元,用于由所述第一服务节点处理获取到的任务;响应于所述第一服务节点处理完成所述任务,在所述第一服务节点的第一任务列表账本中更新所述任务的处理状态为完成状态;在所述第二服务节点对应的第二任务列表账本中添加所述任务,以触发所述第二服务节点处理所述任务;其中,所述流程定义文件账本中记录有处理所述任务的全部参与方。
一种实施方式中,目标服务节点采用如下方式在目标参与方中确定,所述目标服务节点包括第一服务节点,所述目标参与方包括第一参与方;所述确定单元采用如下方式在第一参与方中确定第一服务节点:
确定发起任务处理的第一参与方中所包括的服务节点;响应于所述第一参与方中所包括的服务节点数量为多个,根据第一参与方中各服务节点的处理能力,确定处理能力满足处理所述任务的服务节点为第一服务节点;响应于所述第一参与方中所包括的服务节点的数量为单个,将所述单个服务节点确定为第一服务节点。
一种实施方式中,所述装置还包括:
发送单元,用于响应于所述第一服务节点确定需要进行任务处理,向预先配置的流程定义文件账本中所包括的全部参与方发送共识请求;确定单元,还用于确定接收到所述全部参与方基于所述共识请求回复的确认共识应答。
一种实施方式中,所述装置还包括:
监控单元,用于监控所述第一服务节点的任务处理状态;更新单元,用于响应于监控到所述第一服务节点处理任务,将区块链账本中的服务节点状态账本中的第一服务节点的任务处理状态更新为处理中状态。
一种实施方式中,所述装置还包括:
接收单元,用于响应于接收到服务节点状态查询请求;查询单元,用于查询所述服务节点状态账本中的第一服务节点的任务处理状态。
根据本公开实施例第四方面,提供一种任务处理装置,包括:
处理器;用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行第一方面或者第一方面任意一种实施方式中所述的任务处理方法。
根据本公开实施例第五方面,提供一种存储介质,所述存储介质中存储有指令,当所述存储介质中的指令由系统的处理器执行时,使得系统能够执行第一方面或者第一方面任意一种实施方式中所述的任务处理方法。
本公开的实施例提供的技术方案可以包括以下有益效果:在第一参与方中确定第一服务节点,由第一服务节点获取区块链账本中所包括任务列表账本中的任务,并处理获取到的任务,当第一服务节点处理完成任务后,在第一服务节点的第一任务列表账本中更新任务的处理状态为完成状态,并通过第一服务节点查询区块链账本中所包括流程定义文件账本,得到处理任务的第二参与方,进一步确定第二服务节点,将任务添加至第二服务节点对应的第二任务列表账本中,触发第二服务节点处理任务。通过流程定义文件账本确定不同参与方的服务节点以及服务节点之间进行的任务传递,有效改善了中心化处理导致的业务流程管理中存在的稳定性问题,提升流程管理的性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种任务处理方法的流程图。
图2是根据一示例性实施例示出的一种确定第一服务节点方法的流程图。
图3是根据一示例性实施例示出的一种任务处理方法的流程图。
图4是根据一示例性实施例示出的一种监控服务节点的任务处理状态方法的流程图。
图5是根据一示例性实施例示出的一种查询服务节点的任务处理状态方法的流程图。
图6是根据一示例性实施例示出的一种任务处理系统的框架图。
图7是根据一示例性实施例示出的一种区块链账本的示意图。
图8为根据一示例性实施例示出的一种发布流程定义文件过程的示意图。
图9为根据一示例性实施例示出的一种任务处理过程的示意图。
图10为根据一示例性实施例示出的一种监控过程的示意图。
图11是根据一示例性实施例示出的一种任务处理装置的框图。
图12是根据一示例性实施例示出的一种任务处理装置的框图。。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。
随着业务流程的日益复杂化,传统的业务流程管理方法已无法应对一些复杂的业务处理场景。相关技术中,对于业务流程的管理大都依赖于使用工作流引擎(Activiti/Flowable)或卡蒙达引擎(camunda)等开源的流程引擎来搭建集中式的流程控制中心,但该业务流程管理方法会存在中心化控制导致业务流程管理不稳定、流程定义文件版本无法控制、各参与方之间缺乏高效地负载均衡以及数据缺乏安全性等问题。
基于区块链的特性,以及按照时间顺序将数据区块以顺序相连的方式组合的链式数据结构,能够在去中心化的前提下建立各参与方之间的信任机制。因此,通过采用区块链技术对业务流程管理方法进行设计,能够有效解决上述相关技术中存在的缺陷。也因此,在业务流程中引入区块链技术,对解决跨参与方的业务流程管理中存在的问题具有重要意义。
本公开实施例提供一种任务处理方法,通过区块链账本实现对任务列表账本和流程定义文件账本的管理,并由流程定义文件账本确定不同参与方的服务节点以及服务节点之间的任务处理,有效改善了中心化处理导致的业务流程管理中存在的稳定性问题,提升流程管理的性能。
在本公开以下将对上述任务处理方法进行说明。
图1是根据一示例性实施例示出的一种任务处理方法的流程图,如图1所示,包括以下步骤。
在步骤S101中,在第一参与方中确定第一服务节点,并由第一服务节点获取区块链账本中所包括任务列表账本中的任务,并由第一服务节点处理获取到的任务。
在步骤S102中,响应于第一服务节点处理完成任务,在第一服务节点的第一任务列表账本中更新任务的处理状态为完成状态。
在步骤S103中,第一服务节点查询区块链账本中所包括流程定义文件账本,得到处理任务的第二参与方,并由第二参与方确定第二服务节点,流程定义文件账本中记录有处理任务的全部参与方。
在步骤S104中,在第二服务节点对应的第二任务列表账本中添加任务,以触发第二服务节点处理任务。
一示例中,第一参与方能够为区块链网络中任意一个触发任务处理的参与方,第一服务节点为第一参与方中处理能力满足任务处理的服务节点。第二参与方由流程定义文件账本确定,在第一参与方之后进行任务处理的下一个参与方,第二服务节点为第二参与方中处理能力满足任务处理的服务节点。
一示例中,响应到第一参与方发起任务处理后,由第一服务节点处理完成该任务,存储该任务的处理结果并在第一任务列表账本中更新该任务的完成状态。第一服务节点通过查询流程定义文件账本,确定得到处理任务的第二参与方,由第二参与方确定第二服务节点,将任务添加至第二服务节点对应的第二任务列表账本,由第二服务节点处理该任务。直至流程定义文件账本中最后一个参与方的服务节点处理完成该任务,结束对该任务的处理。
一示例中,服务节点对应有各自的区块链账本,区块链账本包括流程定义文件账本、任务列表账本以及服务节点状态账本等多个账本。依靠区块链中的账本数据同步机制,能够使各个参与方中各服务节点的区块链账本中的数据信息均保持一致性。
本公开实施例提供一种任务处理方法,通过区块链账本实现对流程定义文件账本和各服务节点的任务列表账本的管理,并由流程定义文件账本确定不同参与方的服务节点以及服务节点之间的任务处理,有效改善了中心化处理导致的业务流程管理中存在的稳定性问题,提升流程管理的性能。
在本公开以下将对上述确定目标参与方的目标服务节点方法进行说明。其中,目标服务节点包括第一服务节点,目标参与方包括第一参与方。
图2是根据一示例性实施例示出的一种确定第一服务节点方法的流程图,如图2所示,包括以下步骤。
在步骤S201中,确定发起任务处理的第一参与方中所包括的服务节点。
在步骤S202中,响应于第一参与方中所包括的服务节点数量为多个,根据第一参与方中各服务节点的处理能力,确定处理能力满足处理任务的服务节点为第一服务节点。
在步骤S203中,响应于第一参与方中所包括的服务节点的数量为单个,将单个服务节点确定为第一服务节点。
一示例中,一个参与方可以包括多个服务节点,参与方基于服务节点的能力确定用于进行任务处理的目标服务节点。列如,第一参与方包括多个服务节点时,在多个服务节点中确定处理能力满足处理任务的服务节点为第一服务节点。
一示例中,一个参与方可以仅包括一个服务节点,参与方则将该服务节点作为目标服务节点。列如,第一参与方包括一个服务节点时,将该服务节点确定为第一服务节点。
本公开实施例提供一种任务处理方法,服务节点能够基于服务节点的处理能力确定进行任务处理的目标服务节点,实现了流程控制过程中各参与方中各服务节点的负载均衡,提升流程管理的性能。
在本公开以下将对上述第一服务节点处理获取到的任务之前,确定流程定义文件账本的方法进行说明。
图3是根据一示例性实施例示出的一种任务处理方法的流程图,如图3所示,包括以下步骤。
在步骤S301中,响应于第一服务节点确定需要进行任务处理,向预先配置的流程定义文件账本中所包括的全部参与方发送共识请求,并确定接收到全部参与方基于共识请求回复的确认共识应答。
在步骤S302中,更新区块链账本中的流程定义文件账本。
一示例中,第一服务节点发起任务处理请求进行任务处理之前,需要通过流程定义文件账本确定任务的参与方以及处理顺序。流程定义文件账本能够由第一服务节点预先配置,第一服务节点需要向预先配置的流程定义文件账本所包括的参与方发送共识请求,经所有参与方确认后完成区块链共识过程,将该预先配置的流程定义文件账本存储于区块链账本中,实现流程定义文件账本的发布。若预先配置的流程定义文件账本所包括的任一参与方拒绝确认第一服务将待发送的共识请求,则无法发布该预先配置的流程定义文件账本,第一服务节点也无法开始进行任务处理。
一示例中,对于已发布的流程定义文件账本,该流程定义文件账本中包括的参与方能够通过发起发布请求并在完成共识过程后,对流程定义文件账本进行修改,并存储区块链账本中。若已发布的流程定义文件账本所包括的任一参与方拒绝确认该发布请求,则无法对流程定义文件账本进行修改。
本公开实施例提供一种任务处理方法,采用区块链账本来存储任务处理中的数据信息,将流程定义文件存储于区块链账本中,通过区块链的共识机制来实现流程定义文件账本的版本控制,提升流程管理的性能。
一示例中,在服务节点处理任务过程中,能够随时监控服务节点的任务处理状态。
在本公开以下将以第一服务节点为例,对上述监控服务节点的任务处理状态的方法进行说明。
图4是根据一示例性实施例示出的一种监控服务节点的任务处理状态方法的流程图,如图4所示,包括以下步骤。
在步骤S401中,监控第一服务节点的任务处理状态。
在步骤S402中,响应于监控到第一服务节点处理任务,将区块链账本中的服务节点状态账本中的第一服务节点的任务处理状态更新为处理中状态。
一示例中,任务处理状态包括处理中状态、未处理状态以及失活状态等。
本公开实施例提供一种任务处理方法,通过监控服务节点的任务处理状态,将服务节点的任务处理状态更新至区块链账本中的服务节点状态账本中,以使得参与方能够通过读取区块链账本,及时获取服务节点的状态,当服务节点状态异常时及时进行处理。
在本公开以下将以第一服务节点为例,对查询服务节点的任务处理状态的方法进行说明。
图5是根据一示例性实施例示出的一种查询服务节点的任务处理状态方法的流程图,如图5所示,包括以下步骤。
在步骤S501中,响应于接收到服务节点状态查询请求,查询服务节点状态账本中的第一服务节点的任务处理状态。
本公开实施例提供一种任务处理方法,参与方通过发起查询请求获取所包括的服务节点的任务处理状态,实现对服务节点的监控,当服务节点状态异常时及时进行处理。
基于相同的构思,本公开实施例还提供一种任务处理系统,该任务处理系统能够用于执行本公开实施例任意一实施方式的任务处理方法。
图6是根据一示例性实施例示出的一种任务处理系统的框架图。
一示例中,任务处理系统基于区块链实现,可以包括一个或多个参与方,参与方可以包含一个或多个服务节点,每个服务节点均由业务层和区块链层两部分构成。
一示例中,业务层包括接入层、区块链软件开发工具包(SoftwareDevelopmentKit,SDK)模块以及监控看板模块等。接入层用于接收外部请求。区块链SDK模块用于完成业务层和区块链层的交互,即发起交易的服务节点,通过区块链SDK模块访问区块链账本。监控看板模块用于发送查询请求以查询区块链账本中流程定义文件版本、服务节点的状态以及所有的流程调度信息等信息。
一示例中,链码(chaincode,CC)是区块链“智能合约”,即为参与成员认可的业务逻辑代码,以容器化的方式运行。区块链层包括发布流程CC、定时器CC、业务处理CC、监控CC、Peer节点和区块链账本,或者包括发布流程CC、定时器CC、业务处理CC、监控CC、节点(Peer)、排序节点(Order)和区块链账本。
一示例中,发布流程CC用于接收业务层发送的发布流程请求,并将流程定义文件存储至区块链账本的流程定义文件账本中。定时器CC既能够根据服务节点的处理能力定时从任务列表账本中领取并锁定任务,并调用业务处理CC处理进行任务处理,又能够定时将服务节点状态写入对应的服务节点状态账本中。业务处理CC用于处理定时器CC领取的任务,存储该任务的处理结果并在第一任务列表账本中更新该任务的完成状态,以及根据流程定义文件确认下一个参与方,将该任务更新到下一个参与方的任务列表账本中。监控CC用于处理业务层的监控看板模块的请求,查询区块链账本信息。peer节点用于将参与方的服务节点接入到区块链网络中,并通过智能合约来执行交易。每个服务节点都有着各自的Peer节点,当接收到发布流程请求后,Peer节点运行发布流程CC实现对流程定义文件账本的发布与修改。Order节点用于完成区块链共识过程,Order收集各参与方传输的确定共识请求的结果后,由Peer节点将流程定义文件账本更新至区块链账本中。
如图6所示,该框架采用区块链网络的方式实现,多个参与方包括参与方1、参与方2以及参与方3等其他多个参与方n,其中,参与方1中包括多个服务节点,用于提供多个服务。参与方2、参与方3和其他多个参与方n包括一个服务节点。每个参与方的单服务节点通过安装Peer节点接入到公共的区块链网络中,并通过Peer节点获取区块链网络中的多个区块链账本。并在Peer节点中安装所需的多个智能合约CC,如发布流程CC、定时器CC、业务处理CC和监控CC,即可进行流程定义文件的发布、任务处理的业务流转、监控看板等过程。通过任务处理系统,既能够对流程定义文件的版本进行控制,使得各参与方能够同步流程定义文件,又能够完成安全高效的任务处理。
图7是根据一示例性实施例示出的一种区块链账本的示意图。如图7所示,区块链账本包括流程定义文件账本、任务列表账本、服务节点状态账本以及其它账本。其中,流程定义文件账本用于设置待执行任务的执行流程。任务列表账本用于存储业务流程中所有待执行任务。服务节点状态账本用于存储服务节点的状态信息。依靠区块链的账本数据同步机制,使得各个参与方中各服务节点的区块链账本中的数据信息均保持一致性。
图8为根据一示例性实施例示出的一种发布流程定义文件过程的示意图。如图8所示,发布流程定义文件由服务节点中的业务层和区块链层共同实现。步骤S601中,确定用户发送发布请求。步骤S602中,接入层接收发布请求。步骤S603中,区块链SDK模块转发发布请求,将发布请求转发至区块链层中的发布流程CC中。步骤S604中,发布流程CC处理发布请求,通过Peer节点发起更新流程定义文件账本的交易,由Oder节点将更新流程定义文件账本的交易广播至流程定义文件账本包括的参与方。步骤S605中,更新流程定义文件账本,当Order收集各参与方传输的确定共识请求的结果后,由Peer节点控制发布流程CC将流程定义文件写入区块链的状态数据库,并对流程定义文件取哈希值后写入区块链账本,完成流程定义文件账本的更新。
图9为根据一示例性实施例示出的一种任务处理过程的示意图。如图9所示,步骤S701中,获取流程定义文件账本,确定目标参与方的目标服务节点。在步骤S702中,定时器CC周期性获取任务,由定时器CC周期性从任务列表账本中获取目标服务节点的任务,并对领取的任务进行锁定,使得其它服务节点无法领取该任务进行处理。在步骤S703中,业务处理CC处理任务,调用业务流程CC处理领取的任务。在步骤S704中,更新任务列表账本,业务处理CC处理完任务后,将任务处理结果和处理完成状态更新到任务列表账本中。在步骤S705中,更新服务节点状态账本,定时器CC能够定时将服务节点状态更新到服务节点状态账本中。
图10为根据一示例性实施例示出的一种监控过程的示意图。如图10所示,步骤S801中,首先确定用户发送查询请求。步骤S802中,监控看板模块接收查询请求。步骤S803中,区块链SDK模块转发查询请求,将查询请求通过区块链SDK模块转发到区块链层的监控CC中。步骤S804中,监控CC查询区块链账本,区块链层的监控CC查询各个区块链账本。步骤S805中,获取各区块链账本。步骤S806中,区块链SDK模块转发区块链账本信息,区块链SDK模块将监控CC获取到的区块链账本信息转发至监控看板模块。步骤S807中,监控看板模块接收区块链账本信息。步骤S808中,显示区块链账本信息,将监控看板模块接收的区块链账本信息进行显示,使用户能够确定程定义文件版本信息、服务节点状态信息以及所有的流程调度信息。
一示例中,参与方能够为任意一个公司,服务节点能够为公司中具备的服务终端。例如,公司1能够发布一个传送物品至公司4的任务处理请求,以及预先配置了该任务处理需要由公司1、公司2、公司3以及公司4按照公司1到公司2、再由公司2到公司3、由公司3到公司4的顺序进行任务处理的流程定义文件账本。公司1首先确定进行任务处理的目标服务终端,由目标服务终端发起发布流程定义文件账本请求,并将发布请求发送至公司2、公司3以及公司4。当发布请求通过公司2、公司3以及公司4共识过程,则将流程定义文件账本更新至由公司1、公司2、公司3以及公司4组成的区块链网络中的区块链账本中,以使公司1、公司2、公司3以及公司4按照流程定义文件账本中的处理顺序,处理传送物品至公司4的任务。即,当公司1的目标服务终端获取到传送物品至公司4的任务后,调用目标服务终端中的业务流程CC进行处理,得到传送物品至公司2的处理结果,在目标服务终端的任务列表账本更新该任务状态,并将该任务添加至公司2的目标服务终端的任务列表账本中。公司2的目标服务终端获取到传送物品至公司4的任务后,调用目标服务终端中的业务流程CC进行处理,得到传送物品至公司3的处理结果,在目标服务终端的任务列表账本更新该任务状态,并将该任务添加至公司3的目标服务终端的任务列表账本中。直至公司4的目标服务终端的业务流程CC处理完成该任务,得到传送物品至公司4的任务处理结果,结束该任务处理流程。
本公开实施例提供一种任务处理方法,通过在第一参与方中确定第一服务节点,由第一服务节点获取区块链账本中所包括任务列表账本中的任务,并处理获取到的任务,当第一服务节点处理完成任务后,在第一服务节点的第一任务列表账本中更新任务的处理状态为完成状态,并通过第一服务节点查询区块链账本中所包括流程定义文件账本,得到处理任务的第二参与方,进一步确定第二服务节点,将任务添加至第二服务节点对应的第二任务列表账本中,触发第二服务节点处理任务,直至任务处理结束,有效改善了中心化处理导致的业务流程管理中存在的稳定性问题,提升流程管理的性能。
基于相同的构思,本公开实施例还提供一种任务处理装置。
可以理解的是,本公开实施例提供的任务处理装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本公开实施例中所公开的各示例的单元及算法步骤,本公开实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本公开实施例的技术方案的范围。
图11是根据一示例性实施例示出的一种任务处理装置100框图。参照图11,该装置包括确定单元101,获取单元102和处理单元103。
确定单元101,用于在第一参与方中确定第一服务节点;第一服务节点查询区块链账本中所包括流程定义文件账本,得到处理任务的第二参与方,并由第二参与方确定第二服务节点。
获取单元102,用于由第一服务节点获取区块链账本中所包括任务列表账本中的任务。
处理单元103,用于由第一服务节点处理获取到的任务;响应于第一服务节点处理完成任务,在第一服务节点的第一任务列表账本中更新任务的处理状态为完成状态;在第二服务节点对应的第二任务列表账本中添加任务,以触发第二服务节点处理任务。
其中,流程定义文件账本中记录有处理任务的全部参与方。
一种实施方式中,目标服务节点采用如下方式在目标参与方中确定,目标服务节点包括第一服务节点,目标参与方包括第一参与方;确定单元101采用如下方式在第一参与方中确定第一服务节点:
确定发起任务处理的第一参与方中所包括的服务节点;响应于第一参与方中所包括的服务节点数量为多个,根据第一参与方中各服务节点的处理能力,确定处理能力满足处理任务的服务节点为第一服务节点;响应于第一参与方中所包括的服务节点的数量为单个,将单个服务节点确定为第一服务节点。
一种实施方式中,装置还包括发送单元104:
发送单元104,用于响应于第一服务节点确定需要进行任务处理,向预先配置的流程定义文件账本中所包括的全部参与方发送共识请求。
确定单元101,还用于确定接收到全部参与方基于共识请求回复的确认共识应答。
一种实施方式中,装置还包括监控单元105和更新单元106:
监控单元105,用于监控第一服务节点的任务处理状态。
更新单元106,用于响应于监控到第一服务节点处理任务,将区块链账本中的服务节点状态账本中的第一服务节点的任务处理状态更新为处理中状态。
一种实施方式中,装置还包括接收单元107:
接收单元107,用于响应于接收到服务节点状态查询请求;查询单元,用于查询服务节点状态账本中的第一服务节点的任务处理状态。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图12是根据一示例性实施例示出的一种用于任务处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图12,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为装置800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
可以理解的是,本公开中“多个”是指两个或两个以上,其它量词与之类似。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
进一步可以理解的是,术语“第一”、“第二”等用于描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开,并不表示特定的顺序或者重要程度。实际上,“第一”、“第二”等表述完全可以互换使用。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
进一步可以理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作。
进一步可以理解的是,除非有特殊说明,“连接”包括两者之间不存在其他构件的直接连接,也包括两者之间存在其他元件的间接连接。
进一步可以理解的是,本公开实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利范围来限制。
Claims (13)
1.一种任务处理方法,其特征在于,包括:
在第一参与方中确定第一服务节点,并由所述第一服务节点获取区块链账本中所包括任务列表账本中的任务,并由所述第一服务节点处理获取到的任务;
响应于所述第一服务节点处理完成所述任务,在所述第一服务节点的第一任务列表账本中更新所述任务的处理状态为完成状态;
所述第一服务节点查询所述区块链账本中所包括流程定义文件账本,得到处理所述任务的第二参与方,并由所述第二参与方确定第二服务节点,所述流程定义文件账本中记录有处理所述任务的全部参与方;
在所述第二服务节点对应的第二任务列表账本中添加所述任务,以触发所述第二服务节点处理所述任务。
2.根据权利要求1所述的方法,其特征在于,目标服务节点采用如下方式在目标参与方中确定,所述目标服务节点包括第一服务节点,所述目标参与方包括第一参与方;
所述在第一参与方中确定第一服务节点,包括:
确定发起任务处理的第一参与方中所包括的服务节点;
响应于所述第一参与方中所包括的服务节点数量为多个,根据第一参与方中各服务节点的处理能力,确定处理能力满足处理所述任务的服务节点为第一服务节点;
响应于所述第一参与方中所包括的服务节点的数量为单个,将所述单个服务节点确定为第一服务节点。
3.根据权利要求1或2所述的方法,其特征在于,在由所述第一服务节点处理获取到的任务之前,所述方法还包括:
响应于所述第一服务节点确定需要进行任务处理,向预先配置的流程定义文件账本中所包括的全部参与方发送共识请求,并确定接收到所述全部参与方基于所述共识请求回复的确认共识应答。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监控所述第一服务节点的任务处理状态;
响应于监控到所述第一服务节点处理任务,将区块链账本中的服务节点状态账本中的第一服务节点的任务处理状态更新为处理中状态。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于接收到服务节点状态查询请求,查询所述服务节点状态账本中的第一服务节点的任务处理状态。
6.一种任务处理系统,其特征在于,所述任务处理系统用于执行权利要求1-5任意一种所述的任务处理方法。
7.一种任务处理装置,其特征在于,包括:
确定单元,用于在第一参与方中确定第一服务节点;所述第一服务节点查询区块链账本中所包括流程定义文件账本,得到处理所述任务的第二参与方,并由所述第二参与方确定第二服务节点;
获取单元,用于由所述第一服务节点获取区块链账本中所包括任务列表账本中的任务;
处理单元,用于由所述第一服务节点处理获取到的任务;响应于所述第一服务节点处理完成所述任务,在所述第一服务节点的第一任务列表账本中更新所述任务的处理状态为完成状态;在所述第二服务节点对应的第二任务列表账本中添加所述任务,以触发所述第二服务节点处理所述任务;
其中,所述流程定义文件账本中记录有处理所述任务的全部参与方。
8.根据权利要求7所述的装置,其特征在于,目标服务节点采用如下方式在目标参与方中确定,所述目标服务节点包括第一服务节点,所述目标参与方包括第一参与方;
所述确定单元采用如下方式在第一参与方中确定第一服务节点:
确定发起任务处理的第一参与方中所包括的服务节点;
响应于所述第一参与方中所包括的服务节点数量为多个,根据第一参与方中各服务节点的处理能力,确定处理能力满足处理所述任务的服务节点为第一服务节点;
响应于所述第一参与方中所包括的服务节点的数量为单个,将所述单个服务节点确定为第一服务节点。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
发送单元,用于响应于所述第一服务节点确定需要进行任务处理,向预先配置的流程定义文件账本中所包括的全部参与方发送共识请求;
确定单元,还用于确定接收到所述全部参与方基于所述共识请求回复的确认共识应答。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
监控单元,用于监控所述第一服务节点的任务处理状态;
更新单元,用于响应于监控到所述第一服务节点处理任务,将区块链账本中的服务节点状态账本中的第一服务节点的任务处理状态更新为处理中状态。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
接收单元,用于响应于接收到服务节点状态查询请求;
查询单元,用于查询所述服务节点状态账本中的第一服务节点的任务处理状态。
12.一种任务处理装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行权利要求1至5中任意一项所述的任务处理方法。
13.一种存储介质,其特征在于,所述存储介质中存储有指令,当所述存储介质中的指令由任务处理系统的处理器执行时,使得任务处理系统能够执行权利要求1至5中任意一项所述的任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310485116.8A CN116566573A (zh) | 2023-04-28 | 2023-04-28 | 一种任务处理方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310485116.8A CN116566573A (zh) | 2023-04-28 | 2023-04-28 | 一种任务处理方法、系统、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116566573A true CN116566573A (zh) | 2023-08-08 |
Family
ID=87485486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310485116.8A Pending CN116566573A (zh) | 2023-04-28 | 2023-04-28 | 一种任务处理方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116566573A (zh) |
-
2023
- 2023-04-28 CN CN202310485116.8A patent/CN116566573A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2636524C2 (ru) | Способ, устройство и система для управления административной связью между учетной записью и устройством | |
CN109388625B (zh) | 多分布式文件系统中处理配置文件的方法及装置 | |
CN109582400B (zh) | 程序调用方法及装置 | |
US10324910B2 (en) | Contact record processing method and apparatus | |
RU2645282C2 (ru) | Способ и устройство для вызова по облачным визиткам | |
CN112187862B (zh) | 一种任务处理方法、装置和用于任务处理的装置 | |
CN110061904B (zh) | 获取社交信息的方法、装置、系统、电子设备及存储介质 | |
WO2023024435A1 (zh) | 设备注册方法及装置、电子设备、存储介质和计算机程序产品 | |
CN111857806A (zh) | 权限配置文件更新方法、装置、电子设备及存储介质 | |
US20220159336A1 (en) | Method and system for displaying screen | |
CN109245992B (zh) | 请求处理方法、装置、电子设备及存储介质 | |
CN116566573A (zh) | 一种任务处理方法、系统、装置及存储介质 | |
CN110489155B (zh) | 数据文件管理方法、装置、电子设备及介质 | |
CN116208350A (zh) | 数字车钥匙注册方法、装置及存储介质 | |
CN108647285B (zh) | 分布式文件系统中重命名方法、装置及分布式文件系统 | |
CN109246322B (zh) | 一种信息处理方法和系统 | |
CN109194639B (zh) | 消息接收处理方法、装置、终端及可读存储介质 | |
CN113407316A (zh) | 服务调度方法、装置、电子设备及存储介质 | |
CN111857804A (zh) | 离线任务的处理方法、装置、电子设备及存储介质 | |
CN106992882B (zh) | 路由器文件迁移方法和装置 | |
CN111221862A (zh) | 一种请求处理方法及装置 | |
CN112102081B (zh) | 生成区块链的方法、装置、可读存储介质及区块链网络 | |
CN113191792B (zh) | 任务的处理方法、装置、电子设备、存储介质和程序产品 | |
CN111241134B (zh) | 一种数据处理方法及装置 | |
CN113596838A (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 |