一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

业务系统中运行数据的确定方法、装置、设备及存储介质与流程

2021-12-07 22:02:00 来源:中国专利 TAG:

1.本技术涉及数据处理
技术领域
,尤其涉及一种业务系统中运行数据的确定方法、装置、设备及存储介质。
背景技术
:2.很多公司的业务处理需要依赖于业务系统,业务系统可以提供多种业务和服务。3.在实际应用过程中,通常定期采集业务系统的运行数据,并根据该运行数据分析业务系统的实际业务处理情况,例如,分析业务系统中某模块被某业务线调用的次数。在相关技术中,通常在业务系统中设置对外暴露的接口,可以根据接口被调用的情况,分析业务系统的实际业务处理情况。4.然而,发明人在实现本技术的过程中发现,对外暴露的接口数量有限,使得根据有限数量的接口被调用情况,无法获取到的业务系统的精细化的的运行数据,进而无法精确地分析出业务系统的实际业务处理情况。技术实现要素:5.本技术提供一种业务系统中运行数据的确定方法、装置、设备及存储介质,用以获取到业务系统的精确性较高的运行数据。6.第一方面,本技术提供一种业务数据中运行数据的确定方法,包括:7.确定所述业务系统中的第一对象被调用,所述第一对象为所述业务系统中的方法或者接口;8.确定所述第一对象对应的调用信息,所述调用信息包括调用所述第一对象的业务标识和场景标识;9.获取所述第一对象对应的历史调用数据,所述历史调用数据包括所述第一对象在历史时段内被所述业务系统中各业务中各场景的调用次数;10.根据所述调用信息更新所述历史调用数据,得到所述第一对象对应的调用数据。11.一种可能的实现方式中,确定所述第一对象对应的调用信息,包括:12.获取所述第一对象的类型,所述第一对象的类型为首对象或者中间对象,所述首对象为调用链中的第一个对象,所述中间对象为调用链中除所述第一个对象之外的其它对象;13.根据所述第一对象的类型,确定所述第一对象对应的调用信息。14.一种可能的实现方式中,所述第一对象的类型为首对象;根据所述第一对象的类型,确定所述第一对象对应的调用信息,包括:15.获取所述第一对象对应的调用请求,所述调用请求中包括至少一个传入参数;16.根据所述至少一个传入参数,确定所述第一对象对应的调用信息。17.一种可能的实现方式中,根据所述至少一个传入参数,确定所述第一对象对应的调用信息,包括:18.获取第一对应关系和第二对应关系;其中,所述第一对应关系用于指示不同传入参数与不同业务标识之间的对应关系,所述第二对应关系用于指示不同传入参数与不同场景标识之间的对应关系;19.根据所述至少一个传入参数和所述第一对应关系,确定出调用所述第一对象的业务标识;20.根据所述至少一个传入参数和所述第二对应关系,确定出调用所述第一对象的场景标识。21.一种可能的实现方式中,所述第一对象的类型为中间对象;根据所述第一对象的类型,确定所述第一对象对应的调用信息,包括:22.确定所述第一对象对应的上级调用信息,所述上级调用信息中包括业务标识和场景标识,所述上级调用信息为对所述第一对象的上一个对象的调用信息,对所述第一对象和所述上一个对象的调用位于同一调用链;23.确定所述第一对象对应的调用信息中包括所述上级调用信息中的业务标识和对象标识。24.一种可能的实现方式中,根据所述调用信息更新所述历史调用数据,得到所述第一对象对应的调用数据,包括:25.在所述历史调用数据中确定所述业务标识和所述场景标识对应的调用次数;26.将所述业务标识和所述场景标识对应的调用次数加一,以及保持所述历史调用数据中的其它调用数据不变,得到所述第一对象对应的调用数据,所述第一对象对应的调用数据包括所述第一对象在最新历史时段内被所述业务系统的各业务中各场景的调用次数。27.一种可能的实现方式中,所述第一对象对应的调用数据中还包括所述第一对象对应的调用分布图;所述方法还包括:28.获取所述第一对象对应的历史调用分布图,所述历史调用分布图中包括所述第一对象在所述历史时段内被所述业务系统中各业务中各场景的调用次数;29.根据所述第一对象在所述最新历史时段内被所述业务系统的各业务中各场景的调用次数,更新所述历史调用分布图。30.一种可能的实现方式中,所述调用信息中还包括调用链标识;所述方法还包括:31.获取所述业务系统在所述历史时段内被调用的多个对象对应的调用信息;32.根据所述多个对象对应的调用信息,确定至少一个调用链,每个调用链包括至少两个对象和所述至少两个对象的调用顺序,同一调用链中包括的各对象对应的调用信息中的调用链标识相同;33.根据所述至少一个调用链,生成调用时序图,所述调用时序图中包括所述业务系统中的对象和每个调用链对应的调用连线,一个调用链对应的调用连线用于连接所述调用链包括的至少两个对象。34.第二方面,本技术提供一种业务系统中运行数据的确定装置,包括:35.第一确定模块,用于确定所述业务系统中的第一对象被调用,所述第一对象为所述业务系统中的方法或者接口;36.第二确定模块,用于确定所述第一对象对应的调用信息,所述调用信息包括调用所述第一对象的业务标识和场景标识;37.处理模块,用于获取所述第一对象对应的历史调用数据,所述历史调用数据包括所述第一对象在历史时段内被所述业务系统中各业务中各场景的调用次数;38.所述处理模块,还用于根据所述调用信息更新所述历史调用数据,得到所述第一对象对应的调用数据。39.一种可能的实现方式中,所述第二确定模块具体用于:40.获取所述第一对象的类型,所述第一对象的类型为首对象或者中间对象,所述首对象为调用链中的第一个对象,所述中间对象为调用链中除所述第一个对象之外的其它对象;41.根据所述第一对象的类型,确定所述第一对象对应的调用信息。42.一种可能的实现方式中,所述第一对象的类型为首对象;所述第二确定模块具体用于:43.获取所述第一对象对应的调用请求,所述调用请求中包括至少一个传入参数;44.根据所述至少一个传入参数,确定所述第一对象对应的调用信息。45.一种可能的实现方式中,所述第二确定模块具体用于:46.获取第一对应关系和第二对应关系;其中,所述第一对应关系用于指示不同传入参数与不同业务标识之间的对应关系,所述第二对应关系用于指示不同传入参数与不同场景标识之间的对应关系;47.根据所述至少一个传入参数和所述第一对应关系,确定出调用所述第一对象的业务标识;48.根据所述至少一个传入参数和所述第二对应关系,确定出调用所述第一对象的场景标识。49.一种可能的实现方式中,所述第一对象的类型为中间对象;所述第二确定模块具体用于:50.确定所述第一对象对应的上级调用信息,所述上级调用信息中包括业务标识和场景标识,所述上级调用信息为对所述第一对象的上一个对象的调用信息,对所述第一对象和所述上一个对象的调用位于同一调用链;51.确定所述第一对象对应的调用信息中包括所述上级调用信息中的业务标识和对象标识。52.一种可能的实现方式中,所述处理模块具体用于:53.在所述历史调用数据中确定所述业务标识和所述场景标识对应的调用次数;54.将所述业务标识和所述场景标识对应的调用次数加一,以及保持所述历史调用数据中的其它调用数据不变,得到所述第一对象对应的调用数据,所述第一对象对应的调用数据包括所述第一对象在最新历史时段内被所述业务系统的各业务中各场景的调用次数。55.一种可能的实现方式中,所述第一对象对应的调用数据中还包括所述第一对象对应的调用分布图;所述处理模块还用于:56.获取所述第一对象对应的历史调用分布图,所述历史调用分布图中包括所述第一对象在所述历史时段内被所述业务系统中各业务中各场景的调用次数;57.根据所述第一对象在所述最新历史时段内被所述业务系统的各业务中各场景的调用次数,更新所述历史调用分布图。58.一种可能的实现方式中,所述调用信息中还包括调用链标识;所述处理模块还用于:59.获取所述业务系统在所述历史时段内被调用的多个对象对应的调用信息;60.根据所述多个对象对应的调用信息,确定至少一个调用链,每个调用链包括至少两个对象和所述至少两个对象的调用顺序,同一调用链中包括的各对象对应的调用信息中的调用链标识相同;61.根据所述至少一个调用链,生成调用时序图,所述调用时序图中包括所述业务系统中的对象和每个调用链对应的调用连线,一个调用链对应的调用连线用于连接所述调用链包括的至少两个对象。62.第三方面,本技术提供一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序实现如第一方面任一项所述的方法。63.第四方面,本技术提供一种计算机可读存储介质,包括:计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。64.第五方面,本技术提供一种计算机程序产品,包括:计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。65.本技术提供的业务系统中运行数据的确定方法、装置、设备及存储介质,在确定业务系统中的第一对象被调用时,确定第一对象对应的调用信息,该调用信息包括调用第一对象的业务标识和场景标识,进而,根据该调用信息对第一对象的历史调用数据进行更新,得到第一对象对应的调用数据。通过上述过程,能够确定出业务系统中的每个对象(每个方法和接口)在各业务中的各场景的调用次数,一方面,使得能够统计到业务系统中的所有接口和方法的被调用情况,另一方面,使得能够统计到每个接口和方法在各业务中的各场景的调用情况,因此,保证了获取到的业务系统中的运行数据更加精细化,从而能够精确地分析出业务系统的实际业务处理情况。附图说明66.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。67.图1为本技术实施例提供的业务系统的示意图;68.图2为本技术实施例提供的一种业务系统中运行数据的确定方法的流程示意图;69.图3为本技术实施例提供的另一种业务系统中运行数据的确定方法的流程示意图;70.图4为本技术实施例提供的业务系统的调用过程的示意图;71.图5为本技术实施例提供的调用链的生成过程示意图;72.图6为本技术实施例提供的调用分布图的更新过程的示意图;73.图7为本技术实施例提供的一种调用时序图的示意图;74.图8为本技术实施例提供的另一种调用时序图的示意图;75.图9为图8中的各节点的调用分布示意图;76.图10为本技术实施例提供的配置业务场景的示意图;77.图11为本技术实施例提供的业务场景配置的更新过程示意图;78.图12为本技术实施例提供的一种业务系统中运行数据的确定装置的结构示意图;79.图13为本技术实施例提供的一种电子设备的结构示意图。具体实施方式80.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。81.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。82.为了便于理解,首先对本技术实施例所涉及的业务系统进行说明。83.图1为本技术实施例提供的业务系统的示意图。该业务系统可以与其他的一个或者多个外部系统交互。示例性的,该业务系统可以向外部系统1提供一种或者多种服务,该业务系统还可以调用外部系统2提供的一种或者多种服务。84.请参见图1,业务系统提供有“业务系统对外暴露的接口”、“用于访问外部系统的接口”、以及“业务系统内部的方法”。其中,一个接口中可以包括一个或者多个方法。85.示例性的,当其他外部系统需要访问业务系统提供的服务时,可以通过调用上述的“业务系统对外暴露的接口”来访问业务系统的服务。当业务系统需要访问其他外部系统的服务时,可以通过调用上述的“用于访问外部系统的接口”来访问其他外部系统的服务。业务系统在处理内部的业务流程时,可以调用上述的“业务系统内部的方法”。86.一些可能的场景中,业务系统可以为基于远程过程调用(remoteprocedurecall,rpc)的业务系统。87.在实际应用中,通常定期采集业务系统的运行数据,并根据该运行数据分析业务系统的实际业务处理情况。例如,可以通过统计业务系统对外暴露的接口的被调用次数,来分析业务系统的实际业务处理情况。88.然而,发明人在实现本技术的过程中发现,业务系统对外暴露的接口数量有限,使得根据有限数量的接口被调用情况,无法获取到的业务系统的精细化的的运行数据,进而无法精确地分析出业务系统的实际业务处理情况。89.为了解决上述技术问题,本技术实施例提供一种业务系统中运行数据的确定方法、装置、设备、存储介质及程序。本技术技术方案中,可以从业务维度和场景维度对实际应用场景进行划分,得到多个业务和多个场景。针对每个接口或者方法,可以分别确定出该接口或者方法在不同业务中的不同场景的调用次数。这样,使得获取到的业务系统中的运行数据更加精细化,从而能够精确地分析出业务系统的实际业务处理情况。90.下面以具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。91.图2为本技术实施例提供的一种业务系统中运行数据的确定方法的流程示意图。本实施例的方法可以由部署有业务系统的电子设备执行。如图2所示,本实施例的方法包括:92.s201:确定所述业务系统中的第一对象被调用,所述第一对象为所述业务系统中的方法或者接口。93.具体的,在业务系统运行过程中,可以对业务系统的运行情况进行监测,例如,可以监测业务系统中的第一对象是否被调用。当监测当第一对象被调用时,触发执行本实施例的方法。94.其中,第一对象可以为业务系统中的任意方法或者任意接口。例如,第一对象可以为图1中的任意方法或者任意接口。举例而言,第一对象可以是图1中的“业务系统对外暴露的接口”或者是“业务系统对外暴露的接口”中的方法。第一对象还可以是图1中的“用于访问外部系统的接口”或者是“用于访问外部系统的接口”中的方法。第一对象还可以是图1中的“用于在业务系统内部调用的方法”。95.s202:确定所述第一对象对应的调用信息,所述调用信息包括调用所述第一对象的业务标识和场景标识。96.本实施例中,可以从业务维度对实际应用的业务场景进行划分,得到多个业务。应理解,针对不同的业务场景,可以由不同的划分方式。举例而言,针对电商业务场景,划分得到的多个业务可以包括:大客户业务、分销业务等。97.进一步的,还可以从场景维度对实际应用的业务场景进行划分,得到多个场景。应理解,针对不同的业务场景,可以有不同的划分方式。举例而言,针对电商业务场景,划分得到的多个场景可以包括:查询商品信息场景、更新商品属性场景等。98.每个业务可以包括多个场景。不同业务所包括的场景可以相同也可以不同。例如,业务1包括场景1、场景2和场景3。业务2包括场景2、场景3和场景4。业务3包括场景5和场景6。等。99.在监测到第一对象被调用后,可以确定出第一对象是被哪个业务、哪个场景调用的,从而得到第一对象对应的调用信息,该调用信息可以包括调用第一对象的业务标识和场景标识。100.s203:获取所述第一对象对应的历史调用数据,所述历史调用数据包括所述第一对象在历史时段内被所述业务系统中各业务中各场景的调用次数。101.s204:根据所述调用信息更新所述历史调用数据,得到所述第一对象对应的调用数据。102.本实施例中,可以对每个对象的调用数据进行维护。每个对象的调用数据包括该对象被业务系统中的各业务中各场景的调用次数。在监测到第一对象被调用时,可以根据第一对象的调用信息对第一对象的历史调用数据进行更新,从而得到第一对象对应的当前调用数据。该当前调用数据作为第一对象下一次被调用时的历史调用数据。103.举例而言,在监测到第一对象被第一次调用时,假设该第一对象是被业务1中的场景1调用,则将第一对象的调用数据更新为:104.被业务1中的场景1调用1次。105.在监测到第一对象被第二次调用时,假设该第一对象是被业务1中的场景2调用,则将第一对象的调用数据更新为:106.被业务1中的场景1调用1次,107.被业务1中的场景2调用1次。108.在监测到第一对象被第三次调用时,假设该第一对象是被业务2中的场景2调用,则将第一对象的调用数据更新为:109.被业务1中的场景1调用1次,110.被业务1中的场景2调用1次,111.被业务2中的场景2调用1次。112.在监测到第一对象被第四次调用时,假设该第一对象是被业务1中的场景1调用,则将第一对象的调用数据更新为:113.被业务1中的场景1调用2次,114.被业务1中的场景2调用1次,115.被业务2中的场景2调用1次。116.本实施例提供的业务系统中运行数据的确定方法,包括:在确定业务系统中的第一对象被调用时,确定第一对象对应的调用信息,该调用信息包括调用第一对象的业务标识和场景标识,进而,根据该调用信息对第一对象的历史调用数据进行更新,得到第一对象对应的调用数据。通过上述过程,能够确定出业务系统中的每个对象(每个方法和接口)在各业务中的各场景的调用次数,一方面,使得能够统计到业务系统中的所有接口和方法的被调用情况,另一方面,使得能够统计到每个接口和方法在各业务中的各场景的调用情况,因此,保证了获取到的业务系统中的运行数据更加精细化,从而能够精确地分析出业务系统的实际业务处理情况。117.在上述实施例的基础上,下面结合一个具体的实施例对本技术方案进行更详细的描述。118.图3为本技术实施例提供的另一种业务系统中运行数据的确定方法的流程示意图。如图3所示,本实施例的方法包括:119.s301:确定业务系统中的第一对象被调用,所述第一对象为所述业务系统中的方法或者接口。120.s302:获取第一对象的类型,所述第一对象的类型为首对象或者中间对象,所述首对象为调用链中的第一个对象,所述中间对象为调用链中除所述第一个对象之外的其它对象。121.一个调用链代表了一个事务或者流程在业务系统中的执行过程。一个调用链中的第一个对象为首对象,该调用链中除了第一个对象之外的其他对象为中间对象。下面结合图4进行举例说明。122.图4为本技术实施例提供的业务系统的调用过程的示意图。如图4所示,假设业务系统对外暴露的接口1中的方法1.1被调用,方法1.1调用了业务系统内部的方法a,方法a调用了方法c,方法c调用了方法b,方法b调用了用于访问外部系统的接口2中的方法2.1,方法2.1中调用了外部系统中的方法2。这样,上述过程构成了一条调用链。该调用链中“业务系统对外暴露的接口1中的方法1.1”作为首对象。该调用链中除第一对象之外的其他对象作为中间对象。123.这样,可以根据第一对象的类型,确定出第一对象对应的调用信息。当第一对象的类型为首对象时,执行s303和s304。当第一对象的类型为中间对象时,执行s305和s306。124.s303:若第一对象的类型为首对象,则获取第一对象对应的调用请求,所述调用请求中包括至少一个传入参数。125.s304:根据所述至少一个传入参数,确定第一对象对应的调用信息。126.具体的,可以事先分析统计得到不同传入参数所对应的业务,以及不同传入参数所对应的场景,进而根据统计结果生成传入参数与业务标识、传入参数与场景标识之间的对应关系。这样,在接收到第一对象对应的调用请求时,可以根据调用请求中的传入参数,确定出调用第一对象的业务标识和场景标识。127.一种可能的实现方式中,可以采用如下可行的方式确定第一对象对应的调用信息:获取第一对应关系和第二对应关系;其中,所述第一对应关系用于指示不同传入参数与不同业务标识之间的对应关系,所述第二对应关系用于指示不同传入参数与不同场景标识之间的对应关系;根据所述至少一个传入参数和所述第一对应关系,确定出调用所述第一对象的业务标识;根据所述至少一个传入参数和所述第二对应关系,确定出调用所述第一对象的场景标识。128.下面结合图4所示的调用过程,描述调用链的生成过程。129.图5为本技术实施例提供的调用链的生成过程示意图。如图5所示,当检测到业务系统对外暴露的接口1中的方法1.1被调用时,可以针对本次调用生成一条调用链,并随机生成该调用链的标识traceid,将该调用链的标识写入调用链中。根据本次调用(即方法1.1)的调用请求中的传入参数,确定出本次调用的业务标识和场景标识。将业务标识和场景标识写入调用链中。进一步的,在调用链中新建首对象节点(对应方法1.1),得到的调用链如图5中的501所示。130.s305:若第一对象的类型为中间对象,则确定第一对象对应的上级调用信息,所述上级调用信息中包括业务标识和场景标识。131.其中,所述上级调用信息为对第一对象的上一个对象的调用信息,对第一对象和所述上一个对象的调用位于同一调用链。132.s306:确定第一对象对应的调用信息中包括所述上级调用信息中的业务标识和对象标识。133.示例性的,结合图4和图5所示,当检测到方法a被调用时,由于方法a为中间对象,则可以获取到方法a对应的上级调用信息(即方法1.1的调用信息)。例如,可以通过transmittablethreadlocal技术获取到方法a对应的父线程信息,从而得到上级调用信息。上级调用信息中可以包括调用链标识、业务标识、场景标识等。这样,可以将上级调用信息中的业务标识和场景标识确定为方法a的调用信息。这样,可以在调用链中新建中间对象节点(对应方法a),得到的调用链如图5中的502所示。134.类似的,当检测到方法c被调用时,由于方法c为中间对象,则可以获取到方法c对应的上级调用信息(即方法a的调用信息)。例如,可以通过transmittablethreadlocal技术获取到方法c对应的父线程信息,从而得到上级调用信息。上级调用信息中可以包括调用链标识、业务标识、场景标识等。这样,可以将上级调用信息中的业务标识和场景标识确定为方法c的调用信息。这样,可以在调用链中新建中间对象节点(对应方法c),得到的调用链如图5中的503所示。135.应理解,其他方法的调用过程是类似的,本实施例不再一一举例说明。136.s307:获取所述第一对象对应的历史调用数据,所述历史调用数据包括所述第一对象在历史时段内被所述业务系统中各业务中各场景的调用次数。137.具体的,当第一对象为首次调用时,则缓存中不存在第一对应对应的历史调用数据,可以新创建一份调用数据,并将调用数据中的各业务中各场景的调用次数置为0。将该新创建的调用数据作为历史调用数据。138.s308:在所述历史调用数据中确定所述业务标识和所述场景标识对应的调用次数,将所述业务标识和所述场景标识对应的调用次数加一,以及保持所述历史调用数据中的其它调用数据不变,得到所述第一对象对应的调用数据。139.其中,所述第一对象对应的调用数据包括所述第一对象在最新历史时段内被所述业务系统的各业务中各场景的调用次数。140.举例而言,假设获取到的第一对象的历史调用数据如表1所示。假设本次调用第一对象的为业务1中的场景2,则从表1中获取业务1中的场景2对应的调用次数(5次),将该调用次数加一,其他业务标识、场景标识对应的调用次数不变,得到第一对象对应的调用数据如表2所示。参见表2,业务标识为1、场景标识为2对应的调用次数更新为6次。141.表1142.业务标识场景标识调用次数业务1场景13次业务1场景25次业务1场景34次业务2场景23次业务2场景35次业务2场景46次………143.表2[0144][0145][0146]一些可能的实现方式中,本实施例中的第一对象对应的调用数据中还可以包括:第一对象对应的调用分布图。这样,在确定出第一对象的调用信息之后,还可以根据第一对象的调用信息得到第一对象对应的调用分布图。下面结合s309和s310进行描述。[0147]s309:获取所述第一对象对应的历史调用分布图,所述历史调用分布图中包括所述第一对象在所述历史时段内被所述业务系统中各业务中各场景的调用次数。[0148]s310:根据所述第一对象在所述最新历史时段内被所述业务系统的各业务中各场景的调用次数,更新所述历史调用分布图。[0149]其中,本实施例中的调用分布图是指用于描述每个对象在一个时段内被业务系统中的各业务各场景的调用次数的分布情况的图表。本实施例对于调用分布图的形式不作限定,可以为柱形图、折线图、面积图等各种形式。下面以柱形图为例进行举例说明。[0150]图6为本技术实施例提供的调用分布图的更新过程的示意图。图6中仅以业务1中的各场景为例进行示意。如图6中的601所示,假设历史调用分布图中,第一对象被业务1中的场景1、场景2、场景3的调用次数分别为3次、5次、4次。假设最新历史时段内统计得到的业务1中场景1、场景2、场景3的调用次数分别为3次、6次、4次,则更新后的调用分布图如图6中的602所示。[0151]应理解的是,本实施例是以一个对象的调用过程为例进行描述。针对业务系统中的每个对象,均可以采用本实施例的方式进行调用过程的跟踪处理。[0152]在上述各实施例的基础上,本技术实施例还可以生成调用时序图。具体的,获取所述业务系统在历史时段内被调用的多个对象对应的调用信息。每个对象的调用信息中可以包括调用链的标识。根据所述多个对象对应的调用信息,可以确定出至少一个调用链,每个调用链包括至少两个对象和所述至少两个对象的调用顺序,同一调用链中包括的各对象对应的调用信息中的调用链标识相同。根据所述至少一个调用链,生成调用时序图,所述调用时序图中包括所述业务系统中的对象和每个调用链对应的调用连线,一个调用链对应的调用连线用于连接所述调用链包括的至少两个对象。[0153]举例而言,图7为本技术实施例提供的一种调用时序图的示意图。如图7所示,调用时序图中包括业务系统中的各对象,还包括了各个调用链中各对象之间的调用连线。应理解的是,实际应用中,调用时序图中每个对象可以对不同的业务、场景调用,并且还可以被调用多次。[0154]根据调用时序图,可以获取到不同业务、不同场景对应的调用链信息。还可以获取到每个调用链中每个对象被调用时的调用分布图。图8为本技术实施例提供的另一种调用时序图的示意图。图8中以业务1为例,示例了业务1中的场景1、场景2和场景3各自对应的调用链。图9为图8中的各节点的调用分布示意图。图9中分别示例了每个调用链中每个对象被调用时的调用分布图。[0155]本实施例提供的业务系统中运行数据的处理方法,能够确定出业务系统中的每个对象(每个方法和接口)在各业务中的各场景的调用次数,一方面,使得能够统计到业务系统中的所有接口和方法的被调用情况,另一方面,使得能够统计到每个接口和方法在各业务中的各场景的调用情况,因此,保证了获取到的业务系统中的运行数据更加精细化,从而能够精确地分析出业务系统的实际业务处理情况。[0156]在上述任意实施例的基础上,由于不同业务场景中对业务、场景的划分方式不同,为了使本技术技术方案可应用于各种不同的业务场景中,本技术还提供一种对业务系统的配置方法。下面对业务系统的配置过程进行介绍。[0157]一些可能的示例中,本实施例可以向用户提供业务场景配置页面,以便用户可以根据实际业务场景,配置多个业务以及多个场景。图10为本技术实施例提供的配置业务场景的示意图。如图10所示,可以包括一级配置、二级配置、三级配置以及后续自定义配置。[0158]其中,一级配置可供用户配置多个业务。图10中以用户配置了业务1、业务2、业务3为例进行示意。[0159]二级配置可供用户为每个业务配置多个场景。例如图10中,为业务1配置了场景1、场景2、场景3;为业务2配置了场景1、场景2、场景3和场景4;为业务3配置了场景1和场景2。[0160]三级配置可供用户为每个场景配置更细粒度的场景。例如图10中,为场景1配置了场景1.1和场景1.2。类似的,用户还可以在后续配置中进行更细粒度的配置。[0161]通过上述对业务场景的配置过程,可以构建得到如图10所示的业务‑场景关系树。需要说明的是,图10所示仅为示例,在实际应用中,针对不同的业务场景,可以有不同的配置方式,本实施例对此不作限定。通过上述对业务场景的配置过程,使得支持自定义的对业务、场景进行配置,使得本实施例的应用更加灵活。[0162]进一步的,在获取到用户配置的业务、场景信息后,还可以实时监测业务、场景信息是否有更新。若存在更新,则在确定对象的调用数据时,采用更新后的业务、场景信息。[0163]一些示例中,对业务场景进行配置更新时,可能存在新增非独立场景的情况。图11为本技术实施例提供的业务场景配置的更新过程示意图。如图11所示,假设用户已为业务1配置了场景1、场景2、场景3。用户在进行业务场景配置更新时,新增场景4,而场景4与场景1产生重叠。该情况下,可以将场景1和场景4的重叠部分作为新场景1,并将原有场景1与新增场景4降级为二级配置,即对应图11中的场景1.1、1.2。后续子场景配置顺次降级。进一步的,将原有场景1的调用统计数据中与场景4重叠部分的调用统计数据分配至新场景1.2中,并在新场景1.1中删除此部分数据。更新完成后,在此时间点之后,两个新场景即可独立采集调用统计数据。[0164]另一些可能的示例中,本实施例还可以向用户提供埋点配置页面。用户可通过该页面配置所需埋点的对象(方法或接口)所在路径。这里可配置的对象可以是对外暴露的方法或者接口,还可以是业务系统内部的方法,还可以是用于访问外部系统的方法或者接口。当监测到某个对象被调用后,根据该对象所在路径识别该对象是否为已埋点对象。若是已埋点对象,则触发图2或者图3所示实施例,以获取该对象的调用数据。[0165]通过对埋点的配置,使得不需要侵入业务系统内部代码,即可实现对业务系统的埋点处理,保证了业务系统的安全性。[0166]图12为本技术实施例提供的一种业务系统中运行数据的确定装置的结构示意图。本实施例的装置可以为软件和/或硬件的形式。如图12所示,本实施例提供的业务系统中运行数据的确定装置1200,可以包括:第一确定模块1201、第二确定模块1202和处理模块1203。[0167]其中,第一确定模块1201,用于确定所述业务系统中的第一对象被调用,所述第一对象为所述业务系统中的方法或者接口;[0168]第二确定模块1202,用于确定所述第一对象对应的调用信息,所述调用信息包括调用所述第一对象的业务标识和场景标识;[0169]处理模块1203,用于获取所述第一对象对应的历史调用数据,所述历史调用数据包括所述第一对象在历史时段内被所述业务系统中各业务中各场景的调用次数;[0170]所述处理模块1203,还用于根据所述调用信息更新所述历史调用数据,得到所述第一对象对应的调用数据。[0171]一种可能的实现方式中,所述第二确定模块1202具体用于:[0172]获取所述第一对象的类型,所述第一对象的类型为首对象或者中间对象,所述首对象为调用链中的第一个对象,所述中间对象为调用链中除所述第一个对象之外的其它对象;[0173]根据所述第一对象的类型,确定所述第一对象对应的调用信息。[0174]一种可能的实现方式中,所述第一对象的类型为首对象;所述第二确定模块1202具体用于:[0175]获取所述第一对象对应的调用请求,所述调用请求中包括至少一个传入参数;[0176]根据所述至少一个传入参数,确定所述第一对象对应的调用信息。[0177]一种可能的实现方式中,所述第二确定模块1202具体用于:[0178]获取第一对应关系和第二对应关系;其中,所述第一对应关系用于指示不同传入参数与不同业务标识之间的对应关系,所述第二对应关系用于指示不同传入参数与不同场景标识之间的对应关系;[0179]根据所述至少一个传入参数和所述第一对应关系,确定出调用所述第一对象的业务标识;[0180]根据所述至少一个传入参数和所述第二对应关系,确定出调用所述第一对象的场景标识。[0181]一种可能的实现方式中,所述第一对象的类型为中间对象;所述第二确定模块1202具体用于:[0182]确定所述第一对象对应的上级调用信息,所述上级调用信息中包括业务标识和场景标识,所述上级调用信息为对所述第一对象的上一个对象的调用信息,对所述第一对象和所述上一个对象的调用位于同一调用链;[0183]确定所述第一对象对应的调用信息中包括所述上级调用信息中的业务标识和对象标识。[0184]一种可能的实现方式中,所述处理模块1203具体用于:[0185]在所述历史调用数据中确定所述业务标识和所述场景标识对应的调用次数;[0186]将所述业务标识和所述场景标识对应的调用次数加一,以及保持所述历史调用数据中的其它调用数据不变,得到所述第一对象对应的调用数据,所述第一对象对应的调用数据包括所述第一对象在最新历史时段内被所述业务系统的各业务中各场景的调用次数。[0187]一种可能的实现方式中,所述第一对象对应的调用数据中还包括所述第一对象对应的调用分布图;所述处理模块1203还用于:[0188]获取所述第一对象对应的历史调用分布图,所述历史调用分布图中包括所述第一对象在所述历史时段内被所述业务系统中各业务中各场景的调用次数;[0189]根据所述第一对象在所述最新历史时段内被所述业务系统的各业务中各场景的调用次数,更新所述历史调用分布图。[0190]一种可能的实现方式中,所述调用信息中还包括调用链标识;所述处理模块1203还用于:[0191]获取所述业务系统在所述历史时段内被调用的多个对象对应的调用信息;[0192]根据所述多个对象对应的调用信息,确定至少一个调用链,每个调用链包括至少两个对象和所述至少两个对象的调用顺序,同一调用链中包括的各对象对应的调用信息中的调用链标识相同;[0193]根据所述至少一个调用链,生成调用时序图,所述调用时序图中包括所述业务系统中的对象和每个调用链对应的调用连线,一个调用链对应的调用连线用于连接所述调用链包括的至少两个对象。[0194]本实施例提供的装置可用于执行上述任一方法实施例中的技术方案,其实现原理和技术效果类似,此处不作赘述。[0195]图13为本技术实施例提供的一种电子设备的结构示意图。该电子设备可以为部署有业务系统的电子设备。如图13所示,本实施例提供的电子设备1300,包括:处理器1301以及存储器1302。[0196]其中,存储器1302,用于存储计算机程序;处理器1301,用于执行存储器中存储的计算机程序,以实现上述实施例中业务系统中运行数据的确定方法中的一个或者多个步骤。具体可以参见前述方法实施例中的相关描述,其实现原理和技术效果类似,本实施例此处不再赘述。[0197]可选地,存储器1302既可以是独立的,也可以跟处理器1301集成在一起。[0198]当所述存储器1302是独立于处理器1301之外的器件时,所述电子设备1300还可以包括:总线1303,用于连接所述存储器1302和处理器1301。[0199]本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序用于实现如上任一方法实施例中的业务系统中运行数据的确定方法中的一个或者多个步骤,其实现原理和技术效果类似,此处不作赘述。[0200]本技术实施例还提供一种芯片,包括:存储器和处理器,所述存储器中存储有计算机程序,所述处理器运行所述计算机程序执行上述任一方法实施例中的业务系统中运行数据的确定方法中的一个或者多个步骤,其实现原理和技术效果类似,此处不作赘述。[0201]本技术实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例中的业务系统中运行数据的确定方法中的一个或者多个步骤,其实现原理和技术效果类似,此处不作赘述。[0202]在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。[0203]所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。[0204]另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。[0205]上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例所述方法的部分步骤。[0206]应理解,上述处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。[0207]存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。[0208]总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。[0209]上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。[0210]一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(applicationspecificintegratedcircuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。[0211]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。[0212]最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献