一种多网络环境下的数据交换方法及设备与流程

文档序号:31998608发布日期:2022-11-02 10:02阅读:39来源:国知局
一种多网络环境下的数据交换方法及设备与流程

1.本技术涉及计算机技术领域,尤其涉及一种多网络环境下的数据交换方法及设备。


背景技术:

2.在多网络环境下进行数据交换,传统的模式是通过编写数据接口来实现。比如,假设有a、b、c三个业务系统,a业务系统的一个功能是加工好数据后,需要同步至b业务系统和c业务系统进行后续的数据加工或业务处理,则b业务系统和c业务系统须各提供一个数据接收接口,由a业务系统分别调用。在实际情况中,一个公司主体的不同业务系统是要互相依赖,互相调用,共同使用和处理相同的数据对象来实现特定的功能。所以在系统架构中,以上述三个业务系统为例,a、b、c三个业务系统互相调用,这种模式会产生以下问题:交换数据的接口越来越多且冗余重复;接口关系不清晰,不便维护,接口修改难以评估风险性,接口变动需要其他多个业务系统甚至是所有业务系统做变动支持;接口调用的操作为一次性,只能产生单次的调用成功或失败记录。
3.传统的多网络环境下的数据交换方法,每个系统需要编写大量的数据交换接口以供笛卡尔乘积式的数据交换,且需要不同系统的编程人员进行大量重复度较高的接口编写和互相调用工作。


技术实现要素:

4.本技术的一个目的是提供一种多网络环境下的数据交换方法及设备,通过数据交换调度中心,根据不同的业务系统的指标定义进行数据的分发,达到了将不同业务系统从复杂的交互关系中解放出来的目的,并且通过记录日志的方式,将数据交换的整个交换生命周期进行记录,解决数据交换结果难以定位和排查的问题,以便于后续问题跟踪和定位。
5.根据本技术的一个方面,提供了一种多网络环境下的数据交换方法,应用于数据交换调度中心,其中,该方法包括:
6.将不同业务系统之间进行的数据交换抽象为系统级的主题及其对应的业务类型标签,若所述业务系统为数据的发送方,则为所述发送方定义生产数据的生产主题及其包含的一个或多个业务类型标签,若所述业务系统为数据的接收方,则为所述接收方定义接收数据的订阅主题及其包含的一个或多个业务类型标签;
7.通过数据管道接收来自目标业务系统发送的数据交换任务,所述数据交换任务包括目标数据和所述目标数据所属的目标主题和目标业务类型标签;
8.确定订阅所述目标主题和所述目标业务类型标签的至少一个消费业务系统及其任务调度优先级;
9.按照所述任务调度优先级从高到低的顺序,将所述目标数据分别推送给所述至少一个消费业务系统并进行各自日志的记录,其中,每条记录日志包括交换的数据和交换成功与否的结果。
10.进一步地,上述方法中,所述确定订阅所述目标主题和所述目标业务类型标签的至少一个消费业务系统及其任务调度优先级,包括:
11.查询并确定订阅所述目标主题和所述目标业务类型标签的所述至少一个消费业务系统;
12.通过心跳分别检测每个所述消费业务系统的响应时长;
13.基于每个所述消费业务系统的响应时长,确定每个所述消费业务系统的任务调度优先级。
14.进一步地,上述方法中,所述记录日志中的所述交换成功与否的结果包括数据交换失败和数据交换成功。
15.进一步地,上述方法中,若所述记录日志中的所述交换成功与否的结果为数据交换失败,所述方法还包括:
16.将所述目标数据重试推送给所述数据交换失败时对应的消费业务系统,直至重试次数等于最大重试次数或直至数据交换成功。
17.进一步地,上述方法中,所述方法还包括:
18.设置用于数据交换失败后进行数据交换重试的最大重试次数。
19.根据本技术的另一个方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述一种多网络环境下的数据交换方法。
20.根据本技术的另一个方面,还提供了一种多网络环境下的数据交换设备,其中,该设备包括:
21.一个或多个处理器;
22.计算机可读介质,用于存储一个或多个计算机可读指令,
23.当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述一种多网络环境下的数据交换方法。
24.与现有技术相比,本技术在不同的业务系统之间引入了一中间介质,即数据交换调度中心,在数据交换调动中心,将不同业务系统之间进行的数据交换抽象为系统级的主题及其对应的业务类型标签,若所述业务系统为数据的发送方,则为所述发送方定义生产数据的生产主题及其包含的一个或多个业务类型标签,若所述业务系统为数据的接收方,则为所述接收方定义接收数据的订阅主题及其包含的一个或多个业务类型标签;并通过数据管道接收来自目标业务系统发送的数据交换任务,所述数据交换任务包括目标数据和所述目标数据所属的目标主题和目标业务类型标签;确定订阅所述目标主题和所述目标业务类型标签的至少一个消费业务系统及其任务调度优先级;按照所述任务调度优先级从高到低的顺序,将所述目标数据分别推送给所述至少一个消费业务系统并进行各自日志的记录,其中,每条记录日志包括交换的数据和交换成功与否的结果。使得通过数据交换调度中心,根据不同的业务系统的指标定义进行数据的分发,达到了将不同业务系统从复杂的交互关系中解放出来的目的,并且通过记录日志的方式,将数据交换的整个交换生命周期进行记录,解决数据交换结果难以定位和排查的问题,以便于后续问题跟踪和定位。
附图说明
25.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
26.图1示出根据本技术一个方面的一种多网络环境下的数据交换方法的流程示意图;
27.图2示出根据本技术一个方面的一种多网络环境下的数据交换方法在实际应用场景中的交互示意图。
28.附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
29.下面结合附图对本技术作进一步详细描述。
30.在本技术一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
31.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
32.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
33.如图1所示,本技术的一个方面提出了一种多网络环境下的数据交换方法的流程示意图,该方法应用于数据交换调度中心,其中,所述方法包括步骤s11、步骤s12、步骤s13及步骤s14,具体包括如下步骤:
34.步骤s11,将不同业务系统之间进行的数据交换抽象为系统级的主题及其对应的业务类型标签,若所述业务系统为数据的发送方,则为所述发送方定义生产数据的生产主题及其包含的一个或多个业务类型标签,若所述业务系统为数据的接收方,则为所述接收方定义接收数据的订阅主题及其包含的一个或多个业务类型标签,实现了通过数据交换调度中心将不同业务系统之间进行的数据交换都抽象为系统级的主题及其对应的业务类型标签tag,减少了重复的数据交换接口的请求和接收,通过主题及其对应的业务类型标签tag将数据交换接口和业务接口隔离开来,即通过数据交换调度中心就满足了既处理了不同的业务又进行了数据交换,避免了数据交换接口的改动对其他业务系统的影响,不同业务系统的数据交换关系清晰易维护。
35.在此,每个主题对应的业务类型标签tag可以是一个,也可以是多个,比如,当主题为订单时,对应的业务类型标签tag可以包括订单支付成功、订单发货、订单取消及订单确收等类型的标签。
36.在步骤s11中,数据交换调度中心将不同业务系统之间的数据交换抽象为系统级的主题topic及具体对应的业务类型标签tag,使得在交换数据的双方建立数据交换的管道,即每个参与数据交换的业务系统既可以是数据交换的发送方,也可以是数据交换的接收方。比如,数据交换的流程可以为:当业务系统为生产数据的系统时,则所述业务系统为发送方,并在数据交换调度中心定义该业务系统生产数据的主题topic及包含的一个或多个业务类型标签tag,数据加工完毕后,发送到进行数据交换的数据管道中;当业务系统为消费数据的系统时,则所述业务系统为接收方,在数据交换调度中心中定义其订阅的主题topic及包含的一个或多个业务类型标签tag,以便后续从数据管道中取出对应的数据。
37.当目标业务系统向数据交换调度中心发送了需要进行数据交换的数据交换任务后,步骤s12,通过数据管道接收来自目标业务系统发送的数据交换任务,所述数据交换任务包括目标数据和所述目标数据所属的目标主题和目标业务类型标签;
38.由于在数据交换调度中心已经定义好每个业务系统可以进行生产数据的主题及其对应的业务类型标签和订阅的主题及其对应的业务类型标签,步骤s13中,可以从数据交换调度中心确定出订阅了所述目标主题和所述目标业务类型标签的至少一个消费业务系统及其任务调度优先级;
39.步骤s14,按照所述任务调度优先级从高到低的顺序,将所述目标数据分别推送给所述至少一个消费业务系统并进行各自日志的记录,其中,每条记录日志包括交换的数据和交换成功与否的结果,使得通过记录日志可以明确感知数据交换结果,以便时候的问题追踪和定位。
40.需要说明的是,所述记录日志中的所述交换成功与否的结果包括数据交换失败和数据交换成功,以便对数据交换的结果进行记录,便于后续追踪和定位。
41.通过上述步骤s11至步骤s14,通过数据交换调度中心,根据不同的业务系统的指标定义进行数据的分发,达到了将不同业务系统从复杂的交互关系中解放出来的目的,并且通过记录日志的方式,将数据交换的整个交换生命周期进行记录,解决数据交换结果难以定位和排查的问题,以便于后续问题跟踪和定位。
42.在本技术一实际应用场景中,如图2所示,在多网络环境下,不同的业务系统的服务器之间是物理隔离的,它们由网关相连,比如,业务系统1、业务系统2及业务系统3各自对应的服务器1、服务器2及服务器3既可以是数据交换的发送方,也可以是接收方,即每台服务器既可以是发送方,也可以是接收方,发送方和接收方的关系由在数据交换调度中心抽象的主题topic和业务类型标签tag来定义。一组数据交换定义好后,比如定义的发送方、对应的一个或多个接收方及数据交换的数据抽象为的主题及其对应的业务类型后,数据交换调度中心根据接收方的优先级来将数据管道中待交换的数据进行投递,每个投递都由轻量级的协程进行,提升投递的并行性和效率。每组投递都有各自的记录日志,记录投递的数据和数据交换成功与否的结果。
43.在本实际应用场景的实施例中,该方法进行不同业务系统的数据交换,比如,订单中心、商户中心、用户中心、商品中心及营销中心等,虽然在业务上互相关联,需要数据共享,但是可实现各自独立,需要共享的数据通过数据交换调度中心进行交换,每个业务系统仅需要编写统一的数据发送和接收接口,调用关系定义在调度中心,可随时进行发送方和接收方的调整,系统间的调用有完整清晰的记录日志进行追踪和定位,从而建立高效稳定
的多网络环境下的数据交换的系统架构。
44.接着本技术的上述实施例,所述步骤s13确定订阅所述目标主题和所述目标业务类型标签的至少一个消费业务系统及其任务调度优先级,具体包括:
45.查询并确定订阅所述目标主题和所述目标业务类型标签的所述至少一个消费业务系统;
46.通过心跳分别检测每个所述消费业务系统的响应时长;
47.基于每个所述消费业务系统的响应时长,确定每个所述消费业务系统的任务调度优先级。比如,响应时长短的业务系统的数据交换的优先级比响应时长长的业务系统的数据交换的优先级,使得通过响应时长来确定不同业务系统对数据交换任务的优先级,从而降低数据交换的平均响应时长。
48.例如,当需要进行数据交换的发送方,即目标业务系统向数据交换调度中心发送了数据交换任务后,需要从数据交换调度中心查询出具体是哪些业务系统订阅了数据交换任务中的目标主题和目标业务类型标签,以便确定出订阅了所述目标主题和所述目标业务类型标签的一个或多个消费业务系统;为了提升数据交换的效率,数据交换调度中心通过心跳分别检测每个消费业务系统的响应时长,并通过每个消费业务系统的响应时长,来动态分配每个所述消费业务系统的任务调度优先级,从而提升整体的数据交换效率。
49.在本实施例中,数据交换调度中心与每个业务系统之间均存在有心跳检测机制,来检测不同的业务系统的响应时长,对于心跳检测的响应时长大于预设响应时长阈值或响应失败时,需要降低该业务系统进行数据交换执行的优先级;对于心跳检测的响应时长远远低于预设响应时长或响应迅速(比如随时响应),则需要提升响应速度快或用时很短的业务系统的数据交换执行的优先级,从而达到提升数据交换的平均响应时长的目的,进一步提升数据交换效率。
50.接着本技术的上述实施例,若所述记录日志中的所述交换成功与否的结果为数据交换失败,所述方法还包括:
51.将所述目标数据重试推送给所述数据交换失败时对应的消费业务系统,直至重试次数等于最大重试次数或直至数据交换成功。
52.例如,由于网络波动等影响因素下导致数据交换失败时,通过记录日志可以了解到数据交换失败,为了提升数据交换的成功率,在数据交换失败后,数据交换调度中心可以将交换失败的目标数据通过重试机制进行失败后的重试,即数据交换调度中心循环将交换失败的目标数据重试推送给消费失败时对应的消费业务系统,直至重试次数达到最大重试次数(即重试次数等于最大重试次数)后不再重试,或者直至将该目标数据成功交换至所述消费业务系统处达到数据交换的成功。
53.接着本技术的上述实施例,为了避免在数据交换失败后,对交换失败的数据进行无限循环的重试造成的资源浪费,本技术一个方面提供的一种多网络环境下的数据交换方法还包括:
54.设置用于数据交换失败后进行数据交换重试的最大重试次数。在此,所述最大重试次数可以是几次,也可以是几十次等任意重试次数,以便控制数据交换失败后的重试次数,确保不仅可以满足数据交换后的重试,还可以避免重试无限重试下去的情况发生,从而提高对数据交换失败的数据进行成功交换的概率。
55.在申请的所有实施例中,通过数据交换调度中心将不同业务系统之间的数据交换进行统一的管理和维护,将数据发送和接收,异常重试,日志记录都独立开来,清晰明了;通过独立的数据交换调度中心减少了数据交换接口的编写,解决了数据交换关系维护困难的问题;统一的异常重试机制,可在网络波动等因素导致数据交换失败时,重新进行数据交换,提升数据交换的成功率;根据心跳机制检测出不同业务系统的响应时长,然后根据不同业务系统的响应时长动态分配队列的任务优先级,提升整体的数据交换效率;记录数据交换整个生命周期的日志,以便于后续的问题跟踪和定位。
56.根据本技术的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述多网络环境下的数据交换方法。
57.根据本技术的另一方面,还提供了一种多网络环境下的数据交换设备,其中,该设备包括:
58.一个或多个处理器;
59.计算机可读介质,用于存储一个或多个计算机可读指令,
60.当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述多网络环境下的数据交换方法。
61.在此,所述多网络环境下的数据交换设备中的各实施例的详细内容,具体可参见上述多网络环境下的数据交换方法的实施例的对应部分,在此,不再赘述。
62.综上所述,本技术通过数据交换调度中心可进行不同业务系统之间需进行的交换数据的数据指标的定义,可添加、修改、移除数据的交换关系,以实现多网络环境下的数据共享。数据交换调度中心有数据交换的执行队列,维护一个发送方和接收方的数据管道,发送方将数据添加到数据管道中,接收方则从数据管道中消费数据。并对不同的业务系统之间的数据交换进行详细的日志记录,包括交换成功和交换失败的接个记录,对于交换失败的记录,有重试机制,根据数据指标的定义,重试至最大重试次数或者直到数据交换成功。数据交换调度中心与每个业务系统都有心跳检测机制,对于心跳检测响应时长大于响应时长阈值或失败的业务系统,降低数据交换执行的优先级,提升数据交换的平均响应时长。
63.需要注意的是,本技术可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本技术的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本技术的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本技术的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
64.另外,本技术的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本技术的方法和/或技术方案。而调用本技术的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本技术的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本技术的多个实施例的方法和/或技
术方案。
65.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1