`

递归在算法在工作流程引擎中的应用

阅读更多

递归在算法在工作流程引擎中的应用

递归做为一种算法在程序设计语言中广泛应用.是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象.递归是计算机科学的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写程序能使程序变得简洁和清晰.

递归在工作流程引擎中有广泛的应用,以以下事例来说明:

应用一:退回到指定的节点,要把当前节电与退回节点之间的节点数据清空。

/// <summary>

        /// ÌY¨¦¦?y¢??¨²Ì???Ì?ºyY

        /// </summary>

        /// <param name="nds">Ì?ä?Ì?¨²Ì?¡¥?</param>

        publicvoid DeleteToNodesData(Nodes nds)

        {

            /*aº?À¨¦¤¨²Ì?ä?Ì?¨²Ì?¡¥?*/

            foreach (Node nd in nds)

            {

                Work wk = nd.HisWork;

                wk.OID = this.WorkID;

                if (wk.Delete() == 0)

                {

                    wk.FID = this.WorkID;

                    if (wk.Delete(WorkAttr.FID, this.WorkID) == 0)

                        continue;

                }

 

                /*¦Ì¡Â:°?-¦?y?¨²Ì?ºyY¡ê*/

                DBAccess.RunSQL("DELETE WF_GenerWorkerList WHERE (WorkID=" + this.WorkID + " OR FID=" + this.WorkID + ") AND FK_Node=" + nd.NodeID);

 

                //¦?yy¡êÌ?¤??ºyY¡ê

                DBAccess.RunSQL("DELETE WF_GenerWorkFlow WHERE WorkID NOT IN (SELECT WorkID FROM WF_GenerWorkerList )");

                DBAccess.RunSQL("DELETE WF_GenerFH WHERE FID NOT IN (SELECT FID FROM WF_GenerWorkerList)");

 

                

                DeleteToNodesData(nd.HisToNodes);

            }

        }

 

 

 



应用二:在分合流程过程中,流程结束时,要根据用户的需要判断并杀掉没有完成的进程。

 

/// <summary>

        /// ¨¢º?¢¡Â¨¬

        /// </summary>

        /// <returns></returns>

        publicstring DoFlowOver()

        {

            // ¡§¢¡é¢¡Â¨¬º?¤y¡ê

            GenerWorkFlow gwf = newGenerWorkFlow(this.WorkID);

            Node nd = newNode(gwf.FK_Node);

            string msg = this.BeforeFlowOver();

 

            //¨¨¨?¨¹Ì?Á¨®¢¡Â¨¬¨¢º?¡ê

            WorkerLists wls = newWorkerLists();

            wls.Retrieve(WorkerListAttr.FID, this.WorkID);

            foreach (WorkerList wl in wls)

            {

                WorkFlow wf = newWorkFlow(wl.FK_Flow, wl.WorkID);

                wf.DoFlowOver();

            }

    。。。。。。。。。。。。。。

   }

 

 

 

应用三:根据当前节点的ID,向上追溯一个分流节点。

/// <summary>

        /// ?¨?¨¹Ì?¦?°??Ì?¤?¢¡ÂÌ?

        /// </summary>

        privateNode _GetHisPriFLNode(Nodes nds)

        {

            foreach (Node mynd in nds)

            {

                if (mynd.IsHL)

                    return mynd;

                else

                    return _GetHisPriFLNode(mynd.HisFromNodes);

            }

            returnnull;

        }

        /// <summary>

        /// ¨¹Ì?¦?°??¤?¢¡Â¨²Ì?

        /// </summary>

        publicNode HisPriFLNode

        {

            get

            {

                return _GetHisPriFLNode(this.HisFromNodes);

            }

        }

 

 

 

分享到:
评论

相关推荐

    Python网络爬虫与推荐算法新闻推荐平台.zip

    网络爬虫:通过Python实现新浪...爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

    一些爬虫逆向算法.zip

    爬虫(Web Crawler)是一种自动...爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

    python爬虫、python实现常见算法.zip

    爬虫(Web Crawler)是一种自动...爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

    读书笔记《自己动手写网络爬虫》,自己敲的代码。主要记录了网络爬虫的基本实现,网页去重的算法,网页指纹算法,文本信息挖掘.zip

    爬虫(Web Crawler)是一种自动...爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

    基于网络爬虫及用户的协同过滤推荐算法的电影推荐系统.zip

    爬虫(Web Crawler)是一种自动...爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

    利用kNN算法实现图书推荐系统.zip

    如果您下载了本程序,但是该程序...爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

    pdd (拼多多) 爬虫 js 解密 anti_content 参数解密及全站抓取代码思路实现.zip

    爬虫(Web Crawler)是一种自动...爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

    股票监控平台.zip

    采用docker部署爬虫模块、量化...爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

    基于SSM实现的招聘考试系统.zip

    试题爬取通过WebCollector爬虫...爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

    基于豆瓣影视数据(不完整)的影视大数据分析平台.zip

    爬虫(影视数据和用户数据),...爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

    Jobs-Recommendation-System使用Scrapy爬虫框架对招聘网站进行爬取.zip

    使用ETL工具将数据存储到分布式...爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

    java源码包2

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java...

    C++网络爬虫项目

    作为互联网应用中最具技术含量的应用之一,优秀的搜索引擎需要复杂的架构 和算法,以此来支撑对海量数据的获取、 存储,以及对用户查询的快速而准确 地响应。 从架构层面,搜索引擎需要能够对以百亿计的海量网页进行...

    JAVA上百实例源码以及开源项目

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    JAVA上百实例源码以及开源项目源代码

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    java源码包---java 源码 大量 实例

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    java 面试题 总结

    SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。 对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上...

    java源码包3

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java...

    java源码包4

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java...

Global site tag (gtag.js) - Google Analytics