逻辑接口报文的比对方法、系统、设备及存储介质技术方案

技术编号:17350361 阅读:24 留言:0更新日期:2018-02-25 19:14
本发明专利技术提供了逻辑接口报文的比对方法、系统、设备及存储介质,其中,方法包括以下步骤:配置接口报文列表节点key字段和节点之间关联关系;计算待比对两边报文列表节点元素key值;开始递归比对报文节点;当前报文节点是列表节点,则根据key值匹配两侧列表节点对应元素后进一步比对,或者根据索引匹配两侧列表节点对应元素后进一步比对;当前报文节点是关联节点,则根据配置的关联关系比对被关联节点;当前报文节点不是关联节点,则逐字段比对当前报文节点。本发明专利技术能够解决的业务逻辑与比对逻辑分离即如何让比对逻辑通用化的问题,而且能够实现接口报文列表节点乱序比对和关联节点比对。

A comparison method, system, device and storage medium for a logical interface message

The invention provides a comparison method, logic interface message system, device and storage medium, wherein the method comprises the following steps: the relationship between the configuration interface message list node key and node field; calculate the ratio on both sides of message list elements key; start recursive alignment message node; node node is the current message list, then according to the key value, on both sides of the corresponding elements list node further comparison, according to the index, or on both sides of the corresponding elements list node further alignment; the current message node is associated with the node, according to the relationship between the ratio is associated with the current message node; node is not related nodes, then by field than the current message node. The separation of business logic and alignment logic can solve the problem of generalization of comparative logic, and realize the comparison of the interface list list node's random order and correlation node.

【技术实现步骤摘要】
逻辑接口报文的比对方法、系统、设备及存储介质
本专利技术涉及数据交互的报文比对领域,具体地说,涉及逻辑接口报文的比对方法、系统、设备及存储介质。
技术介绍
现有技术在比对报文时采用的是逐行、逐字段比对的方法,在面对简单报文时这种方法可以满足需求,但对于具有复杂业务逻辑的报文如节点间关联关系复杂,需要进行列表(list)节点乱序比对的接口报文,现有的比对方法就会有明显的不足,表现为以下三点:1、现有比对方法在接口业务逻辑变化时比对逻辑也要进行相应的改变,即无法实现比对逻辑的通用性。2、无法对列表节点乱序比对,现有比对方法是按照列表节点的索引进行顺序比对的,而接口报文列表节点元素可能是乱序排列的,这就可能导致错乱的比对结果。3、无法对关联节点进一步比对,现有比对方法把报文的所有节点都视为终结节点直接比对,而在复杂业务逻辑报文中某些节点可能会关联到报文中的其他节点,这就需要对其关联的节点进一步比对。因此,本专利技术提供了一种逻辑接口报文的比对方法、系统、设备及存储介质。
技术实现思路
针对现有技术中的问题,本专利技术的目的在于提供逻辑接口报文的比对方法、系统、设备及存储介质,能够解决的业务逻辑与比对逻辑分离即如何让比对逻辑通用化的问题。本专利技术的实施例提供一种逻辑接口报文的比对方法,包括以下步骤:S101、配置接口报文列表节点key字段和节点之间关联关系;S102、计算待比对两边报文列表节点元素key值;S103、开始递归比对报文节点;S104、判断当前报文节点是否为列表节点,若是,则执行步骤S106,若否,则执行步骤S105;S105、判断当前报文节点是否为关联节点,若是,则执行步骤S109,若否,则执行步骤S110;S106、判断当前报文节点是否配置了key值,若是,则执行步骤S107,若否,则执行步骤S108;S107、根据key值匹配两侧列表节点对应元素后进一步比对,返回步骤S103;S108、根据索引匹配两侧列表节点对应元素后进一步比对,返回步骤S103;S109、根据配置的关联关系比对被关联节点,返回步骤S103;S110、逐字段比对当前报文节点;以及S111、结束。优选地,所述步骤S101包括以下步骤:S1011、通过可视化的图形界面展示出接口报文的树形结构,在树形结构上配置列表节点的key值;S1012、配置报文节点之间的关联关系,这些配置都取决于接口报文的业务逻辑,配置的结果会保存到一个哈希表中,其键为关联节点的路径,值为被关联节点的路径。优选地,所述步骤S102包括以下步骤:S1021、判断计算不同列表节点key值的优先级,将没有对其他节点有关联关系的列表节点的计算优先级定义为最高,其次是其关联的所有列表节点都已经被定义了计算优先级的列表节点;S1022、按照步骤S1021排列的优先级别依次计算待比对两边报文列表节点元素key值,并将计算得到的key值的结果放入哈希表中。优选地,所述步骤S103中,比对列表节点时会把列表节点的路径当作哈希表的键去查找对应的值。优选地,所述比对报文节点是一个嵌套递归的过程,采用深度优先遍历的方式遍历接口报文的全部节点。优选地,所述步骤S107中,找到对应的key值,则使用此key值去另一侧报文中匹配,匹配成功则可以进一步比对这两个列表节点的成员元素,匹配不成功,则记录日志信息,最后返回步骤S103。优选地,所述步骤S108中,找不到对应的key值,则比对时直接根据列表节点的索引顺序比对,最后返回步骤S103。优选地,所述步骤S105中,在保存节点之间关联关系的哈希表中把当前节点的路径作为键去查找,若查找不到对应的关联关系,则执行步骤S110,若查找到对应的关联关系,则执行步骤S109。优选地,所述key值是列表元素一个或多个字段的组合,用来唯一确定该元素。本专利技术的实施例还提供一种逻辑接口报文的比对系统,用于上述的逻辑接口报文的比对方法,所述逻辑接口报文的比对系统包括:配置模块,配置接口报文列表节点key字段和节点之间关联关系;key值计算模块,计算待比对两边报文列表节点元素key值;报文比对模块,开始递归比对报文节点;第一判断模块,判断当前报文节点是否为列表节点,若是,则执行第三判断模块,若否,则执行第二判断模块;第二判断模块,判断当前报文节点是否为关联节点,若是,则执行第三比对模块,若否,则执行第四比对模块;第三判断模块,判断当前报文节点是否配置了key值,若是,则执行第一比对模块,若否,则执行第二比对模块;第一比对模块,根据key值匹配两侧列表节点对应元素后进一步比对,返回报文比对模块;第二比对模块,根据索引匹配两侧列表节点对应元素后进一步比对,返回报文比对模块;第三比对模块,根据配置的关联关系比对被关联节点,返回报文比对模块;以及第四比对模块,逐字段比对当前报文节点。本专利技术的实施例还提供一种逻辑接口报文的比对设备,包括:处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述逻辑接口报文的比对方法的步骤。本专利技术的实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现上述逻辑接口报文的比对方法的步骤。本专利技术的逻辑接口报文的比对方法、系统、设备及存储介质能够把接口报文比对逻辑与接口报文业务逻辑进行了分离,实现了比对逻辑的通用性,同时解决了报文比对过程中列表节点乱序比对和关联节点比对的问题。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显。图1是本专利技术的逻辑接口报文的比对方法的流程图。图2是本专利技术的逻辑接口报文的比对系统的模块示意图。图3是本专利技术的逻辑接口报文的比对设备的结构示意图。以及图4是本专利技术一实施例的计算机可读存储介质的结构示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使得本专利技术将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。图1是本专利技术的逻辑接口报文的比对方法的流程图。如图1所示,本专利技术的实施例提供一种逻辑接口报文的比对方法,包括以下步骤:S101、配置接口报文列表节点key字段和节点之间关联关系。S102、计算待比对两边报文列表节点元素key值。S103、开始递归比对报文节点。S104、判断当前报文节点是否为列表节点,若是,则执行步骤S106,若否,则执行步骤S105。S105、判断当前报文节点是否为关联节点,若是,则执行步骤S109,若否,则执行步骤S110。S106、判断当前报文节点是否配置了key值,若是,则执行步骤S107,若否,则执行步骤S108。S107、根据key值匹配两侧列表节点对应元素后进一步比对,返回步骤S103。S108、根据索引匹配两侧列表节点对应元素后进一步比对,返回步骤S103。S109、根据配置的关联关系比对被关联节点,返回步骤S103。S110、逐字段比对当前报文节点。以及S111、结束。在一个优选方案中,步骤S101包括以下步骤:S1011、通过可视化的图形界面展示出接口报文的树形结构,在树形结构上配置本文档来自技高网...
逻辑接口报文的比对方法、系统、设备及存储介质

【技术保护点】
一种逻辑接口报文的比对方法,其特征在于,包括以下步骤:S101、配置接口报文列表节点key字段和节点之间关联关系;S102、计算待比对两边报文列表节点元素key值;S103、开始递归比对报文节点;S104、判断当前报文节点是否为列表节点,若是,则执行步骤S106,若否,则执行步骤S105;S105、判断当前报文节点是否为关联节点,若是,则执行步骤S109,若否,则执行步骤S110;S106、判断当前报文节点是否配置了key值,若是,则执行步骤S107,若否,则执行步骤S108;S107、根据key值匹配两侧列表节点对应元素后进一步比对,返回步骤S103;S108、根据索引匹配两侧列表节点对应元素后进一步比对,返回步骤S103;S109、根据配置的关联关系比对被关联节点,返回步骤S103;S110、逐字段比对当前报文节点;以及S111、结束。

【技术特征摘要】
1.一种逻辑接口报文的比对方法,其特征在于,包括以下步骤:S101、配置接口报文列表节点key字段和节点之间关联关系;S102、计算待比对两边报文列表节点元素key值;S103、开始递归比对报文节点;S104、判断当前报文节点是否为列表节点,若是,则执行步骤S106,若否,则执行步骤S105;S105、判断当前报文节点是否为关联节点,若是,则执行步骤S109,若否,则执行步骤S110;S106、判断当前报文节点是否配置了key值,若是,则执行步骤S107,若否,则执行步骤S108;S107、根据key值匹配两侧列表节点对应元素后进一步比对,返回步骤S103;S108、根据索引匹配两侧列表节点对应元素后进一步比对,返回步骤S103;S109、根据配置的关联关系比对被关联节点,返回步骤S103;S110、逐字段比对当前报文节点;以及S111、结束。2.根据权利要求1所述的逻辑接口报文的比对方法,其特征在于:所述步骤S101包括以下步骤:S1011、通过可视化的图形界面展示出接口报文的树形结构,在树形结构上配置列表节点的key值;S1012、配置报文节点之间的关联关系,这些配置都取决于接口报文的业务逻辑,配置的结果会保存到一个哈希表中,其键为关联节点的路径,值为被关联节点的路径。3.根据权利要求2所述的逻辑接口报文的比对方法,其特征在于:所述步骤S102包括以下步骤:S1021、判断计算不同列表节点key值的优先级,将没有对其他节点有关联关系的列表节点的计算优先级定义为最高,其次是其关联的所有列表节点都已经被定义了计算优先级的列表节点;S1022、按照步骤S1021排列的优先级别依次计算待比对两边报文列表节点元素key值,并将计算得到的key值的结果放入哈希表中。4.根据权利要求3所述的逻辑接口报文的比对方法,其特征在于:所述步骤S103中,比对列表节点时会把列表节点的路径当作哈希表的键去查找对应的值。5.根据权利要求4所述的逻辑接口报文的比对方法,其特征在于:所述比对报文节点是一个嵌套递归的过程,采用深度优先遍历的方式遍历接口报文的全部节点。6.根据权利要求4所述的逻辑接口报文的比对方法,其特征在于:所述步骤S107中,找到对应的ke...

【专利技术属性】
技术研发人员:时宇翔虞斌
申请(专利权)人:携程旅游网络技术上海有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1