数据处理系统、数据处理控制装置及方法与流程

文档序号:13319067阅读:236来源:国知局

本说明书实施例涉及互联网技术领域,尤其涉及一种数据处理系统、数据处理控制装置及方法。



背景技术:

soa(service-orientedarchitecture,面向服务架构),是一个组件模型,它将应用程序的不同功能单元(称为服务),通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

例如,网络电商平台支付系统常采用soa架构,比如,收单模块接收到订单创建请求时,可能需要按照业务流程按需查询多个子系统(例如业务运营支撑系统、邮件或邮件撰写应用程序接口系统,等),这会导致创建流程需要进行数十次系统间查询和调用。



技术实现要素:

本说明书实施例提供及一种数据处理系统、数据处理控制装置及方法,可提高数据调用效率。

第一方面,本说明书实施例提供一种数据处理系统,所述系统与一个或多个外部数据服务器通信,所述系统包括后台业务子系统和缓存子系统,其中:所述后台业务子系统,用于接收业务处理请求,从所述业务处理请求获取到业务参数;将所述业务参数传递给所述缓存子系统,并向所述缓存子系统发起业务数据刷新通知;所述缓存子系统,用于在收到所述业务参数和所述刷新通知后,从第一外部数据服务器获取第一业务数据。

第二方面,本说明书实施例提供一种数据处理控制装置,用于对数据处理系统进行控制,所述数据处理系统与一个或多个外部数据服务器通信;所述装置包括业务入口模块、缓存管理模块和刷新模块,其中:业务入口模块,利用接收到的业务处理请求获取到业务参数,并根据所述业务参数向缓存管理模块发起业务数据刷新通知;缓存管理模块,用于从所述业务入口模块接收所述业务参数和所述刷新通知,并控制所述刷新模块第一外部数据服务器获取第一业务数据。

第三方面,本说明书实施例提供一种数据处理控制方法,用于对数据处理系统进行控制,所述数据处理系统与一个或多个外部数据服务器通信,其特征在于,所述方法包括:接收业务处理请求,并解析业务处理请求获取到业务参数;在获取到业务参数后,确定缓存刷新时机;在所述缓存刷新时机,控制向外部数据服务器发起数据刷新请求,获取业务数据并缓存。

第四方面,本说明书实施例提供一种数据处理控制方法,其特征在于,用于对后台业务系统进行控制,所述业务处理系统与缓存系统通信,其特征在于,所述方法包括:接收业务处理请求,并解析业务处理请求获取到业务参数;将所述业务参数转发给缓存系统,并向缓存系统发出业务数据刷新通知,使得所述缓存系统业务参数从外部数据服务器获取业务数据并缓存。

第五方面,本说明书实施例提供一种数据处理控制方法,用于对缓存系统进行控制,所述缓存系统与后台业务系统及外部数据服务器通信,其特征在于,所述方法包括:在所述后台业务系统接收到业务处理请求后,从所述后台业务系统接收业务参数以及业务数据刷新通知;在接收到所述刷新通知后,根据所述业务参数,从外部数据服务器获取业务数据。

本说明书实施例有益效果如下:

在业务开始处理时,后台业务子系统将业务参数发送给缓存子系统,且向缓存子系统发送刷新通知,从而使得缓存子系统可以通过异步方式获取外部数据。这样的好处是,在后台业务子系统通过刷新通知的方式通知缓存子系统进行数据缓存刷新,仅通过系统间接口调用即可实现,对系统冲击小,不需要改动太大代码即可实现异步调用;由于采用异步方式,系统间调用超时时间可以比之前放的稍长一些,提高业务成功率;系统间调用可以与业务代码同时执行,业务处理总时长变短,用户等待时间变短,提升用户体验。

附图说明

图1为本说明书实施例第一方面的数据处理系统结构示意图;

图2为本说明书实施例第二方面的数据处理控制装置结构示意图;

图3为本说明书实施例第三方面的数据处理控制方法流程图;

图4为本说明书实施例第四方面的数据处理控制方法流程图;

图5为本说明书实施例第五方面的数据处理控制方法流程图。

具体实施方式

为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。

第一方面,本说明书实施例提供一种数据处理系统。参考图1,该数据处理系统1包括后台业务子系统101和缓存子系统102,且数据处理系统1与一个或多个外部数据服务器通信,例如图1中示出的第一外部数据服务器21和第二外部数据服务器22,等等。

具体的,后台业务子系统101,用于接收业务处理请求,从业务处理请求获取到业务参数;将业务参数传递给缓存子系统102,并向缓存子系统102发起业务数据刷新通知;缓存子系统102,用于在收到业务参数和所刷新通知后,从第一外部数据服务器21获取第一业务数据。

在一个可选方式中,业务参数包括待获取的第一业务数据的参数以及存储第一业务数据的第一外部数据服务器21的标识和/地址;缓存子系统102,用于在收到业务参数和所述刷新通知后,解析业务参数,得到第一业务数据的参数以及存储第一业务数据的第一外部数据服务器21的标识和/地址;根据第一外部数据服务器21的标识和/地址,访问第一外部数据服务器21,从而获取第一业务数据的参数对应的第一业务数据。

在一个可选方式中,后台业务子系统101包括系统初始化模块1011、业务入口模块1012和业务处理模块1013,其中:系统初始化模块1011,在系统初始化时通知所述缓存子系统102进行缓存同步初始化操作;业务入口模块1012,利用接收到的业务处理请求获取到业务参数,并将业务参数传递给缓存子系统102,并向缓存子系统102发起业务数据刷新通知;业务处理模块1013,从缓存子系统102获取到第一业务数据,和/或,在缓存子系统102从第一外部数据服务器21获取第一业务数据之前、过程中或之后,从第二外部数据服务器22获取第二业务数据。

在一个可选方式中,缓存子系统102包括缓存管理模块1021、刷新模块1022和缓存池1023,其中:缓存管理模块1021,在系统初始化时进行缓存同步初始化操作,以及从业务入口模块1011接收业务数据刷新通知;刷新模块1022,在缓存管理模块1021接收到业务数据刷新通知后,向第一外部数据服务器21请求获取第一业务数据;缓存池1023,将刷新模块1022获取的第一业务数据进行缓存,并向业务处理模块1013提供第一业务数据。

在一个可选方式中,业务处理模块1013还用于,如果从缓存子系统102没有获取到第一业务数据,则从第一外部数据服务器21获取第一业务数据。

还请参考图1,为了使得业务处理子系统101及时向缓存子系统102通知刷新缓存的时间,可以理解,是在业务入口模块1012向缓存管理模块1021增加了通知刷新的接口,从而使得缓存子系统102在接收到刷新通知后,才启动数据刷新过程进行缓存刷新,其他时间则不做刷新操作。

从整个系统执行顺序考虑,图1中系统的运行过程如下。

1、系统初始化时,系统初始化模块1011通知缓存管理模块1021同步初始化。

2、在业务入口模块1012,此时已经获得本次业务处理请求的业务参数,则将所有需要的业务参数传递给缓存管理模块1021,并通知缓存管理模块1021进行缓存刷新操作。

例如,在创建订单请求达到收单处理模块(未示出)时,收单模块首先解析出买家账号,组织成类似如下数据:

业务入口模块1012使用该业务参数,调用缓存管理模块1021接口,通知缓存子系统102立即刷新该数据。缓存子系统102的刷新模块1022启动异步方式去cif(可以理解为一个外部数据服务器)获取用户数据,并把数据刷新到缓存池1023中。

3、接下来,业务处理模块1013从缓存池1023获取到缓存的数据,而且,在刷新模块1022在从外部数据服务器获取数据的之前、过程中或之后,不影响业务处理模块1013从其他外部数据服务器获取其他数据,也不影响业务处理模块1013进行数据处理的过程。另外,如果业务处理模块1013没有成功地从缓存池1023获取到缓存的数据,则业务处理模块1013自身可以向存储该数据的外部数据服务器请求获取数据。

以网络电商支付平台为背景,可对上述数据处理系统有直观的理解。如之前介绍的,支付平台多采用soa架构,采用这种架构具有诸多优点,比如可以更灵活快速地响应业务变化,实现新旧软件资产的整合和复用,降低系统整体成本。然而,soa架构中,各个系统间调用太费时。因此一般基于缓存来缓解:当系统运行时,经常需要从外部数据源获取数据,为了加快获取速度,可以预先把所需数据放入约定的内存空间。当系统读取数据时,先到该约定的内存空间查找,如果能查到符合条件的数据,则直接使用该数据,省去了实时获取外部数据的时间。

然而,如果经常刷新启动缓存操作,例如定时触发缓存操作,如每小时刷新一次,这种比较“频繁”的刷新方式会占用大量的系统开销。本说明书的实施例中,并不需要那么频繁对缓存操作进行刷新,比如某个数据今天可能都用不到,那么今天所有的24次刷新都是白白浪费了系统资源。因此,可以设置为平时该刷新时不刷新,直接忽略,只是在需要用到这个数据的时候,才通知它去主动刷新一次,这种方式可以形象的理解为“懒刷新”。

本说明书的实施例中,不采用通用的缓存刷新机制,而是用“懒刷新”的原理,在最初获取特异化数据时,尽早通知系统把指定数据读取到缓存中。这样有两个好处:可以指定刷特定的数据;可以把业务流程中的多次同步系统调动改变为异步调用,优化后台业务处理总时长。其中,“特异化数据”指的是“跟本次业务紧密相关”的数据。比如系统有两笔交易进行处理,这两笔交易的买家信息是不一样的,则买家信息可以作为“特异”的那部分数据;“指定数据”就是指这个“特异”的具体数据,比如本次业务“指定的买家”相关信息。

为了便于理解,下面具体说明。一般情况下,比如当一笔交易进行时,系统需要获知买家账户里面的钱是否足够本次交易,因戏需要去会员信息服务器上获取账户余额,这是个通过网络进行的系统调用,需要等待数据传回,比如2秒钟后返回结果,业务才能根据这个返回结果判断是否可以交易。这种方式可以理解为“同步”方式,意思是业务发起这个信息查询调用,然后必须等待调用结果返回,才能继续做其他操作。“异步”方式是相对而言的,当这个交易刚刚初始化,还不需要判断余额够不够之前,系统就会先通知缓存子系统,让它去获取该买家的信息。这样系统通知完缓存子系统后,不必等缓存执行的结果,而是可以继续进行其他正常业务,比如判断签约信息、商品信息等等。缓存子系统此时会在后台业务子系统通知下,自动去会员信息服务器上读取买家账户信息。这就是所说的“异步方式”。这样,当系统执行到余额校验部分时,缓存子系统也已经拿到了该账户信息,就可以直接使用了。

可见,本说明书实施例提供的数据处理系统中,在业务开始处理时,后台业务子系统将业务参数发送给缓存子系统,且向缓存子系统发送刷新通知,从而使得缓存子系统可以通过异步方式获取外部数据。这样的好处是,在后台业务子系统通过刷新通知的方式通知缓存子系统进行数据缓存刷新,仅通过系统间接口调用即可实现,对系统冲击小,不需要改动太大代码即可实现异步调用;由于采用异步方式,系统间调用超时时间可以比之前放的稍长一些,提高业务成功率;系统间调用可以与业务代码同时执行,业务处理总时长变短,用户等待时间变短,提升用户体验。

如之前对异步调用已经做了说明,此处再举例如下:系统提前通知缓存子系统去获取业务数据(例如余额信息),然后系统做正常的业务,缓存子系统去获取信息的同时,这两块可以并发做。当系统需要余额信息时,直接去缓存里面获取就行,不需要再等待,这样就实现了“异步调用”。

第二方面,本说明书实施例提供一种数据处理控制装置,该装置用于对数据处理系统进行控制,数据处理系统与一个或多个外部数据服务器通信;参见图2,该装置包括业务入口模块201、缓存管理模块202和刷新模块203,其中:业务入口模块201,利用接收到的业务处理请求获取到业务参数,并根据所述业务参数向缓存管理模块202发起业务数据刷新通知;缓存管理模块202,用于从所述业务入口模块201接收所述业务参数和所述刷新通知,并控制刷新模块203从第一外部数据服务器获取第一业务数据。

在一个可选方式中,业务参数包括待获取的第一业务数据的参数以及存储所述第一业务数据的所述第一外部数据服务器的标识和/地址,所述缓存管理模块202,用于在收到所述业务参数和所述刷新通知后,解析所述业务参数,得到第一业务数据的参数以及存储所述第一业务数据的所述第一外部数据服务器的标识和/地址;所述刷新模块203根据第一外部数据服务器的标识和/地址,访问所述第一外部数据服务器,从而获取所述第一业务数据的参数对应的第一业务数据。

在一个可选方式中,所述装置还包括系统初始化模块204、业务处理模块205和缓存池206;其中,所述系统初始化模块204,在系统初始化时通知所述缓存管理模块202进行缓存同步初始化操作;所述业务处理模块204,从所述缓存池206获取到所述第一业务数据,和/或,在所述刷新模块203从所述第一外部数据服务器获取第一业务数据之前、过程中或之后,从第二外部数据服务器获取第二业务数据;所述缓存池206,将所述刷新模块203获取的第一业务数据进行缓存,并向所述业务处理模块204提供所述第一业务数据。

在一个可选方式中,所述业务处理模块205还用于,如果从所述缓存池206没有获取到所述第一业务数据,则从所述第一外部数据服务器获取所述第一业务数据。

第三方面,本说明书实施例还提供一种数据处理控制方法,用于对数据处理系统进行控制,所述数据处理系统与一个或多个外部数据服务器通信,参见图3,所述方法包括:

s301:接收业务处理请求,并解析业务处理请求获取到业务参数;

s302:在获取到业务参数后,确定缓存刷新时机;

s303:在所述缓存刷新时机,控制向外部数据服务器发起数据刷新请求,获取业务数据并缓存。

在一个可选方式中,所述业务参数包括待获取的业务数据的参数以及存储所述业务数据的所述外部数据服务器的标识和/地址,所述控制向外部数据服务器发起数据刷新请求、获取业务数据包括:解析所述业务参数,得到业务数据的参数以及存储所述业务数据的所述外部数据服务器的标识和/地址;根据外部数据服务器的标识和/地址,访问所述外部数据服务器,从而获取所述业务数据的参数对应的业务数据。

第四方面,本说明书实施例还提供一种数据处理控制方法,用于对后台业务系统进行控制,所述业务处理系统与缓存系统通信,参见图4,所述方法包括:

s401:接收业务处理请求,并解析业务处理请求获取到业务参数;

s402:将所述业务参数转发给缓存系统,并向缓存系统发出业务数据刷新通知,使得所述缓存系统业务参数从外部数据服务器获取业务数据并缓存。

第五方面,本说明书实施例还提供一种数据处理控制方法,用于对缓存系统进行控制,所述缓存系统与后台业务系统及外部数据服务器通信,参见图5,所述方法包括:

s501:在所述后台业务系统接收到业务处理请求后,从所述后台业务系统接收业务参数以及业务数据刷新通知;

s502:在接收到所述刷新通知后,根据所述业务参数,从外部数据服务器获取业务数据。

在一个可选方式中,所述业务参数包括待获取的业务数据的参数以及存储所述业务数据的所述外部数据服务器的标识和/地址,所述控根据所述业务参数、从外部数据服务器获取业务数据包括:解析所述业务参数,得到业务数据的参数以及存储所述业务数据的所述外部数据服务器的标识和/地址;根据外部数据服务器的标识和/地址,访问所述外部数据服务器,从而获取所述业务数据的参数对应的业务数据。

需要说明的是,本说明书实施例提供的数据处理系统、业务处理控制装置和业务处理控制方法,都是基于相同的发明构思,因此,关于业务处理控制装置和业务处理控制方法的具体实施细节以及效果分析,可参考数据处理系统实施例的相关描述。

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本说明书的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本说明书范围的所有变更和修改。

显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

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