CN104933118A - 一种基于主题的发布/订阅系统中的流程定义元模型及其构建方法 - Google Patents
一种基于主题的发布/订阅系统中的流程定义元模型及其构建方法 Download PDFInfo
- Publication number
- CN104933118A CN104933118A CN201510306895.6A CN201510306895A CN104933118A CN 104933118 A CN104933118 A CN 104933118A CN 201510306895 A CN201510306895 A CN 201510306895A CN 104933118 A CN104933118 A CN 104933118A
- Authority
- CN
- China
- Prior art keywords
- state
- event
- theme
- model
- jump condition
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
- G06F16/212—Schema design and management with details for data modelling support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于主题的发布/订阅系统中的流程定义元模型及其构建方法,该流程定义元模型将流程定义为一组消息的流动方向和逻辑顺序,以状态、事件、转移条件刻画流程;该流程定义元模型以XML结构化表示流程。消息的流动方向用事件表示,事件由四元组{组件,动作,主题,内容过滤式}构成;事件触发状态之间的转移条件,表征消息之间的逻辑顺序。本发明可作为参考标准,规范基于主题的发布/订阅系统中流程建模方式,为流程控制提供统一的数据定义、交换接口。
Description
技术领域
本发明属于计算机领域,特别涉及一种流程建模的方法。
背景技术
基于主题的发布/订阅系统中,应用组件只需申明要发布或者订阅的主题,就可以向网络中投放或者从网络中收取自身感兴趣的数据。发布/订阅通信模式以时间、空间、同步三方面解耦合的特性被广泛应用。目前的研究主要集中在保障单条消息传输的服务质量,而没有对多条消息在流程中关联关系的研究,缺少通用的流程建模方式。
发明内容
为了克服现有技术中存在的不足,本发明提供一种基于主题的发布/订阅系统中的流程定义元模型,能够作为参考标准,规范基于主题的发布/订阅系统中流程建模方式,为流程控制提供统一的数据定义、交换接口。
为实现上述目的,本发明采用的技术方案为:
一种基于主题的发布/订阅系统中的流程定义元模型,其特征在于:
(1)该流程定义元模型将流程定义为一组消息的流动方向和逻辑顺序,以状态、事件、转移条件刻画流程;
(2)该流程定义元模型以XML结构化表示流程。
进一步的,所述消息的流动方向用事件表示,事件由四元组{组件,动作,主题,内容过滤式}构成;事件触发状态之间的转移条件,所述转移条件表征消息之间的逻辑顺序。
进一步的,单个转移条件表征单条消息的流动方向,多个转移条件表征多条消息之间的逻辑顺序。
本发明还提供了一种上述基于主题的发布/订阅系统中的流程定义元模型的构建方法,技术方案如下:
一种基于主题的发布/订阅系统中的流程定义元模型的构建方法,包括以下步骤:
(1)对现实业务流程进行抽象并提取流程属性;
(2)确定上述现实业务流程中独立的状态和事件,状态指系统运行中某一时刻可能处于的情况,事件刻画消息的流动方向;
(3)定义转移条件,链接各个状态,并指定触发每个转移条件的事件。
进一步的,所述步骤(1)中,所述流程属性包括:流程名、域ID、受控应用组件、重复次数、响应方式,其中响应方式包括对非法消息的缺省响应方式和对无关消息的响应方式。
进一步的,所述步骤(2)中,状态和事件的确定方式如下:
现实业务流程中,系统的每个状态都具有状态ID,状态名,状态类型和响应方式,其中,状态ID是唯一的,用于区分不同状态;状态名是字符串;状态类型分为合法状态和非法状态,其中,合法状态又细化为开始状态、结束状态、一般状态三个子类型,一个流程有且仅有一个开始状态和一个结束状态;合法状态的响应方式仅有一种,为放行LEGAL_PASS,非法状态的响应方式分为放行ILLEGAL_PASS和拦截ILLEGAL_INTERCEPT;流程模型中列举出所有流程关心的事件,没有出现在流程定义中的则为无关事件,无关事件的响应方式在流程属性中定义;
事件由{应用组件,执行动作,消息主题,消息内容过滤表达式}四元组定义,其中消息内容过滤表达式可以为空;非法事件的响应有两种定义方法:一,用单独的非法状态和非法响应方式来定义;二,用流程属性中缺省的非法响应方式来定义。
进一步的,所述步骤(3)中,定义转移条件的方法为:
转移条件是状态间的有向链接,分别称转移条件两端的状态为转出状态和转入状态,转移条件由一个事件触发;若转移条件的转入状态为合法状态,那么,触发该转移条件的事件则为合法的,若转移条件的转入状态为非法状态,则触发该转移条件的事件则为非法的,按照转入状态的响应方式对该事件进行响应。
进一步的,所述步骤(1)、(2)、(3)中记录流程模型应当遵从的XMLSchema。
本发明的有益效果是:
(1)本发明为基于主题的发布/订阅系统提供了流程定义元模型,与具体的中间件实现方式和组件开发方式无关,是灵活、通用的。
(2)根据本发明对系统中的流程进行建模,能够明确定义合法或非法的单条消息流动方向和多条消息之间的逻辑顺序,消除歧义。
(3)本发明以XML文件形式存储流程模型,可作为与其他处理系统的数据交换载体。
(4)本发明可作为参考标准,规范基于主题的发布/订阅系统中流程建模方式,为流程控制提供统一的数据定义、交换接口。
附图说明
图1为本发明提出流程定义元模型的构成图;
图2为实施例中应用背景的系统架构图;
图3为实施例中例程的业务流程描述图。
具体实施方式
下面结合附图对本发明技术方案进行详细说明。
如图1所示,本发明的一种基于主题的发布/订阅系统中的流程定义元模型,该流程定义元模型提出了一种流程定义方法,将流程定义为一组消息的流动方向和逻辑顺序,以状态、事件、转移条件刻画流程;该流程定义元模型提出了流程的表示方法,以XML结构化表示流程。消息的流动方向用事件表示,事件由四元组{组件,动作,主题,内容过滤式}构成;事件触发状态之间的转移条件,所述转移条件表征消息之间的逻辑顺序;单个转移条件表征单条消息的流动方向,多个转移条件表征多条消息之间的逻辑顺序。
上述基于主题的发布/订阅系统中的流程定义元模型通过以下方法构建:构建方法,包括以下步骤:
(1)对现实业务流程进行抽象并提取流程属性;
其中,流程属性包括:流程名,域ID,受控应用组件列表,流程重复次数,对非法消息的缺省响应方式,对无关消息的响应方式。
具体方法为:取一个方便记忆和理解的字符串作为流程名,用于唯一标识一个流程;因为从属于不同通信域的应用组件之间不存在消息的互通,所以流程一定是仅从属于某一个域的,域ID属性标识出流程管理的范围;应用组件以{主机名,组件名}的二元组唯一标识;流程重复次数为整数,重复次数为正数M时,表示流程循环执行M次,重复次数为负数时表示流程无限循环执行;对非法消息的缺省响应方式可以分为放行ILLEGAL_PASS和拦截ILLEGAL_INTERCEPT两种;对无关消息的缺省响应方式分为放行UNCONCERN_PASS和UNCONCERN_INTERCEPT拦截两种。
(2)确定流程中独立的状态和事件,状态指系统运行中某一时刻可能处于的情况,事件刻画消息的流动方向;
业务流程中,系统可能处于若干状态,每个状态都具有状态ID,状态名,状态类型和响应方式;状态ID是唯一的,用于区分不同状态;状态名是便于理解的字符串;状态类型分为合法和非法两大类,其中,合法状态又细化为开始状态、结束状态、一般状态三个子类型,一个流程应当有且仅有一个开始状态和一个结束状态;合法状态的响应方式仅有一种,为放行LEGAL_PASS,非法状态的响应方式分为放行ILLEGAL_PASS和拦截ILLEGAL_INTERCEPT;
流程模型中应列举出所有流程关心的事件,没有出现在流程定义中的则为无关事件,无关事件的响应方式在流程属性中定义;事件由{应用组件,执行动作,消息主题,消息内容过滤表达式}四元组定义,其中消息内容过滤表达式可以为空;非法事件的响应有两种定义方法,一,用单独的非法状态和非法响应方式来定义;二,用流程属性中缺省的非法响应方式来定义。
(3)定义转移条件,链接各个状态,并指定触发每个转移条件的事件;
转移条件是状态间的有向链接,分别称转移条件两端的状态为转出状态和转入状态,转移条件由一个事件触发;若转移条件的转入状态为合法状态,那么,触发该转移条件的事件则为合法的,若转移条件的转入状态为非法状态,则触发该转移条件的事件则为非法的,按照转入状态的响应方式对该事件进行响应。
步骤(1)、(2)、(3)中记录流程模型应当遵从的XML Schema。如下所示:
下面结合具体实施例以及附图对本发明做进一步说明。
实施例
如图2、3所示,以简化的零件加工过程作为本发明具体实施方式介绍的应用场景。
(1)假想存在工厂F,其由机床、质量检测、操作员三个应用组件构成,通过发布/订阅中间件进行通信,其系统构架如图2所示,制造某零件需要工厂的各个应用组件相互协作共同完成,工厂中各个组件的发布/订阅主题汇总表可参考表1。
表1 工厂F各应用组件发布/订阅情况汇总
通常情况下,机床按照操作员发出的指令进行工作并给出反馈。操作员发布主题为“开始铸造”的消息,机床收到后进行部件铸造并在完成后发布主题为“铸造完成”的消息;操作员发布主题为“开始喷涂”的消息,机床收到后对各部件表面进行喷漆并在完成后发布主题为“喷涂完成”的消息;操作员发布主题为“开始组装”的消息,机床收到组装对喷涂完毕的部件并在完成后发布主题为“组装完成”的消息;之后,质量检测组件对组装完成的零件进行质量测试并发布主题为“测试结果”的消息,消息的内容是免检、通过、未通过之一;若测试通过或免检,则零件入库,否则回炉重铸。以上业务流程应当按顺序进行,如图3所示,在喷涂之前进行组装是非法的。
零件制造的业务流程中,应用组件处于128号域中,并且应当拦截非法消息、放行无关消息,该流程执行一次即结束,将流程属性提取出来并记录如下:
(2)定义流程中可能的状态和所有关心的事件。预备(Ready)、已铸造(Forged)、已喷涂(Painted)、已组装(Assembled)、入库(Storage)、重铸(Reforge)、误操作(Misoperation),其中预备为开始状态、入库为结束状态,误操作是非法状态,其余是合法状态。关心的事件包括:机床组件发送主题为铸造完成的消息,机床组件发送主题为喷涂完成的消息,机床组件发送主题为组装完成的消息,操作员接收主题为测试结果的消息、消息内容可能是免检、通过或未通过,操作员发送主题为开始组装的消息;按照流程定义元模型的语法记录为:
(3)定义转移条件,链接各个状态,并指定触发每个转移条件的事件,按照流程定义元模型的语法记录如下:
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种基于主题的发布/订阅系统中的流程定义元模型,其特征在于:
(1)该流程定义元模型将流程定义为一组消息的流动方向和逻辑顺序,以状态、事件、转移条件刻画流程;
(2)该流程定义元模型以XML结构化表示流程。
2.如权利要求1所述的基于主题的发布/订阅系统中的流程定义元模型,其特征在于:所述消息的流动方向用事件表示,事件由四元组{组件,动作,主题,内容过滤式}构成;事件触发状态之间的转移条件,所述转移条件表征消息之间的逻辑顺序。
3.如权利要求2所述的基于主题的发布/订阅系统中的流程定义元模型,其特征在于:单个转移条件表征单条消息的流动方向,多个转移条件表征多条消息之间的逻辑顺序。
4.一种基于主题的发布/订阅系统中的流程定义元模型的构建方法,其特征在于:包括以下步骤:
(1)对现实业务流程进行抽象并提取流程属性;
(2)确定上述现实业务流程中独立的状态和事件,状态指系统运行中某一时刻可能处于的情况,事件刻画消息的流动方向;
(3)定义转移条件,链接各个状态,并指定触发每个转移条件的事件。
5.如权利要求4所述的基于主题的发布/订阅系统中的流程定义元模型的构建方法,其特征在于:所述步骤(1)中,所述流程属性包括:流程名、域ID、受控应用组件、重复次数、响应方式,其中响应方式包括对非法消息的缺省响应方式和对无关消息的响应方式。
6.如权利要求4或5所述的基于主题的发布/订阅系统中的流程定义元模型的构建方法,其特征在于:所述步骤(1)的具体方法为:
取一个字符串作为流程名,用于唯一标识一个流程;应用组件以{主机名,组件名}的二元组唯一标识;流程重复次数为整数,重复次数为正数M时,表示流程循环执行M次,重复次数为负数时表示流程无限循环执行;对非法消息的缺省响应方式分为放行ILLEGAL_PASS和拦截ILLEGAL_INTERCEPT两种;对无关消息的缺省响应方式分为放行UNCONCERN_PASS和UNCONCERN_INTERCEPT拦截两种。
7.如权利要求4所述的基于主题的发布/订阅系统中的流程定义元模型的构建方法,其特征在于:所述步骤(2)中,状态和事件的确定方式如下:
现实业务流程中,系统的每个状态都具有状态ID,状态名,状态类型和响应方式,其中,状态ID是唯一的,用于区分不同状态;状态名是字符串;状态类型分为合法状态和非法状态,其中,合法状态又细化为开始状态、结束状态、一般状态三个子类型,一个流程有且仅有一个开始状态和一个结束状态;合法状态的响应方式仅有一种,为放行LEGAL_PASS,非法状态的响应方式分为放行ILLEGAL_PASS和拦截ILLEGAL_INTERCEPT;流程模型中列举出所有流程关心的事件,没有出现在流程定义中的则为无关事件,无关事件的响应方式在流程属性中定义;
事件由{应用组件,执行动作,消息主题,消息内容过滤表达式}四元组定义,其中消息内容过滤表达式可以为空;非法事件的响应有两种定义方法:一,用单独的非法状态和非法响应方式来定义;二,用流程属性中缺省的非法响应方式来定义。
8.如权利要求4所述的基于主题的发布/订阅系统中的流程定义元模型的构建方法,其特征在于:所述步骤(3)中,定义转移条件的方法为:
转移条件是状态间的有向链接,分别称转移条件两端的状态为转出状态和转入状态,转移条件由一个事件触发;若转移条件的转入状态为合法状态,那么,触发该转移条件的事件则为合法的,若转移条件的转入状态为非法状态,则触发该转移条件的事件则为非法的,按照转入状态的响应方式对该事件进行响应。
9.如权利要求4所述的基于主题的发布/订阅系统中的流程定义元模型的构建方法,其特征在于:所述步骤(1)、(2)、(3)中记录流程模型应当遵从的XML Schema。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510306895.6A CN104933118A (zh) | 2015-06-05 | 2015-06-05 | 一种基于主题的发布/订阅系统中的流程定义元模型及其构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510306895.6A CN104933118A (zh) | 2015-06-05 | 2015-06-05 | 一种基于主题的发布/订阅系统中的流程定义元模型及其构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104933118A true CN104933118A (zh) | 2015-09-23 |
Family
ID=54120285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510306895.6A Pending CN104933118A (zh) | 2015-06-05 | 2015-06-05 | 一种基于主题的发布/订阅系统中的流程定义元模型及其构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104933118A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427494A (zh) * | 2020-03-05 | 2020-07-17 | 深圳震有科技股份有限公司 | 基于事件订阅发布模式的地图协同标绘方法及装置 |
CN112800030A (zh) * | 2021-02-08 | 2021-05-14 | 中国银联股份有限公司 | 一种流程的组件数据管理方法、装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101677303A (zh) * | 2008-09-17 | 2010-03-24 | 新奥特(北京)视频技术有限公司 | 一种基于状态变化的流程控制中消息订阅和分发系统 |
CN101695080A (zh) * | 2009-09-30 | 2010-04-14 | 北京航空航天大学 | Bpmn组合服务的执行方法和执行装置 |
CN102109984A (zh) * | 2009-12-28 | 2011-06-29 | 北京大学 | 状态机的处理方法和系统 |
CN103870344A (zh) * | 2014-04-09 | 2014-06-18 | 北京京东尚科信息技术有限公司 | JMS规范的Pub/Sub消息模型的消息生产消费方法 |
-
2015
- 2015-06-05 CN CN201510306895.6A patent/CN104933118A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101677303A (zh) * | 2008-09-17 | 2010-03-24 | 新奥特(北京)视频技术有限公司 | 一种基于状态变化的流程控制中消息订阅和分发系统 |
CN101695080A (zh) * | 2009-09-30 | 2010-04-14 | 北京航空航天大学 | Bpmn组合服务的执行方法和执行装置 |
CN102109984A (zh) * | 2009-12-28 | 2011-06-29 | 北京大学 | 状态机的处理方法和系统 |
CN103870344A (zh) * | 2014-04-09 | 2014-06-18 | 北京京东尚科信息技术有限公司 | JMS规范的Pub/Sub消息模型的消息生产消费方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427494A (zh) * | 2020-03-05 | 2020-07-17 | 深圳震有科技股份有限公司 | 基于事件订阅发布模式的地图协同标绘方法及装置 |
CN112800030A (zh) * | 2021-02-08 | 2021-05-14 | 中国银联股份有限公司 | 一种流程的组件数据管理方法、装置及计算机可读存储介质 |
CN112800030B (zh) * | 2021-02-08 | 2024-03-29 | 中国银联股份有限公司 | 一种流程的组件数据管理方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101799751B (zh) | 一种构建主机监控代理软件的方法 | |
CN102902669B (zh) | 基于互联网系统的分布式信息抓取方法 | |
CN102932448B (zh) | 一种分布式网络爬虫的url排重系统及方法 | |
CN102034152B (zh) | 基于soa架构的异构软件系统数据的集成整合方法与系统 | |
CN102508886B (zh) | 一种基于xml的空间数据增量同步更新方法 | |
CN107071006A (zh) | 一种面向航道大数据的采集系统及采集方法 | |
CN101478432B (zh) | 基于存储过程定时调度的网元状态轮询方法 | |
CN101807286A (zh) | 电信多系统7×24小时交易场景下精确对账的实现方法 | |
CN107733696A (zh) | 一种机器学习和人工智能应用一体机部署方法 | |
CN106484595A (zh) | 一种事件处理方法及装置 | |
CN101834750A (zh) | 一种通用业务监控方法 | |
CN106815296A (zh) | 面向领域数据模型的结构化和非结构化的融合系统及方法 | |
CN104933118A (zh) | 一种基于主题的发布/订阅系统中的流程定义元模型及其构建方法 | |
CN103914286B (zh) | 用户界面中标签页的管理方法和管理器 | |
CN110007905A (zh) | 一种基于大数据的软件开发方案的生成方法及系统 | |
CN111163128B (zh) | 一种基于QT中qWebChannel管道的Web前端通信管理方法 | |
CN102663202A (zh) | 基于联邦模式的动态产品协同开发平台及方法 | |
CN102629352B (zh) | 面向实时感知环境的复合事件模式匹配方法及系统 | |
CN110209722A (zh) | 一种用于数据交换的数据接口 | |
CN109284935A (zh) | 一种基于微协助上下级办公群的任务处理系统 | |
CN106528157B (zh) | 一种基于scxml标准的状态机工作流引擎 | |
CN106254540B (zh) | 一种适用于分布式系统的节点服务监控系统及实现方法 | |
CN103297439B (zh) | 基于snmp的ac群设备的控制方法、装置及系统 | |
CN109426947B (zh) | 一种基于树状虚拟节点网络的企业信息交互系统 | |
CN105550143A (zh) | 一种信息设备工况采集的接口系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150923 |