一种数据对象的处理方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据对象的处理方法及装置。
背景技术
随着信息技术的发展,用户可通过在线系统(如:网站)获得丰富的业务服务。实际应用中,为了便于用户了解自身所使用的业务服务的详细情况,在线系统通常还会提供一种业务数据的查询服务。
目前,在线系统所提供的业务服务,是由在线系统中不同的业务系统实现的。不同的业务系统中都有各自定义的业务数据对象,用来表示不同的具体业务数据,例如:在支付业务系统中,用户使用支付业务进行了一次支付操作,支付业务系统自身的业务数据对象中所包含的支付额度、目标商品、支付时间等属性信息,就可以用来表示本次支付操作对应的业务数据。而归属于不同业务系统中的业务数据对象之间存在一定差异。为了能够将不同的业务数据对象以统一的形式展示给用户,在线系统会将归属于不同业务系统中的业务数据对象转换为统一的标准业务数据对象,供用户查询。
现有技术中,在线系统针对其中所有的业务系统,通过预先设定的通用转换方法,将各业务系统中的业务数据对象转换成标准业务数据对象,从而不同的业务数据对象就会以统一的形式进行展现,供用户查阅。
但是,上述的通用转换方法通常是固定的,在实际应用中,如果某些用户提出不同的查询需求、或者在线系统中新增了业务服务,在这些情况下,就需要对通用转换方法进行改变调整,以便兼容上述的实际应用需求,然而对通用转换方法的改变调整,将耗费较长的时间,使得相应的业务查询功能受到影响。
发明内容
本申请实施例提供一种数据对象转换方法及装置,用以解决现有技术中仅通过通用转换方法导致对数据对象转换的灵活性较差的问题。
本申请实施例提供的一种数据对象转换方法,包括:
获取额外转换配置信息;
确定所述额外转换配置信息所对应的数据对象的类别;
加载所述额外转换配置信息,生成该类别的数据对象的额外转换方法,以便对该类别下的特殊数据对象进行转换处理,生成相应的目标数据对象。
本申请实施例还提供的一种数据对象转换方法,包括:
获取指定数据对象;
检测所述指定数据对象对应的特征信息;其中,所述特征信息用以表征所述指定数据对象的转换要求;
当检测到所述特征信息时,将所述指定数据对象确定为特殊数据对象;
根据确定出的特征信息,使用与所述特殊信息相匹配的额外转换方法,对所述特殊数据对象进行转换处理,以将所述特殊数据对象转换为目标数据对象。
本申请实施例提供的一种数据对象转换装置,包括:
获取模块,用于获取额外转换配置信息;
确定模块,用于确定所述额外转换配置信息所对应的数据对象的类别;
加载模块,用于加载所述额外转换配置信息,生成该类别的数据对象的额外转换方法,以便对该类别下的特殊数据对象进行转换处理,生成相应的目标数据对象。
本申请实施例还提供的一种数据对象转换装置,包括:
获取模块,用于获取指定数据对象;
检测模块,用于检测所述指定数据对象对应的特征信息;其中,所述特征信息用以表征所述指定数据对象的转换要求;
确定模块,用于当检测到所述特征信息时,将所述指定数据对象确定为特殊数据对象;
转换处理模块,用于根据确定出的特征信息,使用与所述特殊信息相匹配的额外转换方法,对所述特殊数据对象进行转换处理,以将所述特殊数据对象转换为目标数据对象。
本申请实施例提供一种数据对象转换方法及装置,通过该方法,若在实际应用中,出现了对某些数据对象的转换需求,而针对这些数据对象的转换需求又不能通过通用转换方法进行转换处理,那么,在这种情况下,可以针对不同的转换需求,生成相应的额外转换配置信息,并通过转换处理设备加载额外转换配置信息,形成一种新增的额外转换方法,从而,使得转换处理设备根据新增的额外转换方法,将数据对象转换成相应的标准数据对象。通过这样的方式,可以灵活地根据实际需要增加不同的额外转换方法,而不用对在线系统中的通用转换方法进行整体开发修改,有效地增加了对数据对象进行转换的灵活性和效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的数据对象转换过程;
图2a和2b为本申请实施例提供的在实际应用中加载脚本生成转换方法的具体过程示意图;
图3为本申请实施例提供的另一种数据对象转换过程;
图4为本申请实施例提供的数据对象转换装置结构示意图;
图5为本申请实施例提供的数据对象转换装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如前所述,在线系统中,不同业务系统的业务数据对象通常是不同的,例如:对于具有支付业务的商品网站而言(该商品网站可以看作为一种在线系统),该商品网站中所包括的支付系统和退款系统,可看作两个不同的业务系统。假设,某用户在该商品网站中既使用了支付系统中的支付业务,又使用了退款系统中的退款业务,那么,在两个业务系统中,就会分别通过各自的业务数据对象,记录并生成该用户使用相应业务时的业务数据。具体地,对于支付系统而言,其支付业务的业务数据对象中包含“购买的商品”、“支付金额”等;对于退款系统,其退款业务的业务数据对象中包含“退款事由”、“退款金额”等。
显然,在本例中,支付系统和退款系统中的业务数据对象是不同的。所以在线系统会将不同业务系统中的业务数据对象,根据设定的通用转换方法,转换成统一的标准数据对象。仍结合上例,用户可通过该商品网站中的对账系统(对账系统可看作一种业务查询系统,该对账系统中的数据对象就是标准业务数据对象),查询该用户在该商品网站中的业务数据,对账系统的标准业务数据对象中,可包含该账务、用户的资金变动、业务类型及状态等,也就是说,支付业务数据对象和退款业务数据对象,经过了相应的转换方法,均转换成了对账系统中的标准业务数据对象。
但在实际应用中,用户可能会提出不同的查询需求,如:用户想要将使用某银行卡的所有交易业务单独进行展示,但在原有的通用转换方法下,并不能实现该用户的查询需求。或者,商品网站中的某业务系统新增了相应的业务,但是该业务并未在原有的通用对象转换方法中,也就不能实现对新增业务的转换处理。
在这种情况下,可对原有的通用转换方法进行改动,以实现对上述场景的转换处理,然而,如果针对原有的通用转换方法进行改动,需要针对整体的通用转换方法进行线下的重新开发,并经过测试检验后再重新发布,整个开发周期至少需要2周。这样的方式耗时较长,为此,本申请实施例中提供一种数据对象转换方法,如图1所示。
图1中,本申请实施例中的数据对象转换方法具体包括以下步骤:
S101,获取额外转换配置信息。
所述的额外转换配置信息,是根据实际应用的需要而生成的额外的转换方法的配置信息,在本申请实施例中,所述的额外转换配置信息可保存在配置文件、配置脚本中,这里并不构成对本申请的限定。
S102,确定所述额外转换配置信息所对应的数据对象的类别。
实际应用中,不同业务系统中的数据对象,其类别各不相同,即使在同一业务系统中,数据对象的类别也不相同。额外转换配置信息对应额外的转换处理方法,而额外的转换处理方法通常只针对相应类别的数据对象,故在本申请实施例中,就将确定额外转换配置信息所针对的这些数据对象的类别。
S103,加载所述额外转换配置信息,生成该类别的数据对象的额外转换方法,以便对该类别下的特殊数据对象进行转换处理,生成相应的目标数据对象。
其中,所述特殊数据对象包括不能通过通用转换方法进行转换处理的数据对象。所述目标数据对象属于标准数据对象,即可在相应的查询系统中进行直接展示。
在本申请实施例中,上述步骤可由具有数据转换功能的转换处理设备(如:服务器)来完成。当然,在实际应用中,在线系统中每天都会生成大量的业务数据,相应的,有大量的数据对象的需要进行转换处理,而要实现对大量的数据对象的转换,单一一台转换处理设备难以承受如此大量的工作负荷,所以,作为一种可选方式,通常由多台转换处理设备,形成数据转换系统或服务器集群,共同完成对在线系统中的数据对象的转换处理。这里并不构成对本申请的限定。
通过上述步骤,若在实际应用中,出现了对某些数据对象的转换需求,而针对这些数据对象的转换需求又不能通过通用转换方法进行转换处理,那么,在这种情况下,可以针对不同的转换需求,生成相应的额外转换配置信息,并通过转换处理设备加载额外转换配置信息,形成一种新增的额外转换方法,从而,使得转换处理设备根据新增的额外转换方法,将数据对象转换成相应的标准数据对象。通过这样的方式,可以灵活地根据实际需要增加不同的额外转换方法,而不用对在线系统中的通用转换方法进行整体开发修改,有效地增加了对数据对象进行转换的灵活性和效率。
为了清楚地阐述上述过程,现以实际应用实例进行说明。在实际应用中,转换处理设备对额外转换配置信息的实际加载过程如图2a和2b所示。
在图2a中,是在线系统中的转换处理设备启动后的初始化过程。假设在该过程中,还未新增任何额外转换方法,该过程具体包括:
S201,转换处理设备从数据库中读取所有脚本文件。
需要说明的是,存储在数据库中的脚本文件对应不同的转换方法,也就是在线系统中的通用转换方法。
S202,转换处理设备将读取的所有脚本文件加载并运行在内存中,形成通用转换方法。
通过上述的加载过程,转换处理设备就可以根据加载而形成的通用转换方法,对不同业务系统中的业务数据对象进行转换处理。
若在实际应用中,出现了对某些数据对象的转换需求,而针对这些数据对象的转换需求又不能通过通用转换方法进行转换处理,那么,就可以单独增加相应的额外转换配置信息(在本实例中,额外转换配置信息以额外转换配置脚本的方式实现)。具体过程如图2b所示,包括如下步骤:
S201’,脚本更新服务将新增的额外转换配置脚本写入数据库。
S202’,脚本更新服务通知转换处理设备。
S203’,转换处理设备从数据库中读取新增的额外转换配置脚本。
S204’,转换处理设备将读取到的额外转换配置脚本进行加载并运行在内存中,形成额外转换方法。
通过上述步骤,转换处理设备便新增了相应的额外转换方法,用以对某些特殊数据对象进行处理。
需要说明的是,对于本申请实施例中的上述额外转换方法而言,包括:在所述通用转换方法之前执行的前置转换方法,和/或在所述通用转换方法之后执行的后置转换方法。具体而言,前置转换方法和后置装换方法,可以通过对相应的脚本进行加载后实现,也即,这里相应的脚本可以分别是:前置脚本和后置脚本,脚本中含有相应的执行顺序信息,用来表明该脚本中的方式的执行顺序。
以上是本申请实施例中,在线系统对通用转换方法和额外转换方法的加载配置过程,经过上述如图1所示的方法S101~S103,在配置了相应的额外转换方法的基础上,本申请中还提供一种数据对象转换方法,具体而言,如图3所示。
图3为本申请实施例提供的数据对象转换过程,该过程具体包括以下步骤:
S301,获取指定数据对象。
考虑到本申请中存在前置转换方法和后置转换方法,两种转换方法所对应的数据对象可能不同,既有可能是原始数据对象,也有可能是标准数据对象。
S302,检测所述指定数据对象对应的特征信息。
其中,所述特征信息用以表征所述指定数据对象的转换要求。
如前所述,由于用户自身可能对所要查询的数据对象有不同的要求,或者在线系统中的业务系统内含有新增业务,在上述这些情况下,该在线系统内的业务查询系统,就会生成相应的数据对象的转换要求,以对原有的数据对象转换为新的形式,或者,对新增的数据对象进行转换。因此,上述步骤中的特征信息,就是对数据对象不同的需求而产生的。
需要说明的是,在本申请实施例中,上述的特征信息的形式,将根据不同的实际应用需求而发生变化。举例来说:如果某用户向在线系统提出其自定义的数据对象显示方式,显然,在这种情况下,就不能使用通用转换方法来进行转换处理。此时,该用户的用户信息(如:用户ID,表明某用户提出了相应的转换需求)就可以作为一种特征信息。
又例如:在线系统中新增了某些业务,那么,新增的业务的标识信息,就可以作为一种特征信息,这里并不过程对本申请的限定。
S303,当检测到所述特征信息时,将所述指定数据对象确定为特殊数据对象。
所述的特殊数据对象,就是不能通过通用转换方法进行转换处理的数据对象(需要使用额外转换方法)。
S304,根据确定出的特征信息,使用与所述特殊信息相匹配的额外转换方法,对所述特殊数据对象进行转换处理,以将所述特殊数据对象转换为标准数据对象。
当转换处理设备确定出了特殊数据对象后,就会采用相应的转换方式,将该数据对象转换为目标数据对象。正是由于仅通过通用转换方法,不能实现对某些数据对象的转换处理过程,故在本申请实施例中,采用预设转换配置信息的方式,完成对原始数据对象的转换处理过程。
通过上述步骤,在转换处理设备对指定数据对象进行转换处理的过程中,如果存在特殊数据对象不能根据已有的通用转换方法进行转换处理,那么,可以针对上述特殊数据对象,新增相应的额外转换方法,从而,使得转换处理设备根据额外转换方法,将特殊数据对象转换为目标数据对象。通过这样的方式,可以灵活地根据实际需要增加不同的额外转换方法,而不用对在线系统中的通用转换方法进行开发修改,有效地增加了对数据对象进行转换的效率。
在本申请实施例中,对于上述步骤S304中,使用与所述特殊信息相匹配的额外转换方法,对所述特殊数据对象进行转换处理,具体包括:使用与所述特征信息相匹配的前置转换方法,对所述特殊数据对象进行转换处理,再使用通用转换方法对经过前置转换方法处理后的特殊数据对象进行转换处理,和/或使用通用转换方法对所述特殊数据对象进行转换处理,再使用与所述特征信息相匹配的后置转换方法,对经过通用转换方法处理后的特殊数据对象进行转换处理。
当所述额外转换方法包括所述前置转换方法时,获取指定数据对象,具体为:获取未经过所述通用转换方法进行转换处理的原始数据对象。
本申请实施例中,所述的原始数据对象,包括由不同业务系统生成的业务数据对象,也即,原始数据对象就是未进行转换处理前的业务数据对象。原始数据对象中包含了不同的业务数据,这些业务数据是用户使用不同业务系统中的业务服务后所生成的。
在实际应用中,部分原始数据对象,可以根据通用转换方法,进行转换处理为标准数据对象,只有当用户具有指定的要求、或者在线系统中新增的业务服务所对应的原始数据对象,才不能直接根据通用转换方法进行转换处理。
此时,就可以通过前置转换方法对原始数据对象进行转换处理,也即,对所述特殊数据对象进行转换处理,具体为:根据所述前置转换方法,对具有所述特征信息的原始数据对象进行转换预处理。
其中,所述转换预处理包括对所述原始数据对象中的属性信息进行过滤或选定。
在实际应用中,还可能需要针对经过通用转换方法后生成的标准数据对象进行进一步的转换处理,在这种情况下,当所述额外转换方法包括所述后置转换方法时,获取指定数据对象,具体为:获取经过所述通用转换方法生成的标准数据对象。
对所述特殊数据对象进行转换处理,具体为:根据所述后置转换方法,对具有所述特征信息的标准数据对象进行转换处理。
为了清楚地阐述本申请中数据对象的转换过程,下面将以用户针对商品网站中的对账系统,查询相应的对账信息为例进行详细说明。
假设某用户在商品网站中进行过各类业务操作,包括:购买某种商品的支付操作和退款操作。商品网站通常会提供相应的对账系统,供用户查询上述与账务相关的数据。
用户所使用的上述业务服务,是由该商品网站中的不同业务系统所提供的。具体而言,支付操作由支付系统完成、退款操作由退款系统完成。但是,上述的业务系统中通常包含不同的业务数据对象,举例来说,如果用户在该商品网站中购买了商品A,并进行了支付,那么,对于支付系统而言,其中将记录用户支付操作而产生的不同的业务数据对象。那么,对于支付系统中的支付数据对象如下表1所示。
支付对象 |
金额(RMB) |
付款时间 |
用户 |
支付方式 |
商品A |
12.00 |
15-7-31-15:00 |
user1 |
银行卡M |
表1
在表1中可见,支付数据对象中包括了5类属性信息。这5类属性信息中的赋值(valve,可看作是用户user1进行的支付操作产生的支付数据)由该用户user1购买了商品A的支付操作而产生。
假设该用户user1有进行了退款操作,对于支付系统中的支付数据对象如下表2所示。
交易号 |
金额(RMB) |
退款时间 |
用户 |
退款账户 |
XXX |
6.00 |
15-7-31-18:00 |
user1 |
银行卡M |
表2
考虑到实际应用中,用户若在商品网站中进行支付、转账等操作,用户通常需要在该商品网站中使用用户信息进行注册、登录等操作,也就是说,对于用户user1自身而言,其登录到该商品网站中的对账系统中查询其自身的业务数据时,所查询到的所有业务数据均来源于该用户user1,那么,表1中的支付数据对象中“用户”,“支付对象”、“支付方式”以及表2中的“交易号”,“退款对象”、“退款账户”这些属性信息在对账结果中并不需要单独显示。在对账系统中,所显示的标准数据对象如下表3所示。
事件 |
账户金额 |
时间 |
交易 |
-12.00 |
15-7-31-15:00 |
退款 |
+6.00 |
15-7-31-18:00 |
表3
显然,表3中所示的标准数据对象与表1和表2中的不同,也即,相应的转换处理设备,根据该商品网站中的通用转换方法,将上述支付系统中支付数据对象和上述退款系统中退款数据对象,转换成了标准数据对象,从而用户user1就可以在对账系统中查询到表3所示的标准数据对象。
但是,如果该用户user1提出了某种需求,也即,只显示与“银行卡M”相关的交易和账务,那么,此时转换处理设备并不能根据通用转换方法实现对该新增业务的原始数据对象的转换。所以,相应的开发人员可以在通用转换方法的基础上,添加额外转换方法,来对用户所要求的目标数据对象进行转换处理。
例如:延续上例,在通用转换方法的基础上,增加前置转换方法,该前置转换方法用户识别用户的银行卡M这一项属性。也就是说,在使用通用转换方法之前,转换处理设备将检测上述表1和表2中的属性信息,发现均含有“银行卡M”,那么,转换处理设备就会标记表1和表2中的业务数据,进行保留,再通过通用转换方法进行转换,生成的目标数据对象如下表4所示。
事件 |
账户金额 |
时间 |
交易(银行卡M) |
-12.00 |
15-7-31-15:00 |
退款(银行卡M) |
+6.00 |
15-7-31-18:00 |
表4
上述的转换示例只起到说明本申请实施例中数据对象转换方法的作用,并不构成对本申请的限定。
以上为本申请实施例提供的数据对象转换方法基于同样的思路,本申请实施例还提供一种数据对象转换装置,如图4所示。在图4中,所述数据对象转换装置包括:获取模块401、确定模块402以及加载模块403,其中,
所述获取模块401,用于获取额外转换配置信息。
所述确定模块402,用于确定所述额外转换配置信息所对应的数据对象的类别。
所述加载模块403,用于加载所述额外转换配置信息,生成该类别的数据对象的额外转换方法,以便对该类别下的特殊数据对象进行转换处理,生成相应的标准数据对象。
在本申请实施例中,所述额外转换方法,包括在所述通用转换方法之前执行的前置转换方法,和/或在所述通用转换方法之后执行的后置转换方法。
在上述装置的基础上,本申请实施例还提供一种数据对象转换装置,如图5所示。在图5中,所述数据对象转换装置包括:获取模块501、检测模块502,确定模块502以及转换处理模块503,其中,
获取模块501,用于获取指定数据对象。
检测模块502,用于检测所述指定数据对象对应的特征信息;其中,所述特征信息用以表征所述指定数据对象的转换要求。
确定模块503,用于当检测到所述特征信息时,将所述指定数据对象确定为特殊数据对象。
转换处理模块504,用于根据确定出的特征信息,使用与所述特殊信息相匹配的额外转换方法,对所述特殊数据对象进行转换处理,以将所述特殊数据对象转换为标准数据对象。
本申请实施例中,所述转换处理模块504具体用于使用与所述特征信息相匹配的前置转换方法,对所述特殊数据对象进行转换处理,再使用通用转换方法对经过前置转换方法处理后的特殊数据对象进行转换处理,和/或使用通用转换方法对所述特殊数据对象进行转换处理,再使用与所述特征信息相匹配的后置转换方法,对经过通用转换方法处理后的特殊数据对象进行转换处理。
当所述额外转换方法包括所述前置转换方法时,所述获取模块501,具体用于获取未经过所述通用转换方法进行转换处理的原始数据对象,其中,所述原始数据对象包括由不同业务系统生成的业务数据对象。
所述转换处理模块504,具体用于根据所述前置转换方法,对具有所述特征信息的原始数据对象进行转换预处理,其中,所述转换预处理包括对所述原始数据对象中的属性信息进行过滤或选定。
当所述额外转换方法包括所述后置转换方法时,所述获取模块501,具体用于获取经过所述通用转换方法生成的标准数据对象。
所述转换处理模块504,具体用于根据所述后置转换方法,对具有所述特征信息的标准数据对象进行转换处理。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。