首页 / 专利库 / 软件 / 中间件 / 消息中间件 / 数据处理方法、装置、电子设备及存储介质

数据处理方法、装置、电子设备及存储介质

阅读:304发布:2020-05-12

专利汇可以提供数据处理方法、装置、电子设备及存储介质专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种 数据处理 方法、装置、 电子 设备及存储介质。该方法应用于消息 中间件 中,通过在识别到目标业务中断时,获取 服务器 中目标业务对应的 数据库 区域中存储的业务数据,业务数据包括目标业务中断后接收的业务输入数据和目标业务中断前的业务状态数据;将业务状态数据中中断时间段内的业务状态数据更新为与中断时刻相邻的前一时刻的业务状态数据,以及根据预设的目标业务的输入数据与输出数据的数据转换规则,对业务输入数据进行输出转换,获取中断时间段内与业务输入数据对应的业务输出数据。该方法缩短了数据一致性的恢复时长,且在有限 硬件 资源的情况下,保证了硬件资源的高可用性。,下面是数据处理方法、装置、电子设备及存储介质专利的具体信息内容。

1.一种数据处理方法,应用于消息中间件中,其特征在于,所述方法包括:
在识别到目标业务中断时,获取服务器中所述目标业务对应的数据库区域中存储的业务数据,所述业务数据包括所述目标业务中断后接收的业务输入数据和所述目标业务中断前的业务状态数据;
将所述业务状态数据中中断时间段内的业务状态数据更新为与所述中断时刻相邻的前一时刻的业务状态数据;
以及,根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据进行输出转换,获取所述中断时间段内与所述业务输入数据对应的业务输出数据。
2.如权利要求1所述的方法,其特征在于,所述业务数据是以键值的形式存储的;
将所述业务状态数据中中断时间段内的业务状态数据更新为与所述中断时刻相邻的前一时刻的业务状态数据,包括:
将所述中断时间段内的业务状态数据的键值更新为与所述中断时刻相邻的前一时刻的业务状态数据的键值;
根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据进行输出转换,获取所述中断时间段内与所述业务输入数据对应的业务输出数据,包括:
根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据的键值进行输出转换,获取所述中断时间段内与所述业务输入数据的键值对应的业务输出数据的键值,以获取所述中断时间段内的业务输出数据。
3.如权利要求1所述的方法,其特征在于,获取服务器中目标业务对应的数据库区域中存储的业务数据之前,所述方法还包括:
根据预设划分策略和执行的业务数量,对数据库进行划分,得到每个业务对应的数据库区域,所述数据库区域包括相应业务的业务数据。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
对所述数据库区域中的每个业务输出数据的键值设置更新标识;
获取与所述业务输入数据的键值对应的业务输出数据的键值之后,所述方法还包括:
对获取的业务输出数据的键值对应的更新标识进行更新。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
删除所述业务输出数据的键值对应的更新标识中未进行更新的更新标识对应的业务输出数据。
6.一种数据处理装置,应用于消息中间件中,其特征在于,所述装置包括:获取单元、更新单元和转换单元;
所述获取单元,用于在识别到目标业务中断时,获取服务器中所述目标业务对应的数据库区域中存储的业务数据,所述业务数据包括所述目标业务中断后接收的业务输入数据、所述目标业务中断前的业务输出数据和所述目标业务中断前的业务状态数据;
所述更新单元,用于将所述业务状态数据中中断时间段内的业务状态数据更新为与所述中断时刻相邻的前一时刻的业务状态数据;
所述转换单元,用于根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据进行输出转换,获取所述中断时间段内与所述业务输入数据对应的业务输出数据。
7.如权利要求6所述的装置,其特征在于,所述业务数据是以键值的形式存储的;
所述获取单元,具体用于将所述中断时间段内的业务状态数据的键值更新为与所述中断时刻相邻的前一时刻的业务状态数据的键值;
所述更新单元,具体用于根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据的键值进行输出转换,获取所述中断时间段内与所述业务输入数据的键值的对应的业务输出数据的键值,以获取所述中断时间段内的业务输出数据。
8.如权利要求6所述的装置,其特征在于,所述装置还包括划分单元;
所述划分单元,用于根据预设划分策略和执行的业务数量,对数据库进行划分,得到每个业务对应的数据库区域,所述数据库区域包括相应业务的业务数据。
9.如权利要求7所述的装置,其特征在于,所述装置还包括设置单元;
所述设置单元,用于对所述数据库区域中的每个业务输出数据的键值设置更新标识;
所述更新单元,还用于对获取的业务输出数据的键值对应更新标识进行更新。
10.如权利要求9所述的装置,其特征在于,所述装置还包括删除单元;
所述删除单元,用于删除所述业务输出数据的键值对应的更新标识中未进行更新的更新标识对应的业务输出数据。
11.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序
处理器,用于执行存储器上所存储的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。

说明书全文

数据处理方法、装置、电子设备及存储介质

技术领域

[0001] 本申请涉及计算机网络通讯领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。

背景技术

[0002] 面向消息的中间件(Message-Oriented Middleware,MOM)(或称“消息中间件”)是一个数据传输架构,消息中间件MOM使用通信信道可以在应用之间传送业务数据。在存在消息中间件MOM的分布式系统中,由于每个业务分成管理、控制、转发三个层,需要分别对应相应的进程实现相应操作,且拥有各自的业务数据,故消息中间件MOM内部对管理操作、控制操作、转发操作的实现均为单线程,因此消息中间件MOM根据业务分层,对业务分层的数据在数据库中进行隔离存储,实现业务分层之间的数据隔离。
[0003] 在消息中间件MOM中三个层对每个业务的处理过程可以抽象成一个IPOS模型,如图1所述,其包括业务输入数据库InputDB、业务进程Process、业务输出数据库OutputDB、业务状态数据库StateDB。
[0004] 在消息中间件MOM中的业务出现重启故障或热备切换,即业务出现中断需要重启的情况下,客户端正常对消息中间件MOM提供服务,即消息中间件MOM正常接收输入的业务数据,中断至成功重启期间消息中间件MOM不输出相应的输出数据,会出现数据丢失,故在消息中间件MOM中的业务出现重启故障或热备切换期间需要对输入的业务数据对应的输出数据进行一致性恢复,包括:
[0005] 步骤1)扫描StateDB中中断时刻的业务状态,并将中断时刻的业务状态更新为中断前一时刻的业务状态;
[0006] 步骤2)扫描OutputDB中的业务输出数据,对不同的业务输出数据的键值设置老化时间;
[0007] 步骤3)扫描InputDB中的业务输入数据,对不同的业务输入数据的键值进行转换,得到相应的业务输出数据的键值,并更新相应业务输出数据的键值;
[0008] 步骤4)扫描OutputDB,删除OUTDB中带老化时间的KEY。
[0009] 然而,由于每层内存在多个不同业务的业务数据,故上述数据处理方法需要对每层的InputDB和OutputDB共做4次的全量扫描,即对多个不同业务的业务数据全部进行扫描,其中,多个不同业务包括中断的业务和未中断的业务。
[0010] 可见,上述数据处理方法对业务数据的扫描包括较多的无效扫描,对数据一致性的恢复处理的耗时较长且在分布式系统的硬件资源,如CPU资源有限的环境下,无效扫描将提高了硬件资源和内存的消耗。发明内容
[0011] 本申请实施例提供一种数据处理方法、装置、电子设备及存储介质,解决了现有技术存在的上述问题,缩短了数据一致性的恢复时长,且在有限硬件资源的情况下,降低了硬件资源和内存的消耗。
[0012] 第一方面,提供了一种数据处理方法,该方法可以包括:
[0013] 在识别到目标业务中断时,获取服务器中目标业务对应的数据库区域中存储的业务数据,所述业务数据包括所述目标业务中断后接收的业务输入数据和所述目标业务中断前的业务状态数据;
[0014] 将所述业务状态数据中中断时间段内的业务状态数据更新为与所述中断时刻相邻的前一时刻的业务状态数据;
[0015] 以及,根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据进行输出转换,获取所述中断时间段内与所述业务输入数据对应的业务输出数据。
[0016] 在一个可选的实现中,所述业务数据是以键值的形式存储的;
[0017] 将所述业务状态数据中中断时间段内的业务状态数据更新为与所述中断时刻相邻的前一时刻的业务状态数据,包括:
[0018] 将所述中断时间段内的业务状态数据的键值更新为与所述中断时刻相邻的前一时刻的业务状态数据的键值;
[0019] 根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据进行输出转换,获取所述中断时间段内与所述业务输入数据对应的业务输出数据,包括:
[0020] 根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据的键值进行输出转换,获取所述中断时间段内与所述业务输入数据的键值对应的业务输出数据的键值,以获取所述中断时间段内的业务输出数据。
[0021] 在一个可选的实现中,获取服务器中目标业务对应的数据库区域中存储的业务数据之前,所述方法还包括:
[0022] 根据预设划分策略和执行的业务数量,对数据库进行划分,得到每个业务对应的数据库区域,所述数据库区域包括相应业务的业务数据。
[0023] 在一个可选的实现中,所述方法还包括:
[0024] 对所述数据库区域中的每个业务输出数据的键值设置更新标识;
[0025] 获取与所述业务输入数据的键值对应的业务输出数据的键值之后,所述方法还包括:
[0026] 对获取的业务输出数据的键值对应的更新标识进行更新。
[0027] 在一个可选的实现中,所述方法还包括:
[0028] 删除所述业务输出数据的键值对应的更新标识中未进行更新的更新标识对应的业务输出数据。
[0029] 第二方面,提供了一种数据处理装置,该装置可以包括:获取单元、更新单元和转换单元;
[0030] 所述获取单元,用于在识别到目标业务中断时,获取服务器中目标业务对应的数据库区域中存储的业务数据,所述业务数据包括所述目标业务中断后接收的业务输入数据、所述目标业务中断前的业务输出数据和所述目标业务中断前的业务状态数据;
[0031] 所述更新单元,用于将所述业务状态数据中中断时间段内的业务状态数据更新为与所述中断时刻相邻的前一时刻的业务状态数据;
[0032] 所述转换单元,用于根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据进行输出转换,获取所述中断时间段内与所述业务输入数据对应的业务输出数据。
[0033] 在一个可选的实现中,所述业务数据是以键值的形式存储的;
[0034] 所述获取单元,具体用于将所述中断时间段内的业务状态数据的键值更新为与所述中断时刻相邻的前一时刻的业务状态数据的键值;
[0035] 所述更新单元,具体用于根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据的第一键值进行输出转换,获取所述中断时间段内与所述业务输入数据的键值的对应的业务输出数据的键值,以获取所述中断时间段内的业务输出数据。
[0036] 在一个可选的实现中,所述装置还包括划分单元;
[0037] 所述划分单元,用于根据预设划分策略和执行的业务数量,对数据库进行划分,得到每个业务对应的数据库区域,所述数据库区域包括相应业务的业务数据。
[0038] 在一个可选的实现中,所述装置还包括设置单元;
[0039] 所述设置单元,用于对所述数据库区域中的每个业务输出数据的第二键值设置更新标识;
[0040] 所述更新单元,还用于获取的业务输出数据的键值对应更新标识进行更新。
[0041] 在一个可选的实现中,所述装置还包括删除单元;
[0042] 所述删除单元,用于删除所述业务输出数据的键值对应的更新标识中未进行更新的更新标识对应的业务输出数据。
[0043] 第三方面,提供了一种电子设备,该电子设备包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0044] 存储器,用于存放计算机程序
[0045] 处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤。
[0046] 第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤。
[0047] 本发明实施例提供的应用于消息中间件的数据处理方法在识别到目标业务中断时,获取服务器中目标业务对应的数据库区域中存储的业务数据,业务数据包括目标业务中断后接收的业务输入数据和目标业务中断前的业务状态数据;将业务状态数据中中断时间段内的业务状态数据更新为与中断时刻相邻的前一时刻的业务状态数据,以及,根据预设的目标业务的输入数据与输出数据的数据转换规则,对业务输入数据进行输出转换,获取中断时间段内与业务输入数据对应的业务输出数据。与现有技术相比,本申请的处理方法在目标业务出现中断故障,且消息中间件MOM正常接收发送客户端输入的业务数据时,可以仅对每层中目标业务的业务数据进行扫描,并进行数据恢复,避免了对非目标业务的业务数据的无效扫描,能够快速恢复在中断和重启期间输入的业务数据对应的目标业务的输出数据,缩短了数据一致性的恢复时长,且在有限硬件资源的情况下,保证了硬件资源的高可用性。附图说明
[0048] 图1为提供的一种消息中间件MOM中业务处理的IPOS模型的结构示意图;
[0049] 图2为本发明实施例提供的应用数据处理方法的分布式系统的结构示意图;
[0050] 图3为本发明实施例提供的一种数据处理方法的流程示意图;
[0051] 图4A为本发明实施例提供的一种数据库存储区域的构成示意图;
[0052] 图4B为本发明实施例提供的一种OutputDB的结构示意图;
[0053] 图5为本发明实施例提供的一种数据处理装置的结构示意图;
[0054] 图6为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

[0055] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0056] 本发明实施例提供的数据处理方法可以应用在图2所示的分布式系统中,该系统可以包括发送客户端、接收客户端和一个消息服务端,消息服务端可以是消息中间件MOM。发送客户端中的业务应用模(Application,APP)通过消息中间件与相应的接收客户端中的业务应用模块进行通信,执行相应业务。
[0057] 消息中间件MOM将每个业务分成管理、控制、转发三个层,根据业务分层,对每个业务按照管理、控制、转发三方面的业务数据在数据库中进行分层隔离存储,管理层的数据库可以包括应用数据库APP_DB;控制层的数据库可以包括统一数据平面状态数据库UDP_DB、芯片模型状态数据库ASIC_DB;转发的数据库可以包括统一数据平面转发数据库UDP_FWD_DB、芯片模型转发数据库ASIC_FWD_DB。其中,应用数据库用于存储控制层与数据层通信的业务数据;统一数据平面状态数据库用于存储数据层与交换机/路由器的业务数据;统一数据平面转发数据库用于存储数据层与交换机/路由器的转发表的业务数据;芯片模型状态数据库用于存储交换芯片的业务数据;芯片模型转发数据库用于存储交换芯片转发表的业务数据。
[0058] 消息中间件MOM中的数据库为内存型的Redis数据库。Redis数据库是一个键值(Key-Value)数据库,对于每个业务数据是以键值(Key-Value)进行存储。每个业务数据的Key是唯一的,Key对应的Value也是唯一的。Key的类型可以为字符串类型,Value类型可以是字符串(String)类型、字符串列表(Lists)类型、字符串集合(Sets)类型、有序字符串集合(Sorted sets)类型、哈希(Hashs)类型。
[0059] 本发明实施例提供的数据处理方法通过将不同业务的业务数据存储在不同的存储区域中,实现不同业务的数据隔离存储。在目标业务出现中断故障,且消息中间件MOM正常接收发送客户端输入的业务数据时,消息中间件MOM可以仅对每层中目标业务的存储区域中的每层的InputDB和OutputDB进行扫描和处理,与现有技术相比,避免了对非目标业务的业务数据的无效扫描,能够快速恢复在中断和重启期间输入的业务数据对应的目标业务的输出数据,缩短了数据一致性的恢复时长,且在有限硬件资源的情况下,保证了硬件资源的高可用性。
[0060] 以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0061] 图3为本发明实施例提供的一种数据处理方法的流程示意图。如图3所示,该方法应用在消息中间件中,该方法可以包括:
[0062] 步骤310、在识别到目标业务中断时,获取服务器中目标业务对应的数据库区域中存储的业务数据。
[0063] 在执行该步骤之前,消息中间件可以根据键负载均衡器(Key Load-Balance,KLB)设置的预设划分策略,如自定义的XML分配策略,不同的HASH策略,不同的正则分配策略等,以及执行的业务数量,且在通过元数据策略分配器(Meta Date Strategy Allocator,MDSA)的控制,对数据库进行划分,得到每个业务的业务标识对应的数据库存储区域(或称“数据库区域”)(Storage DataBase Area,SDBA),得到每个业务标识与相应数据库存储区域的对应关系,如相应的对应关系表,并将每个业务的业务数据存储在相应的数据库区域中。
[0064] 每个业务数据是以键值进行存储,如业务1的业务数据包括业务数据A和业务数据B,业务数据A可以表示为Key1-Value1和业务数据B可以表示为Key2-Value2;业务2的业务数据包括业务数据C,业务数据C可以表示为Key3-Value3。业务1的业务数据被存储在SDBA0中(图中实线表示业务1的业务数据的存储方向),业务2的业务数据被存储在SDBA1中(图中虚线表示业务2的业务数据的存储方向),也就是说,每个SDBA中存储相应业务的业务数据,如图4A所示。
[0065] 其中,业务数据可以包括业务输入数据、业务输出数据和业务状态数据,相应的数据库可以包括业务输入数据库InputDB、业务输出数据库OutputDB和业务状态数据库StateDB。InputDB可以记录目标业务中断后接收的业务输入数据,OutputDB可以记录目标业务中断前的业务输出数据,StateDB可以记录目标业务中断前的业务状态数据,业务状态数据是配置的使目标业务正常运行的状态数据,如配置的目标业务中目标网口的开关状态、速率等数据。每种类型的数据库,如InputDB中每个数据库区域可以包括一种业务的业务输入数据。
[0066] 在识别到目标业务中断时,消息中间件可以查找业务标识与数据库区域的对应关系表,获取与目标业务的业务标识对应的数据库区域,以及该数据库区域存储的业务数据。
[0067] 步骤320、将业务状态数据中中断时间段内的业务状态更新为与中断时刻相邻的前一时刻的业务状态数据。
[0068] 为了实现数据一致性的恢复,消息中间件需要先确定中断时刻的业务状态,[0069] 由于业务状态数据为配置的使目标业务正常运行的状态数据,在目标业务中断时,该状态数据不会发生变化,且目标业务中断前StateDB中记录的业务状态数据为目标业务在中断时刻前目标业务实时执行的业务状态数据。故消息中间件查找中断时刻相邻的前一时刻的业务状态数据,将业务状态数据中中断时间段内的业务状态数据更新为与中断时刻相邻的前一时刻的业务状态数据,以恢复数据库区域中中断时间段的业务状态数据。
[0070] 步骤330、根据预设的目标业务的输入数据与输出数据的数据转换规则,对业务输入数据进行输出转换,得到中断时间段内与业务输入数据对应的业务输出数据。
[0071] 不同业务的输入数据经过相应的业务处理可以得到相应的输出数据,输入数据与输出数据的数据转换规则是指业务输入数据的键值与相应业务输出数据的键值的映射关系。
[0072] 消息中间件根据业务输入数据的键值与相应业务输出数据的键值的映射关系,对目标业务的业务输入数据的键值进行输出转换,获取与业务输入数据的键值对应的业务输出数据的键值,以获取业务输出数据。
[0073] 可选地,针对目标业务中断后接收的业务输入数据对应的业务输出数据进行恢复过程中,为了标识更新的业务输出数据,消息中间件可以对目标业务中断前OutputDB中记录的业务输出数据中的每个业务输出数据的键值设置更新标识,并对获取的业务输出数据的键值的更新标识进行更新。
[0074] 其中,该更新标识可以是表示相应业务输出数据的更新次数或表示相应业务输出数据的更新顺序的更新序号。
[0075] 在一个例子中,消息中间件可以设置键值序列号SNT表,SNT表中记录了目标业务中断前OutputDB中每个业务输出数据的键值的更新标识Sn(或为“Sn+0”),以及目标业务中断前OutputDB的更新标识Global_Sn(或为“Global_Sn+0”),如图4B所示,目标业务中断前OutputDB的更新标识为Global_Sn,OutputDB包括4个业务的数据库区域,如SDBA0至SDBA3,每个数据库区域包括一个业务的至少一个业务数据,每个业务数据的键值Key-Value均包括一个更新标识Sn,以SDBA0为例,SDBA0中的业务数据可以包括Key1-Value1、Key2-Value2、Key3-Value3等,其中,Key1-Value1存在对应的更新标识Sn、Key2-Value2存在对应的更新标识Sn、Key3-Value3存在对应的更新标识Sn。
[0076] 若更新标识为表示相应业务输出数据的更新次数,则对相应业务输出数据的键值更新一次,更新标识将更新为Sn+1;对相应业务输出数据的键值更新两次,更新标识将更新为Sn+2,以此类推。
[0077] 若更新标识为表示相应业务输出数据的更新顺序的更新序号,且对业务输出数据的键值的更新顺序为5,则对目标业务输出数据的键值更新后,更新标识将按照更新顺序为Sn+5。
[0078] 其中,在本次对业务输出数据的键值的更新过程中,OutputDB的更新标识也需要根据更新的次数进行更新,在对OutputDB中业务输出数据的键值进行一次更新后,OutputDB的更新标识由Global_Sn更新为Global_Sn+1。
[0079] 进一步的,消息中间件将获取的业务输出数据的键值更新存储的业务输出数据中目标业务中断前的业务输出数据,即将获取的业务输出数据写入OutputDB,也就是说,消息中间件将获取的业务输出数据的键值对目标业务中断前OutputDB中记录的业务输出数据进行覆盖更新。
[0080] 可选地,消息中间件可以删除OutputDB中目标业务的业务输出数据的键值对应的更新标识中未进行更新的更新标识对应的业务输出数据。
[0081] 具体的,消息中间件可以通过检测业务输出数据的键值对应的更新标识与OutputDB的更新标识的更新次数,将更新次数小于OutputDB更新标识的业务输出数据的键值对应的更新标识确定为未更新的更新标识,并删除未更新的更新标识对应的业务输出数据。
[0082] 本发明实施例提供的应用于消息中间件的数据处理方法在识别到目标业务中断时,获取服务器中目标业务对应的数据库区域中存储的业务数据,业务数据包括目标业务中断后接收的业务输入数据和目标业务中断前的业务状态数据;将业务状态数据中中断时间段内的业务状态数据更新为与中断时刻相邻的前一时刻的业务状态数据,以及,根据预设的目标业务的输入数据与输出数据的数据转换规则,对业务输入数据进行输出转换,获取中断时间段内与业务输入数据对应的业务输出数据。与现有技术相比,本申请的处理方法在目标业务出现中断故障,且消息中间件MOM正常接收发送客户端输入的业务数据时,可以仅对每层中目标业务的业务数据进行扫描,并进行数据恢复,避免了对非目标业务的业务数据的无效扫描,能够快速恢复在中断和重启期间输入的业务数据对应的目标业务的输出数据,缩短了数据一致性的恢复时长,且在有限硬件资源的情况下,保证了硬件资源的高可用性。
[0083] 与上述方法对应的,本发明实施例还提供一种数据处理装置,如图5所示,该数据处理装置包括:获取单元510、更新单元520和转换单元530;
[0084] 获取单元510,用于在识别到目标业务中断时,获取服务器中目标业务对应的数据库区域中存储的业务数据,所述业务数据包括所述目标业务中断后接收的业务输入数据、所述目标业务中断前的业务输出数据和所述目标业务中断前的业务状态数据;
[0085] 更新单元520,用于将所述业务状态数据中中断时间段内的业务状态数据更新为与所述中断时刻相邻的前一时刻的业务状态数据;
[0086] 转换单元530,用于根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据进行输出转换,获取所述中断时间段内与所述业务输入数据对应的业务输出数据。
[0087] 在一个可选的实现中,所述业务数据是以键值的形式存储的;
[0088] 获取单元510,具体用于将所述中断时间段内的业务状态数据的键值更新为与所述中断时刻相邻的前一时刻的业务状态数据的键值;
[0089] 更新单元520,具体用于根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据的第一键值进行输出转换,获取所述中断时间段内与所述业务输入数据的键值的对应的业务输出数据的键值,以获取所述中断时间段内的业务输出数据。
[0090] 在一个可选的实现中,所述装置还包括划分单元540;
[0091] 划分单元540,用于根据预设划分策略和执行的业务数量,对数据库进行划分,得到每个业务对应的数据库区域,所述数据库区域包括相应业务的业务数据。
[0092] 在一个可选的实现中,所述装置还包括设置单元550;
[0093] 设置单元550,用于对所述数据库区域中的每个业务输出数据的第二键值设置更新标识;
[0094] 更新单元520,还用于获取的业务输出数据的键值对应更新标识进行更新。
[0095] 在一个可选的实现中,所述装置还包括删除单元560;
[0096] 删除单元560,用于删除所述业务输出数据的键值对应的更新标识中未进行更新的更新标识对应的业务输出数据。
[0097] 在一个可选的实现中,所述更新标识为表示相应业务输出数据的更新次数或表示相应业务输出数据的更新顺序的更新序号。
[0098] 本发明上述实施例提供的数据处理装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的数据处理装置中的各个单元的具体工作过程和有益效果,在此不复赘述。
[0099] 本发明实施例还提供了一种电子设备,该电子设备可以是交换机、路由器的等设备,如图6所示,包括处理器610、通信接口620、存储器630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。
[0100] 存储器630,用于存放计算机程序;
[0101] 处理器610,用于执行存储器630上所存放的程序时,实现如下步骤:
[0102] 在识别到目标业务中断时,获取服务器中目标业务对应的数据库区域中存储的业务数据,所述业务数据包括所述目标业务中断后接收的业务输入数据和所述目标业务中断前的业务状态数据;
[0103] 将所述业务状态数据中中断时间段内的业务状态数据更新为与所述中断时刻相邻的前一时刻的业务状态数据;
[0104] 以及,根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据进行输出转换,获取所述中断时间段内与所述业务输入数据对应的业务输出数据。
[0105] 在一个可选的实现中,所述业务数据是以键值的形式存储的;
[0106] 将所述业务状态数据中中断时间段内的业务状态数据更新为与所述中断时刻相邻的前一时刻的业务状态数据,包括:
[0107] 将所述中断时间段内的业务状态数据的键值更新为与所述中断时刻相邻的前一时刻的业务状态数据的键值;
[0108] 根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据进行输出转换,获取所述中断时间段内与所述业务输入数据对应的业务输出数据,包括:
[0109] 根据预设的所述目标业务的输入数据与输出数据的数据转换规则,对所述业务输入数据的键值进行输出转换,获取所述中断时间段内与所述业务输入数据的键值对应的业务输出数据的键值,以获取所述中断时间段内的业务输出数据。
[0110] 在一个可选的实现中,获取服务器中目标业务对应的数据库区域中存储的业务数据之前,所述方法还包括:
[0111] 根据预设划分策略和执行的业务数量,对数据库进行划分,得到每个业务对应的数据库区域,所述数据库区域包括相应业务的业务数据。
[0112] 在一个可选的实现中,所述方法还包括:
[0113] 对所述数据库区域中的每个业务输出数据的键值设置更新标识;
[0114] 获取与所述业务输入数据的键值对应的业务输出数据的键值之后,所述方法还包括:
[0115] 对获取的业务输出数据的键值对应的更新标识进行更新。
[0116] 在一个可选的实现中,所述方法还包括:
[0117] 删除所述业务输出数据的键值对应的更新标识中未进行更新的更新标识对应的业务输出数据。
[0118] 上述提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。该通信总线可以分为地址总线数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0119] 通信接口用于上述电子设备与其他设备之间的通信。
[0120] 存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0121] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0122] 由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图3所示的实施例中的各步骤来实现,因此,本发明实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。
[0123] 在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据处理方法。
[0124] 在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据处理方法。
[0125] 本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0126] 本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0127] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0128] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0129] 尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
[0130] 显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈