一种平台化系统业务定位方法及装置与流程

文档序号:11286350阅读:150来源:国知局
本申请涉及软件
技术领域
:,尤其涉及一种平台化系统业务定位方法及装置。
背景技术
::平台化设计是软件产品发展的一个重要趋势,基于平台化的软件具有独立性、开放性、可管理性和可扩展性等特点,已经成为各类大型系统开发的优选方案。平台化设计的一个结果是将平台能力与业务实例分开:一方面,不同的业务功能模块可以复用平台的能力,从而降低开发及维护成本。但是另一方面,当平台上的配置发生变化时,反过来也可能会影响到各种业务。针对该问题,现有技术的解决方案是,通过人工判断方式来定位平台配置变更可能会导致哪些业务受到影响,以便对这些业务做进一步测试或调整。然而随着平台配置变更频率的提升,以及业务种类、业务复杂度的提升,这种人工判断的方式无论在效率还是准确性上都已经难以满足实际的应用需求。技术实现要素:针对上述技术问题,本申请提供一种平台化系统业务定位方法及装置,技术方案如下:一种平台化系统业务定位方法,该方法包括:获得平台配置变更信息,所述平台配置变更信息至少包括:发生变更的数据记录信息;在任意业务对应的关联数据中,查询是否包含与所述发生变更的数据记录 相匹配的记录;如果业务关联数据中包含与所述发生变更的数据记录相匹配的记录,则将该业务确定为受平台配置变更影响的业务;其中,所述业务关联数据的构建方法包括:根据需要关注的业务信息字段以及该字段所属的业务信息表,确定该业务信息表的关联数据表;以所述业务信息表及其关联数据表为查询源表,以所述业务信息表与其关联数据表的关联、以及所述业务信息字段的取值为查询条件,构建关联查询指令,所述业务信息字段的取值用于指定具体的业务;执行所述关联查询指令,以查询结果作为业务关联数据。一种平台化系统业务定位装置,该装置包括:变更信息获得模块,用于获得平台配置变更信息,所述平台配置变更信息至少包括:发生变更的数据记录信息;查询模块,用于在任意业务对应的关联数据中,查询是否包含与所述发生变更的数据记录相匹配的记录;定位模块,用于在业务关联数据中包含与所述发生变更的数据记录相匹配的记录的情况下,将该业务确定为受平台配置变更影响的业务;关联数据构建模块,用于:根据需要关注的业务信息字段以及该字段所属的业务信息表,确定该业务信息表的关联数据表;以所述业务信息表及其关联数据表为查询源表,以所述业务信息表与其关联数据表的关联、以及所述业务信息字段的取值为查询条件,构建关联查询指令,所述业务信息字段的取值用于指定具体的业务;执行所述关联查询指令,以查询结果作为业务关联数据。本申请所提供的技术方案,通过构建业务关联数据的方式,将平台配置与具体的业务关联起来,当平台配置发生变更以后,通过查询业务关联数据,就可以自动判断出业务是否受平台配置变更的影响。与现有方案相比,能够在不 对已有系统架构进行改造的前提下,提升定位受系统配置变更影响业务的效率及准确率,并且有效降低人力成本。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本申请的平台化系统业务定位方法的流程示意图;图2是本申请的业务关联数据构建方法的流程示意图;图3是本申请的应用场景示意图;图4是本申请的平台化系统业务定位装置的结构示意图。具体实施方式为了使本领域技术人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。平台化设计好处是不同的业务功能模块可以复用平台的能力,从而降低开发及维护成本。但是另一方面,一旦平台上的配置发生变化,那么运行在该平台上的业务理论上都可能会受到影响。为了减小后续的测试的工作量,有必要对可能会受影响的业务做进一步筛选。而在目前很多平台化系统中,平台的配置都是直接应用于各个业务处理模块中,在平台配置中缺少业务维度的维护信息,也就是说,当平台上的某个配置变更后,并不能直接定位出哪些运行在该平台之上的业务可能会受到影响。针对上述问题,一种直接的解决方案是在平台中添加业务维度的维护信息, 但是这种方法需要已有的平台设计进行改动,对于很多已经大规模部署运行的系统而言并不现实。因此,目前多采用人工判断的方式来定位平台配置变更可能会导致哪些业务受到影响,而人工判断的方式也存在着很大的局限性:以第三方支付系统为例,根据实际的业务需求,一家第三方支付机构需要接入上百家银行、并且需要处理各家银行的不同业务。在平台化设计架构下,对于第三方支付系统而言,只需针对不同银行的业务添加相应的业务实例配置(例如工行网上支付业务、农行信用卡还款业务,等等),就可以实现不同银行的业务对平台能力的复用。然而一旦第三方支付系统平台配置发生变更,需要以人工方式从各银行的各种具体业务中定位出可能受到影响的业务,这种方式不仅效率低、需要投入大量人力成本,而且难免出现错判漏判的情况,如果平台配置更新频繁,则上述问题的严重性将会更为突出。针对上述问题,本申请提供一种平台化系统业务定位方法,图1所示为本申请提供的平台化系统业务定位方法的流程图,该方法可以包括以下步骤:s101,获得平台配置变更信息;在平台配置变更信息中至少应包括:发生变更的数据记录信息;具体而言可以是:某个数据表的一行或多行数据记录发生变化、某个表的某个具体字段的一行或多行数据记录发生变化,等等。此外,在平台配置变更信息中还可以包括变更涉及的系统、模块等等,本申请并不进行限定。s102,在任意业务对应的关联数据中,查询是否包含与所述发生变更的数据记录相匹配的记录;s103,根据查询结果确定业务是否受平台配置变更的影响:如果业务关联数据中包含与所述发生变更的数据记录相匹配的记录,则将该业务确定为受平台配置变更影响的业务;本申请方案,通过构建业务关联数据的方式,将平台配置与具体的业务关联起来,以便当平台配置发生变更以后,通过查询业务关联数据,能够自动判断出业务是否受平台配置变更的影响。实际应用时,对于每一项所关注的业务,都可以构建对应的业务关联数据 (业务关联数据的构建方法将在后面的实施例中进行说明),当平台配置发生变更后,针对某项具体业务,根据所获得的发生变更的数据记录,查询对应的业务关联数据中是否包含与该条发生变更的数据记录相匹配的记录,如果包含则说明该业务会受到本次平台配置变更的影响。对所有关注的业务分别执行以上处理后,就可以筛选出哪些业务会受到本次平台配置变更的影响。其中,业务关联数据本身与平台上原有业务的运行逻辑无关,也不会影响到平台业务的正常运行。业务关联数据可以在平台正常运行阶段进行构建,并在平台配置发生变更后直接调用;也可以根据平台配置的实际变更情况动态进行构建,即在获得配置变更信息后按需构建业务关联数据,以减少在平台正常运行阶段的存储开销。图2所示为业务关联数据构建方法的流程图,对于某项需要关注的业务,其对应的业务关联数据构建方法可以包括以下步骤:s201,根据需要关注的业务信息字段以及该字段所属的业务信息表,确定该业务信息表的关联数据表;根据实际的需求,“需要关注的业务”可以是一种很具体的业务,例如“工商银行信用卡还款业务”;也可以是一类业务的统称,例如“工商银行业务”(具体包括工商银行信用卡还款业务、工商银行网上支付业务等等)、“信用卡还款业务”(具体包括工商银行信用卡还款业务、农业银行信用卡还款业务等等),实际应用时,可以根据业务信息表的字段设计情况以及关注需求来对“需要关注的业务”进行灵活定义。s202,以业务信息表及其关联数据表为查询源表,以业务信息表与其关联数据表的关联、以及业务信息字段的取值为查询条件,构建关联查询指令;其中,业务信息字段的取值用于指定具体的业务;根据实际的需求业务信息字段可以是一个或多个字段,在业务信息字段为多个字段的情况下,构建查询条件时采用多个字段的联合取值。针对每项具体业务,如果其业务信息表对应多个关联数据表,那么根据数据表之间的关联情况,可能会有多种可行的关联查询指令构建方案,例如:可 以仅构建一条能够覆盖所有关联数据表的关联查询指令,也可以针对多个关联数据表分别构建多条关联查询指令。例如,对于业务信息表0,存在关联数据表1和关联数据表2,其中表0与表1直接关联、表0与表2直接关联、表1与表2直接关联。那么在构建关联查询指令时,如果希望优先选择关联查询指令较少的构建方案,则可以基于“表0—表1—表2”构建一条关联查询指令;如果希望优先选择关联路径较短的构建方案:则可以基于“表0—表1”、“表0—表2”分别构建两条关联查询指令。当然,在实际应用中各表之间的关联情况可能更为复杂,本领域技术人员可以根据实际情况灵活构建关联查询指令。s203,执行关联查询指令,以查询结果作为业务关联数据。本步骤可以在“预先构建”阶段执行,并将每项业务的关联查询指令结果进行保存,以便在平台配置发生变更后直接调用。此外,在“预先构建”阶段也可以仅构建每项业务对应的关联查询指令并保存,获得配置变更信息后,按需调用并执行预先构建的关联查询指令,从而得到业务关联数据。下面结合一个具体的应用实例,对本申请的方案进行说明:图3所示,为本申请一种具体应用场景的示意图,其中,第三方支付平台为平台化设计的部分,当平台配置发生变更时,将变更的内容以“配置变更事件”形式发出。配置变更解析器用于在任意业务对应的关联数据中,查询是否包含与所述发生变更的数据记录相匹配的记录,从而将“配置变更事件”解析为“标准事件”,以便后续进一步对平台配置变更所涉及的业务进行测试或调整。下面分别对本实施例定义的标准事件进行说明:配置变更事件:作用相当于前述实施例中的“平台配置变更信息”,指平台上发生一次配置变更后所发出的消息,消息中记录了本次变更的详细内容,如变更涉及的系统、数据库、表及表字段等。标准事件:以业务维度定义一种标准化的格式。由于后续的测试及调整需求是业务维度的(例如,需要根据具体的业务匹配相应的测试用例),而配置变更是数据库表记录维度的,通过标准事件作为中间媒介,可以将某次的配置变 更与具体的业务关联起来。在本实例中,为“标准事件”主要定义2个字段:业务元数据、业务元数据值:业务名称biz_name:业务类型的名称(例如信用卡还款、网上支付等等);业务实例biz_keyword:业务类型下的业务实例关键字(例如icbc、abc等)。需要说明的是,以上对标准事件的字段定义仅用于示意性说明,不应理解为对本申请方案的限定。为了实现配置变更解析器的功能(即将一条数据库记录的变更,通过一定的建模,分析出可能影响到的业务),首先需要对业务关联数据进行构建,假设平台中存在3张数据表,table1、table2和table3,其中:table1包含字段:idtable2_idtable3_idtable2包含字段:idurltable3包含字段:idbiz_namebiz_keyword如果实际需求对应的“需要关注的业务”为“所有的业务类型”,那么可以确定需要关注的业务信息字段为“biz_name”,table3为业务信息表,table1、table2为业务信息表的关联数据表。假设平台当前支持两种业务类型:业务a和业务b,那么可以分别针对业务a和业务b构建业务关联数据。1.业务a:定义sql_a为业务a的业务关联数据,以业务信息表(table3)和关联数据表(table1、table2)为查询源表,以业务信息表与其关联数据表的关联(table1与table2通过table2_id字段关联、table1与table3通过table3_id字段关联)、以及业务信息字段的取值(table3的biz_name=’业务a’)为查询条件,构建用于得到sql_a的关联查询指令如下:sql_a=selectt1.id,t2.id,t2.url,t3.id,t3.biz_name,t3.biz_keywordfromtable1t1,table2t2,table3t3wheret1.table2_id=t2.idandt1.table3_id=t3.idandt3.biz_name='业务a'2.业务b:定义sql_b为业务b的业务关联数据,以业务信息表(table3)和关联数据表(table1、table2)为查询源表,以业务信息表与其关联数据表的关联(table1与table2通过table2_id字段关联、table1与table3通过table3_id字段关联)、以及业务信息字段的取值(table3的biz_name=’业务b’)为查询条件,构建用于得到sql_b的关联查询指令如下:sql_b=selectt1.id,t2.id,t2.url,t3.id,t3.biz_name,t3.biz_keywordfromtable1t1,table2t2,table3t3wheret1.table2_id=t2.idandt1.table3_id=t3.idandt3.biz_name='业务b'需要说明的是,以上sql代码仅用于示意性说明不应理解为对本申请方案的限定。根据所构建的sql_a和sql_b,当平台配置发生变更时,通过分别查询sql_a和sql_b中是否包含与发生变更的数据记录相匹配的记录,就可以确定本次变更是否会影响到业务a和业务b。例如,当table2中的某条记录(table2.id=xxx)变更时,分别组装sql在sql_a 和sql_b中进行检索:sql_a’=sql_a+t2.id=”xxx”;//对应业务asql_b’=sql_b+t2.id=”xxx”;//对应业务b以业务a为例,如果通过sql_a’能够检索到数据,说明本次平台配置变更会影响到业务a。反之如果通过sql_a不能检索到数据,可判断本次平台配置变更对业务a无影响。对于检索到的数据,能够得到业务名称biz_name和业务实例biz_keyword两个字段的数据,通过这两部分数据,可生成标准事件。业务分类信息和业务实例信息,利用这两部分信息可生成标准事件。根据标准事件,可以匹配到相应的测试用例,例如工行网上支付业务、农行信用卡还款业务等等,以便进一步对相应的业务进行测试或调整。相应于上述方法实施例,本申请还提供一种平台化系统业务定位装置,参见图4所示,该装置可以包括:变更信息获得模块110,用于获得平台配置变更信息,平台配置变更信息至少可以包括:发生变更的数据记录信息;查询模块120,用于在任意业务对应的关联数据中,查询是否包含与发生变更的数据记录相匹配的记录;定位模块130,用于在业务关联数据中包含与发生变更的数据记录相匹配的记录的情况下,将该业务确定为受平台配置变更影响的业务;关联数据构建模块140,用于:根据需要关注的业务信息字段以及该字段所属的业务信息表,确定该业务信息表的关联数据表;以业务信息表及其关联数据表为查询源表,以业务信息表与其关联数据表的关联、以及业务信息字段的取值为查询条件,构建关联查询指令,业务信息字段的取值用于指定具体的业务;执行关联查询指令,以查询结果作为业务关联数据。在本申请的一种具体实施方式中,关联数据构建模块140可以具体用于:预先构建业务关联数据,或获得配置变更信息后按需构建业务关联数据。在本申请的一种具体实施方式中,关联数据构建模块140可以具体用于:获得配置变更信息后,按需执行预先构建的关联查询指令,得到业务关联数据。在本申请的一种具体实施方式中,关联数据构建模块140可以具体用于:针对每项具体业务,构建一条覆盖所有关联数据表的关联查询指令。在本申请的一种具体实施方式中,业务信息字段可以包括一个字段或多个字段;在业务信息字段包括多个字段的情况下,业务信息字段的取值为多个字段的联合取值。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本申请方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅是本申请的具体实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1