适用于逻辑运算的唯一标识生成方法及装置与流程

文档序号:18414254发布日期:2019-08-13 19:08阅读:296来源:国知局
适用于逻辑运算的唯一标识生成方法及装置与流程

本发明涉及互联网技术领域,尤其涉及一种适用于逻辑运算的唯一标识生成方法及装置。



背景技术:

目前的it业务系统通常需要多个系统进行相互连接,通过一系列的流转逐次处理相关流程的数据业务。由于多个系统相互连接,当用户在一定时间内重复提交,为了不产生重复数据,保证业务流程的唯一性,通常都需要生成一个唯一id去标识本次的流程和数据。通常情况下,在首次进入相关流程时,由对应第一个被访问的系统去调用唯一id生成系统去生成唯一id,在后续的流程中这个id将贯穿于多个系统处理过程作为唯一标识符进行数据存储。这样的逻辑能够应付绝大多数的情况,保证系统的高可用性。但在有些情况下,如果第一个被访问的系统调用唯一id生成系统失败,则本次流程会处理失败,还可能造成传入数据引起的数据污染、数据不一致等问题。



技术实现要素:

本发明实施例提供一种适用于逻辑运算的唯一标识生成方法及装置,当第一个被访问的系统调用系统唯一id失败时,由后续相关联的系统重新生成唯一id,并将该id回调至已处理数据的系统,可以避免数据污染,保证数据的一致性。

本发明实施例第一方面提供了一种适用于逻辑运算的唯一标识生成方法,可包括:

根据第一访问系统的id调取请求调取唯一id生成系统所生成的系统唯一id;

若未检测到所生成的系统唯一id,基于与第一访问系统相关联的第二访问系统调取唯一id生成系统生成新系统唯一id;

将新系统唯一id和对应的系统数据回调至第一访问系统,以使第一访问系统根据系统数据替换系统中原来的数据。

进一步的,上述方法还包括:

当未调取到系统唯一id时,将预设错误id传输至第二访问系统。

进一步的,上述方法还包括:

当未检测到第二访问系统所调取的新系统唯一id时,删除第二访问系统和第一访问系统中的系统数据。

进一步的,在删除第二访问系统和第一访问系统中的系统数据时,上述方法还包括:

针对第二访问系统和第一访问系统中的系统数据添加数据不可用标识,用于指示上述系统数据为软删除的系统数据。

进一步的,上述方法还包括:

输出调取失败通知信息。

本发明实施例第二方面提供了一种适用于逻辑运算的唯一标识生成装置,可包括:

id调取模块,用于根据第一访问系统的id调取请求调取唯一id生成系统所生成的系统唯一id;

新id调取模块,用于若未检测到所生成的系统唯一id,基于与第一访问系统相关联的第二访问系统调取唯一id生成系统生成新系统唯一id;

数据回调模块,用于将新系统唯一id和对应的系统数据回调至第一访问系统,以使第一访问系统根据系统数据替换系统中原来的数据。

进一步的,上述装置还包括:

错误id传输模块,用于当未调取到系统唯一id时,将预设错误id传输至第二访问系统。

进一步的,上述装置还包括:

数据删除模块,用于当未检测到第二访问系统所调取的新系统唯一id时,删除第二访问系统和第一访问系统中的系统数据。

进一步的,上述数据删除模块具体用于,针对第二访问系统和第一访问系统中的系统数据添加数据不可用标识,用于指示上述系统数据为软删除的系统数据。

进一步的,上述装置还包括:

信息通知模块,用于输出调取失败通知信息。

在本发明实施例中,通过第一个被访问的系统调用系统唯一id,当上述调取失败时,由后续相关联的系统重新生成唯一id,并将该id回调至已处理数据的系统,避免了数据污染,保证了数据的一致性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1是本发明实施例提供的一种适用于逻辑运算的唯一标识生成方法的流程示意图;

图2是本发明实施例提供的另一种适用于逻辑运算的唯一标识生成方法的流程示意图;

图3是本发明实施例提供的一种适用于逻辑运算的唯一标识生成装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明实施例提供的适用于逻辑运算的唯一标识生成方法可以应用于it业务系统中系统唯一id调取、生成等的应用场景中。

需要说明的是,本发明实施例中的第一和第二仅表示先后顺序,不仅仅指代第一个和第二个也可以是中间顺序中的任意连续的两个。

下面将结合附图1和附图2,对本发明实施例提供的适用于逻辑运算的唯一标识生成方法进行详细介绍。

请参见图1,为本发明实施例提供了一种适用于逻辑运算的唯一标识生成方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤s101-步骤s103。

s101,根据第一访问系统的id调取请求调取唯一id生成系统所生成的系统唯一id。

可以理解的是,为保证it业务流程的唯一性,通常都需要生成一个唯一id去标识首次的业务流程和数据,后续这个id将贯穿多个系统的处理过程,作为唯一标识符进行数据存储。

具体的,上述装置可以根据第一访问系统的id调取请求调取唯一id生成系统所生成的系统唯一id。上述第一访问系统可以是it业务流程中第一个被访问的系统,上述系统唯一id可以贯穿至整个业务流程。

s102,若未检测到所生成的系统唯一id,基于与第一访问系统相关联的第二访问系统调取唯一id生成系统生成新系统唯一id。

可以理解的是,上述第一访问系统并不一定能调取到系统唯一id,例如上述第一访问系统调取唯一id生成系统时某些进程出错,则唯一id生成系统调取失败,进而不能生成系统唯一id。上述装置可以在第一访问系统调取系统唯一id后,检测是否调取成功。

具体的,若上述装置未检测到上述系统唯一id时,可以认为第一访问系统调取失败,进而可以采用第二访问系统调取上述唯一id生成系统生成新系统唯一id。可以理解的是,第二访问系统可以是第一访问系统的关联系统,在第一访问系统之后被访问,例如,可以是it业务流程中第二个被访问的系统。

在可选实施例中,当第一访问系统调取失败时,上述装置可以将预设错误id传输至第二访问系统,第二访问系统可以根据该预设错误id知悉第一访问系统调取系统唯一id失败。

需要说明的是,上述第一访问系统也可以是it业务流程执行过成中,中间任何一个被访问的系统,第二访问系统可以是第一访问系统之后被访问的系统。

需要说明的是,任何一个被访问的系统调用唯一id生成系统生成系统唯一id时,成功生成的系统唯一id都可以对应一个系统标识,该系统标识可以指示调取系统唯一id的是哪一个。后续,该系统唯一id贯穿整个业务流程时,任何被访问的系统均可以通过上述系统标识确定成功调取到系统唯一id的系统。

在可选实施例中,当第二访问系统生成新系统唯一id也失败时,上述装置可以删除第二访问系统和第一访问系统中的系统数据,上述系统数据可以包括上述系统标识和预设错误id。优选的,上述装置可以为上述系统数据添加数据不可用标识,该标识可以指示上述系统数据为软删除的数据,也就是上述系统数据虽然还占系统内存,但已经不可用,不能被调取,但后续可以通过某些手段恢复。可选的,上述装置也可以从系统内存中直接删除上述系统数据。

在可选实施例中,当第一访问系统调取失败时,上述装置可以基于本次请求返回请求错误信息,并可以断开当前链路。

s103,将新系统唯一id和对应的系统数据回调至第一访问系统。

具体的,上述装置可以将新系统唯一id和对应的系统数据回调至第一访问系统,可以理解的是,新系统唯一id对应的系统数据可以包括上述系统标识。进一步的,上述第一访问系统可以根据上述系统数据替换系统中原来的数据。

在可选实施例中,当系统中的前n个系统均未调取到系统唯一id,第n+1个系统成功调取到新系统唯一id,则上述装置可以将该新系统唯一id和对应的系统数据回调至上述前n个系统。可选的,上述装置可以采用逐一向前的方式用上述新系统唯一id覆盖之前所有系统生成的数据,此时数据的覆盖即为一个递归过程,由最后生成了新系统唯一id的系统向前进行数据覆盖。

需要说明的是,当系统中从开始到最后的系统均生成系统唯一id失败时,上述装置删除上述系统数据的过程也可以与上述数据覆盖的过程一致,即由最后一个系统第一个进行数据删除,之后不断向之前的调用系统进行数据删除,直到第一个系统完成删除。

在可选实施例中,如果从开始到最后一个系统都生成系统唯一id失败,上述装置可以输出调取失败通知信息,用于通知用户手动发起对应请求。可选的,上述装置可以基于最后一个被访问的系统输出上述通知信息。

在本发明实施例中,通过第一个被访问的系统调用系统唯一id,当上述调取失败时,由后续相关联的系统重新生成唯一id,并将该id回调至已处理数据的系统,避免了数据污染,保证了数据的一致性。

需要说明的是,上述实施例中可以根据成功调取系统唯一id的被访问系统在业务流程中的位置,将id回调以及系统继续执行的过程可以分为三种情况,为便于理解,假设业务流程中的顺序执行的系统为:a、b、c、d以及e。则当系统a调取系统唯一id成功时,后续的系统b、c、d以及e均可以顺序调取该系统唯一id;当系统a和b均调取系统唯一id失败,系统c调取成功时,系统c可以将所调取的系统唯一id以及对应的数据回传至系统b和系统a,后续的系统d和e可以顺序调取该系统唯一id;当系统a、b、c以及d均调取系统唯一id失败,系统e调取成功时,系统e可以将所调取的系统唯一id以及对应的数据逐一回传至系统d、c、b和a。

在本发明实施例的一种具体实现方式中,假设业务流程中的顺序执行的系统为:a、b、c、d、e等,上述适用于逻辑运算的唯一标识生成可以如图2所示,包括步骤s201-s206。

s201,流程开始。

s202,流程a系统。

可以理解的是,a系统可以是业务流程中第一个被访问的系统。

s203,唯一id生成系统。

s204,是否存在系统唯一id。

可以理解的是,无论上述装置是否检测到a系统调取的系统唯一id,均可以执行步骤s205,由路程b调取唯一id生成系统,生成系统唯一id。不同的是,当s204的检测结果为是时,系统b调取的系统唯一id就是系统a产生的id;当s204的检测结果为否时,上述装置可以传入制定的错误id,用于将系统a未成功调取系统唯一id的信息告知系统b,再由系统b调取唯一id生成系统生成系统唯一id。

s205,流程b系统,是否有系统唯一id。

可以理解的是,当流程b系统检测到成功调取到系统唯一id时,可以回调a系统更新数据。

s206,流程c、d、e等后续系统查询系统唯一id逻辑与系统b类似。

需要说明的是,上述详细的处理过程可以参见上述方法实施例中的具体描述,此处不再赘述。

在本发明实施例中,通过第一个被访问的系统调用系统唯一id,当上述调取失败时,由后续相关联的系统重新生成唯一id,并将该id回调至已处理数据的系统,避免了数据污染,保证了数据的一致性。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

下面将结合附图3,对本发明实施例提供的适用于逻辑运算的唯一标识生成装置进行详细介绍。需要说明的是,附图3所示的生成装置,用于执行本发明图1和图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1和图2所示的实施例。

请参见图3,为本发明实施例提供了一种适用于逻辑运算的唯一标识生成装置的结构示意图。如图3所示,本发明实施例的标识生成装置10可以包括:id调取模块101、新id调取模块102、数据回调模块103、错误id传输模块104、数据删除模块105和信息通知模块106。

id调取模块101,用于根据第一访问系统的id调取请求调取唯一id生成系统所生成的系统唯一id。

可以理解的是,为保证it业务流程的唯一性,通常都需要生成一个唯一id去标识首次的业务流程和数据,后续这个id将贯穿多个系统的处理过程,作为唯一标识符进行数据存储。

具体实现中,id调取模块101可以根据第一访问系统的id调取请求调取唯一id生成系统所生成的系统唯一id。上述第一访问系统可以是it业务流程中第一个被访问的系统,上述系统唯一id可以贯穿至整个业务流程。

新id调取模块102,用于在未检测到所生成的系统唯一id,基于与第一访问系统相关联的第二访问系统调取唯一id生成系统生成新系统唯一id。

可以理解的是,上述第一访问系统并不一定能调取到系统唯一id,例如上述第一访问系统调取唯一id生成系统时某些进程出错,则唯一id生成系统调取失败,进而不能生成系统唯一id。上述装置10可以在第一访问系统调取系统唯一id后,检测是否调取成功。

具体实现中,若上述装置10未检测到上述系统唯一id时,可以认为第一访问系统调取失败,进而新id调取模块102可以采用第二访问系统调取上述唯一id生成系统生成新系统唯一id。可以理解的是,第二访问系统可以是第一访问系统的关联系统,在第一访问系统之后被访问,例如,可以是it业务流程中第二个被访问的系统。

在可选实施例中,当第一访问系统调取失败时,错误id传输模块104可以将预设错误id传输至第二访问系统,第二访问系统可以根据该预设错误id知悉第一访问系统调取系统唯一id失败。

需要说明的是,上述第一访问系统也可以是it业务流程执行过成中,中间任何一个被访问的系统,第二访问系统可以是第一访问系统之后被访问的系统。

需要说明的是,任何一个被访问的系统调用唯一id生成系统生成系统唯一id时,成功生成的系统唯一id都可以对应一个系统标识,该系统标识可以指示调取系统唯一id的是哪一个。后续,该系统唯一id贯穿整个业务流程时,任何被访问的系统均可以通过上述系统标识确定成功调取到系统唯一id的系统。

在可选实施例中,当第二访问系统生成新系统唯一id也失败时,数据删除模块105可以删除第二访问系统和第一访问系统中的系统数据,上述系统数据可以包括上述系统标识和预设错误id。优选的,数据删除模块105可以为上述系统数据添加数据不可用标识,该标识可以指示上述系统数据为软删除的数据,也就是上述系统数据虽然还占系统内存,但已经不可用,不能被调取,但后续可以通过某些手段恢复。可选的,数据删除模块105也可以从系统内存中直接删除上述系统数据。

在可选实施例中,当第一访问系统调取失败时,上述装置10可以基于本次请求返回请求错误信息,并可以断开当前链路。

数据回调模块103,用于将新系统唯一id和对应的系统数据回调至第一访问系统。

具体实现中,数据回调模块103可以将新系统唯一id和对应的系统数据回调至第一访问系统,可以理解的是,新系统唯一id对应的系统数据可以包括上述系统标识。进一步的,上述第一访问系统可以根据上述系统数据替换系统中原来的数据。

在可选实施例中,当系统中的前n个系统均未调取到系统唯一id,第n+1个系统成功调取到新系统唯一id,则数据回调模块103可以将该新系统唯一id和对应的系统数据回调至上述前n个系统。可选的,数据回调模块103可以采用逐一向前的方式用上述新系统唯一id覆盖之前所有系统生成的数据,此时数据的覆盖即为一个递归过程,由最后生成了新系统唯一id的系统向前进行数据覆盖。

需要说明的是,当系统中从开始到最后的系统均生成系统唯一id失败时,数据删除模块105删除上述系统数据的过程也可以与上述数据覆盖的过程一致,即由最后一个系统第一个进行数据删除,之后不断向之前的调用系统进行数据删除,直到第一个系统完成删除。

在可选实施例中,如果从开始到最后一个系统都生成系统唯一id失败,信息通知模块106可以输出调取失败通知信息,用于通知用户手动发起对应请求。可选的,信息通知模块106可以基于最后一个被访问的系统输出上述通知信息。

在本发明实施例中,通过第一个被访问的系统调用系统唯一id,当上述调取失败时,由后续相关联的系统重新生成唯一id,并将该id回调至已处理数据的系统,避免了数据污染,保证了数据的一致性。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1