关联多段组件交易的系统及方法_3

文档序号:9929941阅读:来源:国知局
起始点组件的不符合条件A的交易追踪记录进行丢弃,其中,所述条件A包括:
[0144]-交易追踪记录中交易请求的请求时间戳位于搜索时间范围内;
[0145]-交易追踪记录中的通配字符与通配字符搜索值一致;
[0146]-交易追踪记录中的交易处理时间小于交易延时阈值。
[0147]优选地,所述非起始点组件记录筛选步骤,包括如下步骤:
[0148]第二筛选步骤:将非起始点组件的符合条件B的交易追踪记录保存在缓存中,将非起始点组件的不符合条件B的交易追踪记录进行丢弃,其中,所述条件B包括:
[0149]-交易追踪记录中的通配字符与起始点组件的交易追踪记录中的通配字符一致;
[0150]-交易追踪记录中交易请求的请求时间戳晚于起始点组件的交易追踪记录中交易请求的请求时间戳;
[0151]-交易追踪记录中的交易处理时间小于起始点组件的交易追踪记录中的交易处理时间。
[0152]优选地,所述交易追踪记录生成步骤,包括如下步骤:
[0153]根据通配字符生成索引号,其中,所述索引号为一组二进制数;
[0154]根据索引号生成索引表,其中,所述索引表包括多个二进制的查询表,所述索引号中的二进制数分布在这多个二进制的查询表中;
[0155]其中,所述交易追踪记录包括索引号、索引表;
[0156]所述第二筛选步骤,包括如下步骤:
[0157]索引匹配步骤:按照非起始点组件的索引号在索引表中的分布位置,将起始点组件的交易追踪记录中的索引号与非起始点组件的交易追踪记录中的索引表进行匹配,若匹配,则认为非起始点组件的交易追踪记录中的通配字符与起始点组件的交易追踪记录中的通配字符一致,否则,则认为非起始点组件的交易追踪记录中的通配字符与起始点组件的交易追踪记录中的通配字符不一致。
[0158],如图2所示,本发明提供的关联多段组件交易的方法应用中的最小模型基于2个前后对接的组件,即组件A与组件B。
[0159]当客户端有一个具体业务的交易需要处理时,数据的处理流程需要经过以下步骤:
[0160]S1、数据请求先经过组件A,组件A接收完数据请求经过数据处理后再把数据请求转发给组件B;
[0161]S2、组件B接收到数据请求后,处理完具体的交易,会生成响应数据,对于组件B来说这一笔交易完成;
[0162]S3、组件B发数据响应发送给组件A,对于组件A来说这一笔交易完成;
[0163]S4、组件A把数据响应(即交易结果)发送给客户端。
[0164]在该模型中,如果组件A没有数据请求给组件B,那么组件B就无法处理该笔交易,并且组件A与组件B有关联字段可关联,因此组件B依赖于组件A。每个组件根据不同的报文规范和协议配置,生成属于该组件的交易追踪记录,对于组件A来说,交易追踪记录就是交易追踪记录A,对于组件B来说,交易追踪记录就是交易追踪记录B。
[0165]在交易关联之前对于客户端来说一个交易请求分别经过了组件A和组件B的处理,然后再得到处理结果;但对于组件来说,组件A的一笔交易和组件B的一笔交易是分开独立的。因此需要先指定一个交易的关联字段,这个关联字段可以在组件A和组件B的交易追踪记录中都能找到,例如:交易序列号、交易类型、交易渠道、返回码等。在模型中可以先指定交易追踪记录A中的关联字段a,交易追踪记录B中的关联字段b。
[0166]本发明把关联字段a提取出来,把关联字段a的具体值和关联字段b的具体值进行比对,如果对比结果一致且在最长交易延时内,则认定组件A和组件B在这一笔交易中关联成功。
[0167]在另一个优选例中,如图3所示,本发明提供的关联多段组件交易的系统,包括以下模块:
[0168]一、任务生成模块,其用于:
[0169]I)设置多段交易追踪任务的起始点组件(对于最小模型即组件A)、搜索的时间范围、该任务需要关联的字段(即字段C)以及具体的值(S卩XXX);
[0170]2)在系统中生成该任务的缓存空间。
[0171]二、交易追踪记录生成模块,其用于:
[0172]I)根据报文规范和协议格式,将各组件的数据包进行解码并获取所需的信息字段;
[0173]2)各组件关联字段可能名称不同,例:组件A的关联字段是A,组件B的关联字段是B;把各组件的关联字段作为通配字段,将通配字段的值转译成一个通配字符C;
[0174]3)通过数据流序列号或可以配对的其他字段,将一个组件中的请求和响应字段信息关联起来生成一笔交易信息;
[0175]4)把一笔交易信息中的字段排列生成为一条交易追踪记录并生成和该记录匹配的索引号及索引表;
[0176]5)将该条交易追踪记录和匹配的索引表存储在数据库中(每个组件都有自己的交易追踪记录和索引表)O
[0177]三、过滤模块,其用于:
[0178]I)根据多段关联任务的搜索时间范围,搜索该任务设置的起始点组件(组件A)的请求时间戳字段,请求时间戳字段在搜索时间范围内的交易追踪记录被保留下,其余的丢弃;
[0179]2)根据多段关联任务的搜索条件:关联字段及其具体的值,在保留的交易追踪记录中进行第二轮搜索,符合条件的保留,其余的丢弃;
[0180]3)将保留的交易追踪记录放入任务缓存中。
[0181]四、索引模块,其用于:
[0182]I)根据起始点组件的搜索结果中的关联字段值以及后续组件的索引号比对数据库中的后续组件索引表表。例如:在系统最小模型中,把组件A设置为交易多段关联的起始点组件,并通过关联字段C具体的值XXX和组件B的索引号来比对数据库中组件B的索引表(其中通配字符C也是组件B的关联字段的值);
[0183]2)索引表以二进制的形式存储,一个索引表配有多个二进制的查询表;
[0184]索引号4)当字段C的二进制数和组件B的索引表中所有的二进制表的位置都匹配时则表示组件B对应的该条交易追踪记录匹配成功;
[0185]5)索引完所有的组件B的交易追踪记录并保留所需要的交易追踪记录,其余的丢弃;
[0186]6)将保留的交易追踪记录放入任务缓存中。
[0187]五、提取/统计模块,其用于:
[0188]I)将缓存中各组件的交易追踪记录中的关联字段C,请求时间戳、响应时间戳等字段提取出来;
[0189]2)其中,把请求时间戳-响应时间戳,统计后得出每个组件的交易时间。
[0190]六、匹配模块,其用于:
[0191]I)匹配基于以下原则:
[0192](I)起始点组件(即组件A)的请求时间戳在搜索的时间范围内;
[0193](2)各组件的一个交易有最长交易延时,当组件的一个交易处理时间〉交易延时时间,则判定该交易失败,不作为本次多段交易关联的记录;
[0194](3)组件B的请求时间戳〉组件A的请求时间戳,即组件B的请求时间在组件A后;
[0195](4)组件A的交易处理时间〉组件B的交易处理时间;
[0196]2)匹配完成后将组件A和组件B的交易追踪记录进行I对I配对;
[0197]3)生成新的多段交易关联记录并放入任务缓存中;
[0198]七、呈现模块,其用于:
[0199]I)读取缓存中的多段交易关联记录信息;
[0200]2)通过任务生成模块选定的关键字,呈现多段交易关联的统计结果;
[0201 ] 3)结果以增量方式呈现,即一边读取缓存一边呈现。
[0202]在又一个优选例中,如图4,基于最小系统模型可以衍生出可由三个组件关于一个关联字段进行多段关联的系统:
[0203]其中客户端发送业务交易请求给组件A,组件A收到请求经过数据处理后,转发给组件B,组件B收到请求经过数据处理后再转发给组件C,组件C处理完数据后生成响应数据包。组件C把响应数据发送给组件B,组件B再发送给组件A,最后组件A会把交易处理结果返还给客户端,这样一笔交易完成。
[0204]对于组件B来说,会接收组件A转发的数据请求,和组件A有相同的关联字段,因此组件B依赖于组件A。对于组件C来说,会接收组件B转发的数据请求,且和组件B、组件A有相同的关联字段,因此组件C既依赖于组件A也依赖于组件B。
[0205]此外组件A、组件B、组件C的关联字段A、B、C的值都可以设定(通配)成通配字符D。当多段关联以组件A作为起始点组件开始任务后,由于组件B和组件C都依赖于组件A,所以会同时开始如图3的系统步骤,最后得出搜索结果。
[0206]在又一个优选例中,如图5,基于最小系统模型可以衍生出可由三个组件关于两个关联字段进行多段关联的系统:
[0207]其中客户端从发送业务交易请求到经过组件A、组件B、组件C再到一笔交易完成的流程和图4 一致。对于组件B来说,会接收组件A转发的数据请求,和组件A有相同的关联字段,因此组件B依赖于组件A。对于组件C来说,会接收组件B转发的数据请求,且和组件B有相同的关联字段(相同的关联字段,是指:指关联字段的值相同),因此组件C依赖于组件B。此外组件A,组件B的关联字段A、B的值可以设定(通配)成通配字符E;组件B,组件C的关联字段C、D可以通配成通配字符F。当多段关联以组件A作为起始点组件开始任务后,由于组件B依赖于组件A,所以会开始如图3的系统步骤;由于组件C依赖于组件B,所以会等组件B收到数据请求后开始如图3的系统步骤,最后
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1