System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于数据处理,具体涉及一种基于云网融合业务编排器的数据上下文处理方法。
技术介绍
1、云网融合是云计算与基础通信网络高度融合的产物,通过业务编排器统一协调云管平台和sdn控制器,实现对资源和数据中心的统一编排和调度。多个引擎协同工作的时候需要共享上线文数据。无论引擎之间调用或者引擎执行任务以及跨越引擎和其他应用之间都需要共享业务数据,并保持数据安全性和一致性。
2、目前云网融合业务编排器的上下文要不就放到服务器内存,要不就放到数据库,放到内存中,引擎挂掉或者停止容易丢失数据;放到数据库中,流程高并发的时候有瓶颈,但是在云网融合开通业务越来越多的情况需要一种更高性能和安全性、一致性的处理上下文的方案。
技术实现思路
1、本专利技术的目的在于提供一种基于云网融合业务编排器的数据上下文处理方法,用于解决云网融合下的流程上下文处理的技术问题。
2、为了实现上述目的,本专利技术采用了如下技术方案:
3、一种基于云网融合业务编排器的数据上下文处理方法,包括:
4、步骤一、工单系统创建云网业务开通工单,通过负载http调用执行引擎接口,并传业务参数;
5、步骤二、执行引擎接收到工单数据,序列化存储到缓存redis,作为上下文数据,并同步存储到数据库中;
6、步骤三、执行引擎开始执行流程,并加载上下文到当前执行节点环节,根据http节点执行业务逻辑并生成请求报文,请求调用云网开通http接口;
7、步骤四
8、步骤五、其他厂商业务编排器通过客户端消费队列数据并同时加载云网融合业务编排器上下文业务数据,执行相对应流程;
9、步骤六、执行引擎开始执行下一个节点环节;
10、步骤七、执行引擎流程执行中,当开始执行节点,对执行中流程的上下文数据进行加锁,并执行业务逻辑和写入数据,当该环节执行完后,释放排他锁;
11、步骤八、监控系统通过监听缓存和数据库流程任务列表状态以及上下文数据,反映到监控页面。
12、作为优选,步骤一中,业务参数是可以灵活配置的,业务参数以json格式放置在请求体中进行传输,通过指定content-type标头来告知服务器请求体的类型。
13、作为优选,步骤二中,工单数据包括工单号、工单名称和业务数据;连接到redis服务器,使用redis-py库来实现与python的连接;缓存redis设置过期时间为100秒;使用内置的josn数据库对工单数据进行josn格式化;
14、步骤二的具体流程包括:首先,进行初始化操作,将缓存空间分为h和m两个区域,其中h是lirs缓存,m是hir缓存,初始时h为空,m包含全部缓存块;
15、其次,进行访问操作,当访问一个数据块时,首先检查该数据块是否在h区域中,如果在h区域中找到了该数据块,则认为是命中,将其移到h区域的队尾;如果在h区域中没有找到该数据块,则需要进行进一步判断;
16、然后,进行判断操作,如果m区域中没有数据块,即m为空,则将当前访问的数据块直接放入h区域的队尾,并将队尾的数据块移到m区域的队尾;如果m区域中存在数据块,则需要进行淘汰操作;检查h区域的队首数据块lirs-max标志位是否为1,如果是,则将该数据块从h区域移出,并将其移到m区域的队尾,同时将该数据块的lirs-max标志位设为0;然后将当前访问的数据块放入h区域的队尾,并将队尾的数据块移到m区域的队尾;
17、接着,进行lirs调整,如果在判断过程中发现h区域为空,则进行lirs调整操作;具体是从m区域的队首开始,找到第一个不常用的数据块,并将其移出缓存;
18、最后,进行缓存替换,当缓存空间不足以容纳新的数据块时,需要进行缓存替换操作;将m区域中的队首数据块移出缓存,如果m区域为空,从h区域中替换掉一个数据块,通过lirs调整操作找到并移出一个不常用的数据块,将新的数据块放入h区域的队尾。
19、作为优选,步骤三中,节点环节包括节点id、节点名称、节点类型和节点关联信息;
20、步骤三的具体流程包括:首先,构建请求报文并转换请求报文格式,构建符合云网开通http接口规范的请求报文,包括请求方法、请求头、请求参数;将构建好的请求报文序列化为字符串和字节数组,并添加必要的分隔符和标记;
21、其次,建立http连接并发送请求,使用python中的requests库,建立与云网开通http接口的连接,包括指定接口的url、端口号和http协议类型;将转换后的请求报文发送给云网开通http接口;使用post方法发送请求,则将请求报文作为请求体发送;
22、然后,接收响应并解析处理,等待云网开通http接口的响应,并将其接收,响应包括响应状态码、响应头和响应体;通过http客户端库提供的方法来获取响应;按照接口文档定义的格式解析接收到的响应,以提取出需要的返回数据;根据接口返回的结果进行相应的处理;根据业务需求来判断请求是否成功,以及根据接口返回的数据进行后续的处理;
23、最后,在完成请求调用后,关闭http连接以释放资源。
24、作为优选,步骤四的具体流程包括:首先,创建一个空链表,头结点和尾节点都为null;
25、其次,创建一个新节点,将入队元素1存储在节点的数据域中;
26、链表1->null
27、头结点和尾节点都指向节点1;
28、然后,创建一个新节点,将入队元素2存储在节点的数据域中,并插入到尾节点的后面;
29、链表:1->2->null
30、尾节点指向节点2;
31、接着,执行一次出队操作,即删除头结点;
32、链表:2->null
33、头结点指向节点2,尾节点仍指向节点2;
34、然后,执行第二次出队操作,即删除头结点;
35、链表:null
36、头结点和尾节点都指向null,队列为空;
37、获取队头元素,即返回头结点的数据域;
38、返回值为null(队列为空);
39、然后,创建一个新节点,将元素3存储在节点的数据域中;
40、链表:3->null
41、头结点和尾节点都指向节点3;
42、最后,获取队头元素,即返回头结点的数据域;
43、返回值为3。
44、作为优选,步骤五中,客户端消费队列数据包括流程id、流程名称和流程入参。
45、作为优选,步骤七中,通过工单号对所属数据进行加锁,锁的类型为排他锁;
46、步骤七的具体流程包括:首先,创建一个互斥对象mtx,在exclusiveaccess()函本文档来自技高网...
【技术保护点】
1.一种基于云网融合业务编排器的数据上下文处理方法,其特征在于,包括:
2.根据权利要求1所述的一种基于云网融合业务编排器的数据上下文处理方法,其特征在于,步骤一中,业务参数以JSON格式放置在请求体中进行传输,通过指定Content-Type标头来告知服务器请求体的类型。
3.根据权利要求1所述的一种基于云网融合业务编排器的数据上下文处理方法,其特征在于,步骤二中,工单数据包括工单号、工单名称和业务数据;连接到Redis服务器,使用redis-py库来实现与Python的连接;缓存REDIS设置过期时间为100秒;使用内置的JOSN数据库对工单数据进行JOSN格式化;
4.根据权利要求1所述的一种基于云网融合业务编排器的数据上下文处理方法,其特征在于,步骤三中,节点环节包括节点ID、节点名称、节点类型和节点关联信息;
5.根据权利要求1所述的一种基于云网融合业务编排器的数据上下文处理方法,其特征在于,步骤四的具体流程包括:首先,创建一个空链表,头结点和尾节点都为null;
6.根据权利要求1所述的一种基于云网融合业务编
7.根据权利要求1所述的一种基于云网融合业务编排器的数据上下文处理方法,其特征在于,步骤七中,通过工单号对所属数据进行加锁,锁的类型为排他锁;
8.根据权利要求1所述的一种基于云网融合业务编排器的数据上下文处理方法,其特征在于,步骤八的具体流程包括:首先,创建用于保存执行记录的数据库表,并将执行记录按照所需的格式保存在数据库中;
...【技术特征摘要】
1.一种基于云网融合业务编排器的数据上下文处理方法,其特征在于,包括:
2.根据权利要求1所述的一种基于云网融合业务编排器的数据上下文处理方法,其特征在于,步骤一中,业务参数以json格式放置在请求体中进行传输,通过指定content-type标头来告知服务器请求体的类型。
3.根据权利要求1所述的一种基于云网融合业务编排器的数据上下文处理方法,其特征在于,步骤二中,工单数据包括工单号、工单名称和业务数据;连接到redis服务器,使用redis-py库来实现与python的连接;缓存redis设置过期时间为100秒;使用内置的josn数据库对工单数据进行josn格式化;
4.根据权利要求1所述的一种基于云网融合业务编排器的数据上下文处理方法,其特征在于,步骤三中,节点环节包括节点i...
【专利技术属性】
技术研发人员:杨斯可,徐伟斌,乔波,王树明,杨洋,左华红,鲁薇,位昭宇,宋景民,李俊,
申请(专利权)人:中国烟草总公司湖北省公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。