CN112668998A - 流程实现方法、装置、系统、电子设备和可读存储介质 - Google Patents
流程实现方法、装置、系统、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN112668998A CN112668998A CN202011540463.9A CN202011540463A CN112668998A CN 112668998 A CN112668998 A CN 112668998A CN 202011540463 A CN202011540463 A CN 202011540463A CN 112668998 A CN112668998 A CN 112668998A
- Authority
- CN
- China
- Prior art keywords
- flow
- record
- node
- processing
- model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 371
- 238000012545 processing Methods 0.000 claims abstract description 144
- 238000012795 verification Methods 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims description 323
- 238000004891 communication Methods 0.000 claims description 15
- 238000005111 flow chemistry technique Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种流程实现方法、装置、系统、电子设备和可读存储介质,通过在获取终端设备发起的流程请求时,获得与流程请求对应的流程模型,基于流程模型并根据获得的流程数据生成对应的流程记录,并将流程模型写入流程记录中。在流程记录通过流程实现系统中的其他处理节点的共识验证后,将流程记录写入自身维护的区块链中。如此,利用流程模型生成流程记录,可保障流程处理的规范性,通过对包含流程模型的流程记录进行共识验证,可避免流程记录被篡改的问题,提高处理结果的可信度。
Description
技术领域
本申请涉及信息管理技术领域,具体而言,涉及一种流程实现方法、装置、系统、电子设备和可读存储介质。
背景技术
目前,随着科技的快速发展,商业流程系统也呈现出多样化。由原有的单一的流程管理方式,发展为多方的协同流程管理。但是,现有的协同流程处理过程中,通常是将数据集中存储于中心化的数据库中,流程处理引擎也单一地运行于某个组织的服务器中。这样的处理方式在商业流程管理中存在如数据篡改、处理结果可信度不高等问题。此外,这样的处理方式还可能存在各方数据处理过程不规范的问题。
发明内容
本申请的目的包括,例如,提供了一种流程实现方法、装置、系统、电子设备和计算机可读存储介质,其能够保障流程处理的规范性、提高处理结果的可信度。
本申请的实施例可以这样实现:
第一方面,本申请提供一种流程实现方法,所述方法应用于流程实现系统包含的多个处理节点中的任一处理节点,所述方法包括:
获取终端设备发起的流程请求,并获得与所述流程请求对应的流程模型,所述流程模型为用于处理所述流程请求的模板;
基于所述流程模型,根据获得的流程数据生成对应的流程记录;
将所述流程模型写入所述流程记录;
在所述流程记录通过所述流程实现系统中的其他处理节点的共识验证后,将所述流程记录写入自身维护的区块链中。
在可选的实施方式中,所述方法还包括:
记录所述流程请求中携带的时间戳;
检测接收到所述流程请求时的系统时间是否与所述时间戳一致;
若不一致,则将所述时间戳写入至所述流程记录中。
在可选的实施方式中,所述流程模型中包含多个过程流节点;
所述基于所述流程模型,根据获得的流程数据生成对应的流程记录的步骤,包括:
针对所述流程模型包含的每一过程流节点,在该过程流节点被标记为等待状态时,将当前根据获得的流程数据已生成的过程记录进行保存;
在所述过程流节点的状态更改为执行状态时,基于所述多个过程流节点中还未执行的过程流节点,并根据保存的过程记录及获得的流程数据生成对应的流程记录。
在可选的实施方式中,所述针对所述流程模型包含的每一过程流节点,在该过程流节点被标记为等待状态时,将当前根据获得的流程数据已生成的过程记录进行保存的步骤,包括:
针对所述流程模型包含的每一过程流节点,根据该过程流节点所对应的业务类型以及预先设置的自身的业务权限,判断是否具有执行该过程流节点的权限;
若具有,则基于所述过程流节点以及获得的流程数据生成过程记录并保存;
若不具有,则接收其他具有执行所述过程流节点的处理节点基于获得的流程数据所生成的过程记录,并保存。
在可选的实施方式中,所述流程模型中包含多个过程流节点;
所述基于所述流程模型,根据获得的流程数据生成对应的流程记录的步骤,包括:
针对所述流程模型包含的每一过程流节点,获得该过程流节点在所述流程模型中定义的所需接收的数据和/或所需发送的数据;
根据所述所需接收的数据和/或所需发送的数据,以及获得的流程数据对所述过程流节点进行实例化,得到该过程流节点对应的过程记录;
根据获得的多个过程流节点对应的过程记录,得到所述流程记录。
在可选的实施方式中,所述流程实现系统还包括与各所述处理节点通信的代理节点,所述方法还包括:
根据获得的流程记录生成下发消息,所述下发消息中携带有消息ID,所述消息ID唯一表征具有相同内容的下发消息;
将所述下发消息发送至所述代理节点,以使所述代理节点根据所述下发消息中携带的消息ID判断该下发消息是否为接收到的具有相同内容的首个下发消息,并在为首个下发消息时将所述下发消息发送给对应的终端设备。
第二方面,本申请提供一种流程实现装置,所述装置应用于流程实现系统包含的多个处理节点中的任一处理节点,所述装置包括:
获取模块,用于获取终端设备发起的流程请求,并获得与所述流程请求对应的流程模型,所述流程模型为用于处理所述流程请求的模板;
生成模块,用于基于所述流程模型,根据获得的流程数据生成对应的流程记录;
写入模块,用于将所述流程模型写入所述流程记录,并在所述流程记录通过所述流程实现系统中的其他处理节点的共识验证后,将所述流程记录写入自身维护的区块链中。
第三方面,本申请提供一种流程实现系统,所述系统包括多个通信连接的处理节点:
任一处理节点用于获取终端设备发起的流程请求,并获得与所述流程请求对应的流程模型,所述流程模型为用于处理所述流程请求的模板;
任一处理节点,还用于基于所述流程模型,根据获得的流程数据生成对应的流程记录,将所述流程模型写入所述流程记录,将所述流程记录发送至所述系统中的其他处理节点;
接收到所述流程记录的处理节点用于对所述流程记录进行共识验证,并将验证结果反馈至发送所述流程记录的处理节点;
接收到所述验证结果的处理节点用于在所述验证结果表征共识验证通过后,将所述流程记录写入自身维护的区块链中。
第四方面,本申请提供一种电子设备,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行前述实施方式中任意一项所述的方法步骤。
第五方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可执行指令,所述机器可执行指令被执行时实现前述实施方式中任意一项所述的方法步骤。
本申请实施例的有益效果包括,例如:
本申请实施例提供的流程实现方法、装置、系统、电子设备和可读存储介质,通过在获取终端设备发起的流程请求时,获得与流程请求对应的流程模型,基于流程模型并根据获得的流程数据生成对应的流程记录,并将流程模型写入流程记录中。在流程记录通过流程实现系统中的其他处理节点的共识验证后,将流程记录写入自身维护的区块链中。如此,利用流程模型生成流程记录,可保障流程处理的规范性,通过对包含流程模型的流程记录进行共识验证,可避免流程记录被篡改的问题,提高处理结果的可信度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的流程实现方法的应用场景示意图;
图2为本申请实施例提供的流程实现方法的流程图;
图3为本申请实施例提供的流程实现方法中,时间戳检测方法的流程图;
图4为本申请实施例提供的流程实现方法中,流程记录生成方法的流程图;
图5为本申请实施例提供的流程实现方法中,过程记录生成方法的流程图;
图6为本申请实施例提供的流程实现方法中,流程记录生成方法的另一流程图;
图7为本申请实施例提供的流程实现方法的另一应用场景示意图;
图8为本申请实施例提供的流程实现方法中,下发消息转发方法的流程图;
图9为本申请实施例提供的流程实现装置的功能模块框图;
图10为本申请实施例提供的电子设备的结构框图。
图标:10-处理节点;110-流程实现装置;111-获取模块;112-生成模块;113-写入模块;120-存储器;130-处理器;140-通信单元;20-终端设备;30-代理节点。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参阅图1,图1为本申请实施例提供的流程实现方法的应用场景示意图。该场景中包括流程实现系统,该系统包括多个处理节点10(图中只示出四个),各处理节点10之间分别通信连接,可实现数据传输及通信。本实施例中,各处理节点10可为具有多个分公司的企业中各分公司所对应的节点,也可以是商业系统中涉及相同项目的不同参与方、不同部门等各自维护的处理节点10等。其中,各处理节点10各自维护有区块链,可通过向区块链中写入数据以进行保存。并且,各个处理节点10可向系统中的其他处理节点10广播信息,使各个处理节点10对广播的信息进行共识验证。
在本实施例中,系统中的各个处理节点10可以是服务器、终端等设备。
此外,上述流程实现系统还可包括多个终端设备20,终端设备20可与系统中的各个处理节点10通信连接,以与各个处理节点10之间实现信息、数据的交互。其中,终端设备20可以是用户所持的设备,例如智能手机、平板电脑等设备,可在用户的操作下与各个处理节点10实现信息、数据交互。终端设备20也可以是物联网设备,例如,智能家居、具有网络通信功能的车载设备等,物联网设备可在不同的场景下自主触发与各个处理节点10之间的信息、数据的交互。
请参照图2,图2为应用于图1所示的任一处理节点10的一种流程实现方法的流程图,以下将对所述方法包括的各个步骤进行详细阐述。
步骤S110,获取终端设备20发起的流程请求,并获得与所述流程请求对应的流程模型,所述流程模型为用于处理所述流程请求的模板。
步骤S120,基于所述流程模型,根据获得的流程数据生成对应的流程记录。
步骤S130,将所述流程模型写入所述流程记录。
步骤S140,在所述流程记录通过所述流程实现系统中的其他处理节点10的共识验证后,将所述流程记录写入自身维护的区块链中。
在商业流程中往往涉及用户对业务的办理等过程,例如,银行业务中的贷款办理、信用卡办理等。若是采用电子平台的方式进行办理,则用户可以通过如智能手机或计算机设备等终端设备20发起流程请求,银行系统一侧的处理平台可获取用户发起的流程请求,并进行相应的流程处理。而其中处理平台可由多个处理节点10所构成。各个处理节点10均可对流程请求进行处理。
针对系统中的各个处理节点10,在获取终端设备20发起的流程请求后,可获得流程请求对应的流程模型,其中,可以是流程请求中携带有流程模型信息,处理节点10根据流程请求中携带的流程模型信息获取对应的流程模型。也可以是处理节点10根据流程请求所请求的相关业务信息从而获取对应的流程模型。
其中,流程模型即为用于处理流程请求的模板,流程模型可以包含模型ID、模型版本信息、流程定义信息等。例如,在流程请求为银行业务中的贷款请求时,则流程模型即为预先定制的与贷款处理流程相关的模板,例如,该模板可以包括需要执行哪些步骤、各个步骤需要提交什么材料、需要向用户反馈什么信息、各个步骤是否需要验证以及各个步骤具体需要哪些部门进行处理等等。
在流程成功发起并确定流程模型后,该流程就具有唯一确定的流程ID,在该流程处理的各个阶段,均以该唯一确定的流程ID对该流程进行标记。可选地,处理节点10可包括流程控制器,后续在处理该流程时,可通过流程控制器首先根据流程ID读取流程的相关状态。
基于得到的流程模型,即可按照流程模型并根据获得的流程数据进行处理得到流程记录。其中,获得的流程数据可以是用户所发送的数据、发送至用户的数据以及后台操作人员所输入的数据等。得到的流程记录即为依据该流程模型最终得到的相应的业务的办理结果。
在得到流程记录的基础上,本实施例中,还可将流程模型一并写入到流程记录中,也即流程模型保存至相关流程过程的上下文中,随相关流程过程信息一并保存。
在此基础上,为了保障某个处理节点10对流程记录中的相关信息进行篡改,因此,处理节点10可将得到的流程记录在系统中进行广播,而系统中的其他处理节点10将对其广播的流程记录进行共识验证。在处理节点10广播的流程记录通过其他处理节点10的共识验证之后,该处理节点10可将得到的流程记录写入到其维护的区块链中。其中,可以对流程记录进行处理生成数据区块,并将生成的数据区块添加至区块链中。
各个处理节点10可维护一条区块链,各个处理节点10都可往区块链中写入数据,且各处理节点10所维护的区块链是同步的,保证数据的一致性。
商业流程建模是对业务流程进行表述的方式,是过程分析与重组的重要基础,这种方式可大大优化软件开发和运行效率。而基于区块链的智能合约的业务流程建模,能够提供可信商业流程的同时,保证各个参与方的商业逻辑和商业隐私。
因此,通过以上方式,对于接收到的流程请求,按照对应的流程模型进行处理,从而可以实现对流程处理的规范性。并且,通过将生成的流程记录进行广播以进行共识验证,并在验证通过的情况下写入区块链中,如此,可以保障各个处理节点10针对相同业务流程,所使用的流程模型是一致的,且保障处理结果的可信度。
在本实施例中,考虑到各个处理节点10各自的系统时间可能不一致,并不是每个处理节点10的系统时间均与标准的时间一致,因此,为了避免后续得到的流程记录出现时间误差的问题,请参阅图3,在本实施例中,流程实现方法还可包括以下步骤:
步骤S210,记录所述流程请求中携带的时间戳。
步骤S220,检测接收到所述流程请求时的系统时间是否与所述时间戳一致,若不一致,则执行以下步骤S230。
步骤S230,将所述时间戳写入至所述流程记录中。
在本实施例中,各个处理节点10可包括流程引擎,终端设备20发起的流程请求中携带有时间戳,流程引擎可配置为记录流程请求中的时间戳。处理节点10在自身接收到流程请求的系统时间与请求中的时间戳不一致时,则将时间戳写入到流程记录中。而若自身的系统时间与请求中的时间戳一致,则可以以自身的系统时间作为后续流程记录的时间记录。
在本实施例中,流程引擎在获得流程请求中的时间戳时,可同时生成一随机数,在后续写入到流程记录并生成数据区块时,流程记录可包含具体的数据信息、该时间戳以及该随机数。如此,可保障各个处理节点10保存的流程记录中,时间信息是一致同步的。
由上述可知,在流程处理过程中可能包含多个阶段步骤,相应地,流程模型中包含多个过程流节点,各个过程流节点即对应不同的阶段步骤。
本实施例中,流程引擎可设置为支持两个状态,包括执行中与等待中,当流程引擎在执行某个任务时,状态为执行中。当流程引擎在等待某个任务的输入时,状态为等待中。相应地,从流程模型包含的各个过程流节点而言,请参阅图4,本实施例中,可通过以下方式基于流程模型得到流程记录:
步骤S121,针对所述流程模型包含的每一过程流节点,在该过程流节点被标记为等待状态时,将当前根据获得的流程数据已生成的过程记录进行保存。
步骤S122,在所述过程流节点的状态更改为执行状态时,基于所述多个过程流节点中还未执行的过程流节点,并根据保存的过程记录及获得的流程数据生成对应的流程记录。
由上述可知,流程引擎的状态可包括执行中和等待中,例如,针对某个流程业务,该流程业务的完成可能需要多个步骤、多个部门的协同合作,在某个步骤完成之后,需要进入下一个步骤,但是,在进入下一个步骤之前,还可能涉及一些人工的处理、核对等工作。这些人工处理的工作往往所需时间较长,因此,会导致流程处理的中断。因此,所谓的执行中的状态即可以基于数据等进行处理的阶段,而等待中的状态即为等待这些人工处理的状态。
相应地,针对流程模型中包含的每一过程流节点,在某个过程流节点被标记为等待状态时,流程引擎可以读取流程状态,相应地,流程引擎此时为等待状态,需要将根据之前获得的流程数据已生成的过程记录进行保存。如此,避免由于需要中断而导致的记录丢失或出错等问题。
而在如人工处理完成并触发流程继续执行时,即上述过程流节点的状态更改为执行状态时,相应地,流程引擎的状态更换为执行中的状态。在此情形下,可以继续基于多个过程流节点中还未执行的过程流节点,根据保存的过程记录及获得的流程数据生成对应的过程记录,以最终得到流程记录。
本实施例中的各个处理节点10在物理层面上是身份平等的,即各个处理节点10均可将数据写入到区块链中,最终各个处理节点10保存的区块链是一致同步的。但是,例如,在各个处理节点10对应的是一项流程业务中的不同参与方、不同部门等时,则各个处理节点10在业务权限是不同的。因此,请参阅图5,在上述根据获得的流程数据生成过程记录并保存的步骤中,可以通过以下方式实现:
步骤S1211,针对所述流程模型包含的每一过程流节点,根据该过程流节点所对应的业务类型以及预先设置的自身的业务权限,判断是否具有执行该过程流节点的权限,若具有,则执行以下步骤S1212,若不具有,则执行以下步骤S1213。
步骤S1212,基于所述过程流节点以及获得的流程数据生成过程记录并保存。
步骤S1213,接收其他具有执行所述过程流节点的处理节点10基于获得的流程数据所生成的过程记录,并保存。
本实施例中,流程模型包含多个过程流节点,例如各个过程流节点可能对应的是用户身份信息的审核业务、用户提供的数据核对业务、用户放款的数额业务等等。这些业务可能需要不同的参与方进行处理。因此,各个处理节点10在针对某个过程流节点时,会先判断自身所具有的业务权限,是否可以处理该业务类型的过程流节点对应的业务。
如果处理节点10具有相应的权限,则可以基于过程流节点并根据获得的流程数据生成对应的过程记录。如果处理节点10不具有相应的权限,则具有相应处理权限的应当是系统中其他处理节点10中的一个或多个。此时,则可以在其他具有处理权限的处理节点10在处理得到过程记录之后,并在通过共识验证后,接收其他处理节点10发送的过程记录并保存。
如此,以泳道的方式管理各个处理节点10对于不同业务类型的处理权限,可以使流程处理有序且规范的执行。
在本实施例中,流程处理过程中所获得的流程数据不仅仅包含用户所发送的流程数据,可能还包括操作人员所输入的流程数据,并且,在此过程中可能还需要反馈给用户一些信息数据,进而使得用户可以基于反馈的信息数据提供相应的流程数据。因此,请参阅图6,本实施例中,基于流程对应的流程模型并根据获得的流程数据生成对应的流程记录的步骤,可以通过以下方式实现。
步骤S123,针对所述流程模型包含的每一过程流节点,获得该过程流节点在所述流程模型中定义的所需接收的数据和/或所需发送的数据。
步骤S124,根据所述所需接收的数据和/或所需发送的数据,以及获得的流程数据对所述过程流节点进行实例化,得到该过程流节点对应的过程记录。
步骤S125,根据获得的多个过程流节点对应的过程记录,得到所述流程记录。
本实施例中,每一过程流节点定义有所需接收的数据,例如需要获取到用户发送的哪些数据,或者需要获取到操作人员输入的哪些数据。此外,过程流节点还可定义所需发送的数据,例如需要向用户发送哪些数据。而向用户发送数据的目的大多是需要用户基于接收到的数据反馈相应地数据至平台。
因此,在过程流节点定义信息下,可以根据获得的流程数据对过程流节点进行实例化,得到该过程流节点对应的过程记录。在所有的过程流节点均完成实例化之后,整个流程处理完成,得到最终的流程记录。
在本实施例中,由上述可知,终端设备20可以是物联网设备,而物联网设备是可以直接与平台中的各个处理节点10通信的。终端设备20发起的流程请求,可以是物联网设备在出现故障或者是人为破坏、非法改动等情况下所发起的报警请求。物联网设备发起的报警请求可触发平台中的处理节点10,处理节点10可以根据报警请求中的报警规则信息确定对应的流程模型,进而执行流程处理。
在按照上述处理流程处理结束后,所产生的流程记录可包括读数据集以及写数据集。其中,读数据集中记录有物联网设备从平台所读取的数据信息,写数据集中记录有基于物联网设备所发送的数据所生成的数据信息。
系统中的各个处理节点10可分别获得上述读数据集和写数据集,在通过系统中专用的内置智能合约进行多个处理节点10产生的读数据集和写数据集的验证后,当各个处理节点10的读数据集和写数据集均验证通过,即各个处理节点10的数据集一致时,可将数据集保存至区块链中。
在系统平台对物联网设备所发送的请求进行处理后,后续可能涉及到平台会向物联网设备发送一些指令信息以指导物联网设备进行相应处理,但是,由于系统中各个处理节点10均能够与物联网设备通信,因此,在下发指令时,可能存在多个处理节点10均向物联网设备发送相同的或相似的指令,导致物联网设备可能会对多次重复执行相同的指令,轻则导致物联网设备服务出错,重则可能导致危急人身安全的风险。
因此,请参阅图7,在本实施例中,流程实现系统中还包括代理节点30,该代理节点30可以是服务器、终端等设备。该代理节点30可与各个处理节点10通信连接,并且,可与终端设备20建立通信连接。而本实施例所提供的流程实现方法还可包括以下步骤,请结合参阅图8:
步骤S310,根据获得的流程记录生成下发消息,所述下发消息中携带有消息ID,所述消息ID唯一表征具有相同内容的下发消息。
步骤S320,将所述下发消息发送至所述代理节点30,以使所述代理节点30根据所述下发消息中携带的消息ID判断该下发消息是否为接收到的具有相同内容的首个下发消息,并在为首个下发消息时将所述下发消息发送给对应的终端设备20。
本实施例中,可预先定义不同的下发消息所对应的消息ID,其中,同样的下发消息仅能具有一个消息ID,例如控制终端设备20开启的消息具有一个消息ID,控制终端设备20关闭的消息具有唯一消息ID等。并且,该定义规则适用于系统中的各个处理节点10,即各个处理节点10在向终端设备20下发消息时,需要按照该预先定义的消息ID的设置规定将对应的消息ID携带在下发消息中。
各个处理节点10在向终端设备20下发消息时,会将下发消息发送至代理节点30,而代理节点30在接收到下发消息后,会根据下发消息中的消息ID判断当前接收到的下发消息是否为接收到的第一个该类型的下发消息。即是否为接收到的第一个具有该消息ID的下发消息。如果该下发消息是第一个该类型的下发消息时,则代理节点30将该下发消息转发至对应的终端设备20。若该下发消息并非第一个该类型的下发消息时,则表明之前已经向同一个终端设备20下发了相同的下发消息,则代理节点30会将该下发消息过滤掉,从而保证没有重复的下发消息发送至终端设备20。
如此,避免了终端设备20接收到多个相同的下发消息,进而多次重复执行相同的指令所带来的弊端。
如图9所示,为本申请实施例提供的一种流程实现装置110的功能模块框图,该装置应用于所述流程实现系统中的任一处理节点10。所述装置包括获取模块111、生成模块112及写入模块113。
获取模块111,用于获取终端设备20发起的流程请求,并获得与所述流程请求对应的流程模型,所述流程模型为用于处理所述流程请求的模板。
在本实施例中,关于获取模块111的描述具体可参考对图2所示的步骤S110的详细描述,即步骤S110可以由获取模块111执行。
生成模块112,用于基于所述流程模型,根据获得的流程数据生成对应的流程记录。
在本实施例中,关于生成模块112的描述具体可参考对图2所示的步骤S120的详细描述,即步骤S120可以由生成模块112执行。
写入模块113,用于将所述流程模型写入所述流程记录,并在所述流程记录通过所述流程实现系统中的其他处理节点10的共识验证后,将所述流程记录写入自身维护的区块链中。
在本实施例中,关于写入模块113的描述具体可参考对图2所示的步骤S130的详细描述,即步骤S130可以由写入模块113执行。
在一种可能的实现方式中,上述流程实现装置110还包括检测模块,该检测模块具体用于:
记录所述流程请求中携带的时间戳;
检测接收到所述流程请求时的系统时间是否与所述时间戳一致;
若不一致,则将所述时间戳写入至所述流程记录中。
在一种可能的实现方式中,所述流程模型中包含多个过程流节点,上述生成模块112具体可以用于:
针对所述流程模型包含的每一过程流节点,在该过程流节点被标记为等待状态时,将当前根据获得的流程数据已生成的过程记录进行保存;
在所述过程流节点的状态更改为执行状态时,基于所述多个过程流节点中还未执行的过程流节点,并根据保存的过程记录及获得的流程数据生成对应的流程记录。
在一种可能的实现方式中,上述生成模块112具体可以用于通过以下方式生成过程记录:
针对所述流程模型包含的每一过程流节点,根据该过程流节点所对应的业务类型以及预先设置的自身的业务权限,判断是否具有执行该过程流节点的权限;
若具有,则基于所述过程流节点以及获得的流程数据生成过程记录并保存;
若不具有,则接收其他具有执行所述过程流节点的处理节点10基于获得的流程数据所生成的过程记录,并保存。
在一种可能的实现方式中,上述生成模块112还可以用于通过以下方式生成流程记录:
针对所述流程模型包含的每一过程流节点,获得该过程流节点在所述流程模型中定义的所需接收的数据和/或所需发送的数据;
根据所述所需接收的数据和/或所需发送的数据,以及获得的流程数据对所述过程流节点进行实例化,得到该过程流节点对应的过程记录;
根据获得的多个过程流节点对应的过程记录,得到所述流程记录。
在一种可能的实现方式中,流程实现系统还包括与各所述处理节点10通信的代理节点30,流程实现装置110还包括下发模块,该下发模块用于:
根据获得的流程记录生成下发消息,所述下发消息中携带有消息ID,所述消息ID唯一表征具有相同内容的下发消息;
将所述下发消息发送至所述代理节点30,以使所述代理节点30根据所述下发消息中携带的消息ID判断该下发消息是否为接收到的具有相同内容的首个下发消息,并在为首个下发消息时将所述下发消息发送给对应的终端设备20。
如图10所示,本申请实施例还提供一种电子设备,该电子设备可以是上述任一处理节点10。该电子设备包括流程实现装置110、存储器120、处理器130以及通信单元140。
所述存储器120、处理器130以及通信单元140各元件相互之间直接或间接地电性连接,以实现信息的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器120中存储有以软件或固件(Firmware)的形式存储于所述存储器120中的软件功能模块,所述处理器130通过运行存储在存储器120内的软件程序以及模块,如本申请实施例中的流程实现装置110,从而执行各种功能应用以及数据处理,即实现本申请实施例中的流程实现方法。
其中,所述存储器120可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。所述通信单元140用于建立处理节点10以及处理节点10与终端设备20之间的通信。
所述处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器130也可以是任何常规处理器等。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器130运行时执行上述流程实现方法的步骤。
综上所述,本申请实施例提供的流程实现方法、装置、系统、电子设备和可读存储介质,通过在获取终端设备20发起的流程请求时,获得与流程请求对应的流程模型,基于流程模型并根据获得的流程数据生成对应的流程记录,并将流程模型写入流程记录中。在流程记录通过流程实现系统中的其他处理节点10的共识验证后,将流程记录写入自身维护的区块链中。如此,利用流程模型生成流程记录,可保障流程处理的规范性,通过对包含流程模型的流程记录进行共识验证,可避免流程记录被篡改的问题,提高处理结果的可信度。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种流程实现方法,其特征在于,所述方法应用于流程实现系统包含的多个处理节点中的任一处理节点,所述方法包括:
获取终端设备发起的流程请求,并获得与所述流程请求对应的流程模型,所述流程模型为用于处理所述流程请求的模板;
基于所述流程模型,根据获得的流程数据生成对应的流程记录;
将所述流程模型写入所述流程记录;
在所述流程记录通过所述流程实现系统中的其他处理节点的共识验证后,将所述流程记录写入自身维护的区块链中。
2.根据权利要求1所述的流程实现方法,其特征在于,所述方法还包括:
记录所述流程请求中携带的时间戳;
检测接收到所述流程请求时的系统时间是否与所述时间戳一致;
若不一致,则将所述时间戳写入至所述流程记录中。
3.根据权利要求1所述的流程实现方法,其特征在于,所述流程模型中包含多个过程流节点;
所述基于所述流程模型,根据获得的流程数据生成对应的流程记录的步骤,包括:
针对所述流程模型包含的每一过程流节点,在该过程流节点被标记为等待状态时,将当前根据获得的流程数据已生成的过程记录进行保存;
在所述过程流节点的状态更改为执行状态时,基于所述多个过程流节点中还未执行的过程流节点,并根据保存的过程记录及获得的流程数据生成对应的流程记录。
4.根据权利要求3所述的流程实现方法,其特征在于,所述针对所述流程模型包含的每一过程流节点,在该过程流节点被标记为等待状态时,将当前根据获得的流程数据已生成的过程记录进行保存的步骤,包括:
针对所述流程模型包含的每一过程流节点,根据该过程流节点所对应的业务类型以及预先设置的自身的业务权限,判断是否具有执行该过程流节点的权限;
若具有,则基于所述过程流节点以及获得的流程数据生成过程记录并保存;
若不具有,则接收其他具有执行所述过程流节点的处理节点基于获得的流程数据所生成的过程记录,并保存。
5.根据权利要求1所述的流程实现方法,其特征在于,所述流程模型中包含多个过程流节点;
所述基于所述流程模型,根据获得的流程数据生成对应的流程记录的步骤,包括:
针对所述流程模型包含的每一过程流节点,获得该过程流节点在所述流程模型中定义的所需接收的数据和/或所需发送的数据;
根据所述所需接收的数据和/或所需发送的数据,以及获得的流程数据对所述过程流节点进行实例化,得到该过程流节点对应的过程记录;
根据获得的多个过程流节点对应的过程记录,得到所述流程记录。
6.根据权利要求1-5任意一项所述的流程实现方法,其特征在于,所述流程实现系统还包括与各所述处理节点通信的代理节点,所述方法还包括:
根据获得的流程记录生成下发消息,所述下发消息中携带有消息ID,所述消息ID唯一表征具有相同内容的下发消息;
将所述下发消息发送至所述代理节点,以使所述代理节点根据所述下发消息中携带的消息ID判断该下发消息是否为接收到的具有相同内容的首个下发消息,并在为首个下发消息时将所述下发消息发送给对应的终端设备。
7.一种流程实现装置,其特征在于,所述装置应用于流程实现系统包含的多个处理节点中的任一处理节点,所述装置包括:
获取模块,用于获取终端设备发起的流程请求,并获得与所述流程请求对应的流程模型,所述流程模型为用于处理所述流程请求的模板;
生成模块,用于基于所述流程模型,根据获得的流程数据生成对应的流程记录;
写入模块,用于将所述流程模型写入所述流程记录,并在所述流程记录通过所述流程实现系统中的其他处理节点的共识验证后,将所述流程记录写入自身维护的区块链中。
8.一种流程实现系统,其特征在于,所述系统包括多个通信连接的处理节点:
任一处理节点用于获取终端设备发起的流程请求,并获得与所述流程请求对应的流程模型,所述流程模型为用于处理所述流程请求的模板;
任一处理节点,还用于基于所述流程模型,根据获得的流程数据生成对应的流程记录,将所述流程模型写入所述流程记录,将所述流程记录发送至所述系统中的其他处理节点;
接收到所述流程记录的处理节点用于对所述流程记录进行共识验证,并将验证结果反馈至发送所述流程记录的处理节点;
接收到所述验证结果的处理节点用于在所述验证结果表征共识验证通过后,将所述流程记录写入自身维护的区块链中。
9.一种电子设备,其特征在于,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行权利要求1-6中任意一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有机器可执行指令,所述机器可执行指令被执行时实现权利要求1-6中任意一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011540463.9A CN112668998B (zh) | 2020-12-23 | 2020-12-23 | 流程实现方法、装置、系统、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011540463.9A CN112668998B (zh) | 2020-12-23 | 2020-12-23 | 流程实现方法、装置、系统、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112668998A true CN112668998A (zh) | 2021-04-16 |
CN112668998B CN112668998B (zh) | 2023-12-19 |
Family
ID=75409078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011540463.9A Active CN112668998B (zh) | 2020-12-23 | 2020-12-23 | 流程实现方法、装置、系统、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112668998B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259384A (zh) * | 2021-06-18 | 2021-08-13 | 航天云网数据研究院(广东)有限公司 | 基于区块链的机理模型调用信息处理方法、服务器及系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014456A (zh) * | 2010-07-09 | 2011-04-13 | 北京哈工大计算机网络与信息安全技术研究中心 | 一种搜索节点的方法和系统 |
CN107025559A (zh) * | 2017-01-26 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种业务处理方法及装置 |
CN107180350A (zh) * | 2017-03-31 | 2017-09-19 | 唐晓领 | 一种基于区块链的多方共享交易元数据的方法、装置及系统 |
CN108924130A (zh) * | 2018-07-02 | 2018-11-30 | 上海达家迎信息科技有限公司 | 一种区块数据的验证方法、装置、设备和存储介质 |
US20190103958A1 (en) * | 2017-09-29 | 2019-04-04 | Alibaba Group Holding Limited | Data storage method, data query method and apparatuses |
CN110032880A (zh) * | 2018-12-13 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 基于区块链的录屏取证方法、系统和电子设备 |
JP2019185508A (ja) * | 2018-04-13 | 2019-10-24 | 株式会社大和総研 | 取引記録システムおよびプログラム |
CN110442591A (zh) * | 2019-08-12 | 2019-11-12 | 中国银行股份有限公司 | 一种联盟链的全局时钟系统及方法 |
CN110472886A (zh) * | 2019-08-22 | 2019-11-19 | 广州数知科技有限公司 | 一种基于区块链的数据治理系统 |
CN110503385A (zh) * | 2019-07-15 | 2019-11-26 | 招联消费金融有限公司 | 业务处理方法、装置、计算机设备和存储介质 |
CN110675255A (zh) * | 2019-08-30 | 2020-01-10 | 阿里巴巴集团控股有限公司 | 在区块链中并发执行交易的方法和装置 |
US20200120157A1 (en) * | 2019-09-05 | 2020-04-16 | Alibaba Group Holding Limited | System and method for adding node in blockchain network |
CN111144837A (zh) * | 2019-12-13 | 2020-05-12 | 东软集团股份有限公司 | 流程编排的方法、装置、存储介质及电子设备 |
CN111178912A (zh) * | 2019-12-30 | 2020-05-19 | 航天信息股份有限公司 | 一种基于区块链的粮食质量追溯方法和系统 |
-
2020
- 2020-12-23 CN CN202011540463.9A patent/CN112668998B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014456A (zh) * | 2010-07-09 | 2011-04-13 | 北京哈工大计算机网络与信息安全技术研究中心 | 一种搜索节点的方法和系统 |
CN107025559A (zh) * | 2017-01-26 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种业务处理方法及装置 |
CN107180350A (zh) * | 2017-03-31 | 2017-09-19 | 唐晓领 | 一种基于区块链的多方共享交易元数据的方法、装置及系统 |
US20190103958A1 (en) * | 2017-09-29 | 2019-04-04 | Alibaba Group Holding Limited | Data storage method, data query method and apparatuses |
WO2019067357A1 (en) * | 2017-09-29 | 2019-04-04 | Alibaba Group Holding Limited Fourth Floor, One Capital Place | METHOD FOR STORING DATA, METHOD FOR QUERYING DATA AND APPARATUS |
JP2019185508A (ja) * | 2018-04-13 | 2019-10-24 | 株式会社大和総研 | 取引記録システムおよびプログラム |
CN108924130A (zh) * | 2018-07-02 | 2018-11-30 | 上海达家迎信息科技有限公司 | 一种区块数据的验证方法、装置、设备和存储介质 |
CN110032880A (zh) * | 2018-12-13 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 基于区块链的录屏取证方法、系统和电子设备 |
CN110503385A (zh) * | 2019-07-15 | 2019-11-26 | 招联消费金融有限公司 | 业务处理方法、装置、计算机设备和存储介质 |
CN110442591A (zh) * | 2019-08-12 | 2019-11-12 | 中国银行股份有限公司 | 一种联盟链的全局时钟系统及方法 |
CN110472886A (zh) * | 2019-08-22 | 2019-11-19 | 广州数知科技有限公司 | 一种基于区块链的数据治理系统 |
CN110675255A (zh) * | 2019-08-30 | 2020-01-10 | 阿里巴巴集团控股有限公司 | 在区块链中并发执行交易的方法和装置 |
US20200120157A1 (en) * | 2019-09-05 | 2020-04-16 | Alibaba Group Holding Limited | System and method for adding node in blockchain network |
CN111144837A (zh) * | 2019-12-13 | 2020-05-12 | 东软集团股份有限公司 | 流程编排的方法、装置、存储介质及电子设备 |
CN111178912A (zh) * | 2019-12-30 | 2020-05-19 | 航天信息股份有限公司 | 一种基于区块链的粮食质量追溯方法和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259384A (zh) * | 2021-06-18 | 2021-08-13 | 航天云网数据研究院(广东)有限公司 | 基于区块链的机理模型调用信息处理方法、服务器及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112668998B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111309745B (zh) | 虚拟资源处理方法、装置、电子设备及存储介质 | |
CN111144083A (zh) | 一种报表的生成方法、装置、设备及计算机可读存储介质 | |
CN112306655A (zh) | 任务审核方法、装置、计算机设备及存储介质 | |
CN112115026A (zh) | 服务器集群监控方法、装置、电子设备及可读存储介质 | |
WO2021238514A1 (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN112099843A (zh) | 代码托管平台管理方法、装置、计算机设备及存储介质 | |
CN113312649A (zh) | 报文处理方法、装置、设备、系统及存储介质 | |
CN112668998B (zh) | 流程实现方法、装置、系统、电子设备和可读存储介质 | |
CN113315750B (zh) | 一种Kafka消息发布方法、装置及存储介质 | |
CN111209542B (zh) | 一种权限管理方法、装置、存储介质及电子设备 | |
CN113239400A (zh) | 资产管理方法、装置、系统及电子设备 | |
CN112561506A (zh) | 基于虚拟货币的直播数据处理方法、系统、设备及介质 | |
CN111638885A (zh) | 一种插件的发布方法、装置、电子设备及存储介质 | |
CN116739596A (zh) | 基于区块链的交易监管方法、装置、设备、介质和产品 | |
CN111260421A (zh) | 一种基于区块链的电子发票管控方法及装置 | |
CN111639086A (zh) | 一种数据对账方法、装置、设备及存储介质 | |
CN115460265A (zh) | 接口调用方法、装置、设备及介质 | |
CN111652580B (zh) | 一种对节点的数据处理方法及装置 | |
CN113835780A (zh) | 一种事件响应方法及装置 | |
CN112600874B (zh) | 节点加入方法、装置、电子设备及可读存储介质 | |
CN111383025B (zh) | 风控数据转发的方法、装置及电子设备 | |
CN111194441A (zh) | 一种基于区块链的数据管理方法及相关系统 | |
CN111967852B (zh) | 一种监管文件报送方法、装置、设备和可读介质 | |
CN113987596A (zh) | 区块链隐私交易保护方法、装置、设备及可读存储介质 | |
CN115953258A (zh) | 一种业务处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information |
Address after: Room 303-309, No.3, Pazhou Avenue East Road, Haizhu District, Guangzhou City, Guangdong Province 510000 Applicant after: Shugen Internet Co.,Ltd. Address before: Unit 12-30, 4th floor, Xigang office building, Guangzhou international media port, 218 and 220 Yuejiang West Road, Haizhu District, Guangzhou City, Guangdong Province 510000 Applicant before: IROOTECH TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |