CN112612556A - 中台执行链路生成方法、系统、设备及存储介质 - Google Patents

中台执行链路生成方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN112612556A
CN112612556A CN202011553301.9A CN202011553301A CN112612556A CN 112612556 A CN112612556 A CN 112612556A CN 202011553301 A CN202011553301 A CN 202011553301A CN 112612556 A CN112612556 A CN 112612556A
Authority
CN
China
Prior art keywords
execution
link
application
execution link
middle station
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011553301.9A
Other languages
English (en)
Other versions
CN112612556B (zh
Inventor
李松
高杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Yunmanman Information Technology Co Ltd
Original Assignee
Jiangsu Manyun Logistics Information Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Manyun Logistics Information Co Ltd filed Critical Jiangsu Manyun Logistics Information Co Ltd
Priority to CN202011553301.9A priority Critical patent/CN112612556B/zh
Publication of CN112612556A publication Critical patent/CN112612556A/zh
Application granted granted Critical
Publication of CN112612556B publication Critical patent/CN112612556B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种中台执行链路生成方法、系统、设备及存储介质,该方法包括:中台应用启动时,读取中台应用的字节码;对所述字节码进行解析,确定所述中台应用中类和方法的调用关系;将所述中台应用中的调用关系记录为执行链路数据。本发明提供了中台应用中的执行链路的生成方法,对于基于注解方式表达关系的中台应用,通过字节码动态地对所述中台应用进行分析,生成执行链路,提高了中台依赖关系的可读性。

Description

中台执行链路生成方法、系统、设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种中台执行链路生成方法、系统、设备及存储介质。
背景技术
过去几年中,借着移动互联网的红利,许多公司都高速发展,进行大规模的业务拓展,业务拓展的速度足够快,对公司自然是好事,但是随之而来的问题就是,公司内部出现了大量的重复建设和资源的浪费,以一个购物平台公式为例,刚开始的时候只有购物平台A,后面出现了购物平台B,随着购物平台B的不断发展,逐渐独立成一个部门,但他们都包含了商品、订单、库层等基本业务系统,但两个系统互相独立,各自运行。而后再出现系统时,每次都需要重新开发一遍,这无疑是很大的资源浪费,在这样的背景下,逐渐将各个业务部门功能复用,对反复建设的功能和系统进行统一规划和管理,这就是中台的概念。
现有中台系统中对解决方案的执行链路,大部分都是基于XML(ExtensibleMarkup Language,可扩展标记语言)配置的方式,XML配置中显式的说明他们之间的关系,但不够灵活。现有的中台管理系统也是基于XML配置来实现可视化看板展示,展示的数据非常有限,只有XML配置的数据,更深的代码执行路径并没有展示。
中台应用中复用的功能在中台,定制化功能在垂直业务对应的扩展点中,所以当业务越来越复杂、垂直业务越来越多时,扩展点也会越来越多,工作人员无法很清楚地了解到整个中台应用的调用链路状况。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种中台执行链路生成方法、系统、设备及存储介质,提供了中台应用中的执行链路的生成方法,提高了中台依赖关系的可读性。
本发明实施例提供一种中台执行链路生成方法,包括如下步骤:
中台应用启动时,读取中台应用的字节码;
对所述字节码进行解析,确定所述中台应用中类和方法的调用关系;
将所述中台应用中的调用关系记录为执行链路数据。
在一些实施例中,对所述字节码进行解析,确定所述应用中方法的调用关系,包括如下步骤:
扫描所述字节码中的注解,确定包括解决方案注解的类,作为入口类;
对所述入口类中的方法字节码进行解析,确定所述应用中方法的调用关系。
在一些实施例中,对所述入口类中的方法字节码进行解析,确定所述应用中方法的调用关系,包括如下步骤:
对所述入口类中的方法字节码进行逐行解析,对于每行字节码,判断该行字节码是否包括其他方法或类的注解,如果是,则记录该行字节码的方法与其他方法或类的调用关系。
在一些实施例中,对所述入口类中的方法字节码进行逐行解析,还包括如下步骤:
对于每行字节码,判断是否包括方法调用信息,如果是,则递归分析所述方法调用信息所对应的方法的字节码。
在一些实施例中,将所述中台应用中的调用关系记录为执行链路数据,包括如下步骤:
根据所述中台应用中的方法和类的调用关系,生成树状关系的关系数据,作为所述执行链路数据。
在一些实施例中,将所述中台应用中的调用关系记录为执行链路数据之后,还包括如下步骤:
将所述执行链路数据存储于数据库;
接收到链路查看请求时,从所述数据库查询所对应的执行链路数据,并展示所述执行链路数据。
在一些实施例中,所述展示所述执行链路数据,包括如下步骤:
如果所述链路查看请求为一解决方案的链路查看请求,根据所述执行链路数据以树形结构展示所述解决方案中的方法和类的调用关系。
在一些实施例中,所述展示所述执行链路数据,包括如下步骤:
如果所述链路查看请求为一垂直业务的链路查看请求,根据所述执行链路数据模拟所述垂直业务中所有扩展点的执行路径,并进行展示。
在一些实施例中,所述链路数据包括所述垂直业务的扩展点被调用的接口类和方法以及所述扩展点的接口类和实现类的关系;
模拟所述垂直业务中所有扩展点的执行路径,包括如下步骤:
根据所述执行链路数据虚拟得到所述垂直业务被调用的方法的调用参数;
通过反射的方式调用所述扩展点被调用时的方法,获取所述扩展点被调用的实现类;
展示实际被调用的所述扩展点的接口类和实现类。
本发明实施例还提供一种中台执行链路生成系统,用于实现所述的中台执行链路生成方法,所述系统包括:
字节码读取模块,用于在中台应用启动时,读取中台应用的字节码;
字节码分析模块,用于对所述字节码进行解析,确定所述中台应用中类和方法的调用关系;
链路记录模块,用于将所述中台应用中的调用关系记录为执行链路数据。
在一些实施例中,所述链路记录模块还用于将所述执行链路数据存储于数据库,所述系统还包括:
链路展示模块,用于接收到链路查看请求时,从所述数据库查询所对应的执行链路数据,并展示所述执行链路数据。
本发明实施例还提供一种中台执行链路生成设备,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的中台执行链路生成方法的步骤。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被处理器执行时实现所述的中台执行链路生成方法的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本发明的中台执行链路生成方法、系统、设备及存储介质具有如下有益效果:
本发明提供了中台应用中的执行链路的生成方法,对于基于注解方式表达关系的中台应用,通过字节码动态地对所述中台应用进行分析,生成执行链路,提高了中台依赖关系的可读性。进一步地,本发明还提供了一种执行链路的查看方法,基于执行链路数据,可视化展示中台应用中的执行链路,并且能够模拟中台应用的扩展点的执行路径,方便工作人员查看和了解执行调用关系。基于此,在查看执行链路时,无需侵入原有中台应用,并且可以通过树形结构进行展示,具有很好的可读性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是本发明一实施例的中台执行链路生成方法的流程图;
图2是本发明一实施例的中台执行链路生成和查看时的流程图;
图3是本发明一实施例的选择垂直业务的示意图;
图4和图5是本发明一实施例的扩展点接口和执行方法展示的示意图;
图6和图7是本发明一实施例的选择垂直业务后,展示真实执行到的扩展点实现类的示意图;
图8是本发明一实施例的中台执行链路生成系统的结构示意图;
图9是本发明一实施例的中台执行链路生成设备的结构示意图;
图10是本发明一实施例的计算机可读存储介质的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此,实际执行的顺序有可能根据实际情况改变。
如图1所示,本发明实施例提供一种中台执行链路生成方法,包括如下步骤:
S100:中台应用启动时,读取中台应用的字节码,此处中台应用即为中台管理系统中的应用,以货运平台中台管理系统为例,应用可以包括发货应用、货源详情应用、小黑板应用、下单应用等,每个应用对应一个相对独立的功能模块;
S200:对所述字节码进行解析,确定所述中台应用中类和方法的调用关系;
S300:将所述中台应用中的调用关系记录为执行链路数据。
本发明所应用的中台管理系统为基于Java注解的方式来表达关系的,不需要显示地去配置依赖关系,只需要在方法或类上面添加注解。中台应用基于注解的方式,在使用时会很方便,但中台管理系统中需要的可视化解决方案调用关系,就不能像解析XML这种静态文件那样简单。基于此,本发明提供了中台应用中的执行链路的生成方法,通过步骤S100和S200,可以使用字节码分析lib插件分析字节码,动态分析中台应用代码的执行链路,对于基于Java注解方式表达关系的中台系统,通过字节码动态地对所述中台应用进行分析,生成执行链路,提高了中台依赖关系的可读性。
如图2所示,在该实施例中,上述步骤S100~S300可以部署在中台应用服务器上实现,例如通过一个中间件mbf-core来实现。所述步骤S100:读取中台应用的字节码,可以是在中台管理系统中的应用启动时,通过该中间件mbf-core基于Javassist读取字节码。
在该实施例中,所述步骤S200:对所述字节码进行解析,确定所述应用中方法的调用关系,包括如下步骤:
扫描所述字节码中的注解,确定包括解决方案注解的类,作为入口类;在该实施例中,解决方案为应用的具体实现方案,例如,以货运平台为例,对于发货应用,其解决方案可以包括发货初始化渲染方案;
对所述入口类中的方法字节码进行解析,确定所述应用中方法的调用关系,此调用关系,即所述应用中的方法与所述中台管理系统中其他方法或类之间的调用关系。
进一步地,对所述入口类中的方法字节码进行解析,确定所述应用中方法的调用关系,包括如下步骤:
对所述入口类中的方法字节码进行逐行解析,对于每行字节码,判断该行字节码是否包括其他方法或类的注解,如果是,则记录该行字节码的方法与其他方法或类的调用关系。
进一步地,每行方法字节码中可以进一步包括方法调用信息,上述的对所述入口类中的方法字节码进行逐行解析,还包括如下步骤:
对于每行字节码,判断是否包括方法调用信息,如果是,则递归分析所述方法调用信息所对应的方法的字节码,即对于所述方法调用信息所对应的方法的字节码也采用上述的分析方法进行分析(即判断该行字节码是否包括其他方法或类的注解,如果是,则记录该行字节码的方法与其他方法或类的调用关系)。
具体地,在一种具体实施方式中,所述步骤S200:对所述字节码进行解析,确定所述应用中方法的调用关系的执行步骤可以包括:扫描中台管理系统中对于该应用的字节码中的注解,找到包含解决方案注解的类,以这个类为入口,对这个类中的方法字节码逐行解析,每行如果也是方法调用,则递归分析调用的这个方法。每行方法调用的时候,判断下这个方法被调用的类或者方法是不是包含了中台的其他方法或类的注解,如果包含,则记录一下当前该行方法与调用方的关系。
在该实施例中,所述步骤S300:将所述中台应用中的调用关系记录为执行链路数据,包括如下步骤:
根据所述中台应用中的方法和类的调用关系,生成树状关系的关系数据,作为所述执行链路数据,该执行链路数据可以存储为JSON(JavaScript Object Notation,JS对象简谱)数据(一种轻量级的数据交换格式),但本发明不限于此。
进一步地,为了实现生成的执行链路的可视化展示,所述方法还包括执行链路数据展示的步骤,具体地,将所述中台应用中的调用关系记录为执行链路数据之后,还包括如下步骤:
将所述执行链路数据存储于数据库,所述数据库例如可以配置在云端服务器,但本发明不限于此,在其他实施方式中,所述数据库也可以配置在本地数据服务器,均属于本发明的保护范围之内;在所述数据库配置在云端服务器时,所述中台应用服务器可以通过Http请求将所述执行链路数据上传到云端服务器;
接收到链路查看请求时,从所述数据库查询所对应的执行链路数据,并展示所述执行链路数据,此处展示可以是在服务器的显示屏上进行展示,也可以是推送到用户使用的用户终端中,由用户通过用户终端查看。
因此,本发明实施例还提供了一种执行链路的查看方法,基于执行链路数据,可视化展示中台应用中的执行链路,并且能够模拟中台应用的扩展点的执行路径,方便工作人员查看和了解执行调用关系。基于此,在查看执行链路时,无需侵入原有中台应用,并且可以通过树形结构进行展示,具有很好的可读性。
如图2所示,可以提供一个看板服务服务器,提供看板服务。用户可以通过看板服务服务器发送链路查看请求,所述链路查看请求可以包括具体想要查看的应用的执行链路、想要查看的解决方案的执行链路或想要查看的垂直业务的执行链路等等。
所述看板服务服务器在展示中央看板时,从数据库读取执行链路数据,展示应用下所有采集到的解决方案和对应的垂直业务类型。如图3所示,以发货平台的发货应用为例,其包括的解决方案有:发货初始化渲染方案,其垂直业务有:先行赔付、拍卖、一口价、冷运、成交率线路、企业货运宝、一手货主委托、拼车、长车、多车、新货主、个人普货等等。垂直业务即为该应用所直接关联的下属业务功能模块。
在该实施例中,如果所述链路查看请求为一解决方案的链路查看请求,所述展示所述执行链路数据,包括:根据所述执行链路数据以树形结构展示所述解决方案中的方法和类的调用关系。如图4所示,为在货运平台的中台管理系统中查看一解决方案时的示意图。如图5所示,点击具体的类时,可以出现弹窗显示具体的模块信息。
在该实施例中,如果所述链路查看请求为一垂直业务的链路查看请求,所述展示所述执行链路数据,包括:根据所述执行链路数据模拟所述垂直业务中所有扩展点的执行路径,并进行展示。
具体地,所述链路数据包括所述垂直业务的扩展点被调用的接口类和方法以及所述扩展点的接口类和实现类的关系。即在上述生成执行链路数据的步骤中,采集扩展点的执行链路数据时,记录了扩展点被调用的接口类和方法,并记录了这个扩展点接口和他所有实现类(实现类包含了注解的所有信息)的关系,如图4所示。
模拟所述垂直业务中所有扩展点的执行路径,包括如下步骤:
根据所述执行链路数据虚拟得到所述垂直业务被调用的方法的调用参数;
通过反射的方式调用所述扩展点被调用时的方法,获取所述扩展点被调用的实现类;
展示实际被调用的所述扩展点的接口类和实现类。
因此,在通过看板选择垂直业务时,可以动态展示中台业务所有扩展点全部的执行路径。
具体地,在看板服务器中,引入中台中间件代码,当模拟扩展点的执行路径时,通过所述执行链路数据先虚拟出方法调用的参数,再通过反射的方式调用这个扩展点被调用时候的方法,最后返回实际被调用的扩展点,如图6所示。在图6的基础上,点击具体的类,可以弹窗显示具体的模块信息,如图7所示。
进一步地,在以树形结构展示所述执行链路数据时,可以设置不同的颜色表示不同的类。以图4~图7为例说明,解决方案、活动、域服务、域能力、扩展点接口、扩展点实现类均可以采用不同的颜色来进行表示,方便用户进行识别,并且可以在展示所述执行链路时,在一侧显示各种颜色与对应的类名的对应解释。进一步地,在以树形结构展示所述执行链路数据时,扩展点接口、默认扩展点、定制扩展点、业务单元接口、默认业务单元、定制业务单元均可以采用不同的颜色来进行表示。
如图8所示,本发明实施例还提供一种中台执行链路生成系统,用于实现所述的中台执行链路生成方法,所述系统包括:
字节码读取模块M100,用于在中台应用启动时,读取中台应用的字节码,此处中台应用即为中台管理系统中的应用,以货运平台中台管理系统为例,应用可以包括发货应用、货源详情应用、小黑板应用、下单应用等,每个应用对应一个相对独立的功能模块;
字节码分析模块M200,用于对所述字节码进行解析,确定所述中台应用中类和方法的调用关系;
链路记录模块M300,用于将所述中台应用中的调用关系记录为执行链路数据。
本发明提供了中台应用中的执行链路的生成系统,通过字节码读取模块M100可以读取字节码,通过字节码分析模块M200可以使用字节码分析lib插件分析字节码,动态分析中台应用代码的执行链路,对于基于Java注解方式表达关系的中台系统,通过字节码动态地对所述中台应用进行分析,生成执行链路,提高了中台依赖关系的可读性。
在该实施例中,所述字节码分析模块M200可以采用如下步骤对所述字节码进行解析,确定所述应用中方法的调用关系:
所述字节码分析模块M200扫描所述字节码中的注解,确定包括解决方案注解的类,作为入口类;在该实施例中,解决方案为应用的具体实现方案,例如,以货运平台为例,对于发货应用,其解决方案可以包括发货初始化渲染方案;
所述字节码分析模块M200对所述入口类中的方法字节码进行解析,确定所述应用中方法的调用关系,此调用关系,即所述应用中的方法与所述中台管理系统中其他方法或类之间的调用关系。
进一步地,所述字节码分析模块M200采用如下步骤对所述入口类中的方法字节码进行解析,确定所述应用中方法的调用关系:
所述字节码分析模块M200对所述入口类中的方法字节码进行逐行解析,对于每行字节码,判断该行字节码是否包括其他方法或类的注解,如果是,则记录该行字节码的方法与其他方法或类的调用关系。
进一步地,每行方法字节码中可以进一步包括方法调用信息,所述字节码分析模块M200对所述入口类中的方法字节码进行逐行解析时,对于每行字节码,判断是否包括方法调用信息,如果是,则递归分析所述方法调用信息所对应的方法的字节码,即对于所述方法调用信息所对应的方法的字节码也采用上述的分析方法进行分析(即判断该行字节码是否包括其他方法或类的注解,如果是,则记录该行字节码的方法与其他方法或类的调用关系)。
具体地,在一种具体实施方式中,所述字节码分析模块M200对所述字节码进行解析,确定所述应用中方法的调用关系的执行方式可以包括:所述字节码分析模块M200扫描中台管理系统中对于该应用的字节码中的注解,找到包含解决方案注解的类,以这个类为入口,对这个类中的方法字节码逐行解析,每行如果也是方法调用,则递归分析调用的这个方法。每行方法调用的时候,判断下这个方法被调用的类或者方法是不是包含了中台的其他方法或类的注解,如果包含,则记录一下当前该行方法与调用方的关系。
在该实施例中,所述链路记录模块M300采用如下步骤将所述中台应用中的调用关系记录为执行链路数据:
所述链路记录模块M300根据所述中台应用中的方法和类的调用关系,生成树状关系的关系数据,作为所述执行链路数据,该执行链路数据可以存储为JSON数据,但本发明不限于此。
在该实施例中,所述链路记录模块M300还用于将所述执行链路数据存储于数据库,例如以Http请求上传到云端数据库,但本发明不限于此。
如图8所示,所述中台执行链路生成系统还包括:
链路展示模块M400,用于接收到链路查看请求时,从所述数据库查询所对应的执行链路数据,并展示所述执行链路数据,此处展示可以是在服务器的显示屏上进行展示,也可以是推送到用户使用的用户终端中,由用户通过用户终端查看。
因此,本发明的中台执行链路生成系统还具有执行链路查看功能,基于执行链路数据,通过所述链路展示模块M400可视化展示中台应用中的执行链路,并且能够模拟中台应用的扩展点的执行路径,方便工作人员查看和了解执行调用关系。基于此,在查看执行链路时,无需侵入原有中台应用,并且可以通过树形结构进行展示,具有很好的可读性。
在该实施例中,如果所述链路查看请求为一解决方案的链路查看请求,所述链路展示模块M400展示所述执行链路数据,包括:根据所述执行链路数据以树形结构展示所述解决方案中的方法和类的调用关系。
在该实施例中,如果所述链路查看请求为一垂直业务的链路查看请求,所述链路展示模块M400展示所述执行链路数据,包括:根据所述执行链路数据模拟所述垂直业务中所有扩展点的执行路径,并进行展示。
具体地,所述链路数据包括所述垂直业务的扩展点被调用的接口类和方法以及所述扩展点的接口类和实现类的关系。即在上述生成执行链路数据的步骤中,采集扩展点的执行链路数据时,记录了扩展点被调用的接口类和方法,并记录了这个扩展点接口和他所有实现类(实现类包含了注解的所有信息)的关系。
在该实施例中,所述链路展示模块M400可以采用如下步骤模拟所述垂直业务中所有扩展点的执行路径:
所述链路展示模块M400根据所述执行链路数据虚拟得到所述垂直业务被调用的方法的调用参数;
所述链路展示模块M400通过反射的方式调用所述扩展点被调用时的方法,获取所述扩展点被调用的实现类;
所述链路展示模块M400展示实际被调用的所述扩展点的接口类和实现类。
本发明实施例还提供一种中台执行链路生成设备,包括处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的中台执行链路生成方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
下面参照图9来描述根据本发明的这种实施方式的电子设备600。图9显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述中台执行链路生成方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
所述中台执行链路生成设备中,所述存储器中的程序被处理器执行时实现所述的中台执行链路生成方法的步骤,因此,所述计算机存储介质也可以获得上述中台执行链路生成方法的技术效果。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被处理器执行时实现所述的中台执行链路生成方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上执行时,所述程序代码用于使所述终端设备执行本说明书上述中台执行链路生成方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图10所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上执行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
所述计算机存储介质中的程序被处理器执行时实现所述的中台执行链路生成方法的步骤,因此,所述计算机存储介质也可以获得上述中台执行链路生成方法的技术效果。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (13)

1.一种中台执行链路生成方法,其特征在于,包括如下步骤:
中台应用启动时,读取中台应用的字节码;
对所述字节码进行解析,确定所述中台应用中类和方法的调用关系;
将所述中台应用中的调用关系记录为执行链路数据。
2.根据权利要求1所述的中台执行链路生成方法,其特征在于,对所述字节码进行解析,确定所述应用中方法的调用关系,包括如下步骤:
扫描所述字节码中的注解,确定包括解决方案注解的类,作为入口类;
对所述入口类中的方法字节码进行解析,确定所述应用中方法的调用关系。
3.根据权利要求2所述的中台执行链路生成方法,其特征在于,对所述入口类中的方法字节码进行解析,确定所述应用中方法的调用关系,包括如下步骤:
对所述入口类中的方法字节码进行逐行解析,对于每行字节码,判断该行字节码是否包括其他方法或类的注解,如果是,则记录该行字节码的方法与其他方法或类的调用关系。
4.根据权利要求3所述的中台执行链路生成方法,其特征在于,对所述入口类中的方法字节码进行逐行解析,还包括如下步骤:
对于每行字节码,判断是否包括方法调用信息,如果是,则递归分析所述方法调用信息所对应的方法的字节码。
5.根据权利要求1所述的中台执行链路生成方法,其特征在于,将所述中台应用中的调用关系记录为执行链路数据,包括如下步骤:
根据所述中台应用中的方法和类的调用关系,生成树状关系的关系数据,作为所述执行链路数据。
6.根据权利要求5所述的中台执行链路生成方法,其特征在于,将所述中台应用中的调用关系记录为执行链路数据之后,还包括如下步骤:
将所述执行链路数据存储于数据库;
接收到链路查看请求时,从所述数据库查询所对应的执行链路数据,并展示所述执行链路数据。
7.根据权利要求6所述的中台执行链路生成方法,其特征在于,所述展示所述执行链路数据,包括如下步骤:
如果所述链路查看请求为一解决方案的链路查看请求,根据所述执行链路数据以树形结构展示所述解决方案中的方法和类的调用关系。
8.根据权利要求6所述的中台执行链路生成方法,其特征在于,所述展示所述执行链路数据,包括如下步骤:
如果所述链路查看请求为一垂直业务的链路查看请求,根据所述执行链路数据模拟所述垂直业务中所有扩展点的执行路径,并进行展示。
9.根据权利要求8所述的中台执行链路生成方法,其特征在于,所述链路数据包括所述垂直业务的扩展点被调用的接口类和方法以及所述扩展点的接口类和实现类的关系;
模拟所述垂直业务中所有扩展点的执行路径,包括如下步骤:
根据所述执行链路数据虚拟得到所述垂直业务被调用的方法的调用参数;
通过反射的方式调用所述扩展点被调用时的方法,获取所述扩展点被调用的实现类;
展示实际被调用的所述扩展点的接口类和实现类。
10.一种中台执行链路生成系统,用于实现权利要求1至9中任一项所述的中台执行链路生成方法,其特征在于,所述系统包括:
字节码读取模块,用于在中台应用启动时,读取中台应用的字节码;
字节码分析模块,用于对所述字节码进行解析,确定所述中台应用中类和方法的调用关系;
链路记录模块,用于将所述中台应用中的调用关系记录为执行链路数据。
11.根据权利要求10所述的中台执行链路生成系统,其特征在于,所述链路记录模块还用于将所述执行链路数据存储于数据库,所述系统还包括:
链路展示模块,用于接收到链路查看请求时,从所述数据库查询所对应的执行链路数据,并展示所述执行链路数据。
12.一种中台执行链路生成设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至9中任一项所述的中台执行链路生成方法的步骤。
13.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现权利要求1至9中任一项所述的中台执行链路生成方法的步骤。
CN202011553301.9A 2020-12-24 2020-12-24 中台执行链路生成方法、系统、设备及存储介质 Active CN112612556B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011553301.9A CN112612556B (zh) 2020-12-24 2020-12-24 中台执行链路生成方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011553301.9A CN112612556B (zh) 2020-12-24 2020-12-24 中台执行链路生成方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112612556A true CN112612556A (zh) 2021-04-06
CN112612556B CN112612556B (zh) 2022-07-15

Family

ID=75245187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011553301.9A Active CN112612556B (zh) 2020-12-24 2020-12-24 中台执行链路生成方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112612556B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733710A (zh) * 2017-10-17 2018-02-23 平安科技(深圳)有限公司 链路调用关系的构建方法、装置、计算机设备及存储介质
CN110007957A (zh) * 2018-12-17 2019-07-12 阿里巴巴集团控股有限公司 调用链路构建方法、装置及设备
CN110795181A (zh) * 2019-09-18 2020-02-14 北京你财富计算机科技有限公司 基于跳转协议的应用程序界面展示方法、装置及电子设备
CN110825767A (zh) * 2019-11-15 2020-02-21 江苏满运软件科技有限公司 数据查询方法、平台、设备及存储介质
CN111008022A (zh) * 2019-12-04 2020-04-14 浙江大搜车软件技术有限公司 关系图生成方法、装置、计算机设备和存储介质
CN111782737A (zh) * 2020-08-12 2020-10-16 中国工商银行股份有限公司 信息处理方法、装置、设备及存储介质
CN112000398A (zh) * 2020-08-17 2020-11-27 苏州达家迎信息技术有限公司 底层接口调用链路的确定方法、装置、计算机设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733710A (zh) * 2017-10-17 2018-02-23 平安科技(深圳)有限公司 链路调用关系的构建方法、装置、计算机设备及存储介质
CN110007957A (zh) * 2018-12-17 2019-07-12 阿里巴巴集团控股有限公司 调用链路构建方法、装置及设备
CN110795181A (zh) * 2019-09-18 2020-02-14 北京你财富计算机科技有限公司 基于跳转协议的应用程序界面展示方法、装置及电子设备
CN110825767A (zh) * 2019-11-15 2020-02-21 江苏满运软件科技有限公司 数据查询方法、平台、设备及存储介质
CN111008022A (zh) * 2019-12-04 2020-04-14 浙江大搜车软件技术有限公司 关系图生成方法、装置、计算机设备和存储介质
CN111782737A (zh) * 2020-08-12 2020-10-16 中国工商银行股份有限公司 信息处理方法、装置、设备及存储介质
CN112000398A (zh) * 2020-08-17 2020-11-27 苏州达家迎信息技术有限公司 底层接口调用链路的确定方法、装置、计算机设备及介质

Also Published As

Publication number Publication date
CN112612556B (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
US8943518B2 (en) Managing and optimizing workflows among computer applications
CN113987074A (zh) 分布式服务全链路监控方法、装置、电子设备及存储介质
CN112347169A (zh) 基于php框架的用户请求处理方法、装置及电子设备
CN110795181A (zh) 基于跳转协议的应用程序界面展示方法、装置及电子设备
CN111770128B (zh) 一种消息管理方法和装置
CN112416349A (zh) 表单页面生成方法、系统、设备及存储介质
CN116414370A (zh) 基于低代码的平台构建方法、装置、介质及电子设备
CN111309621A (zh) 接口测试方法、系统、设备及存储介质
CN105094857B (zh) 用于应用加载的方法和系统
CN110795651A (zh) 用于保存前端数据的方法、装置及电子设备
CN112612556B (zh) 中台执行链路生成方法、系统、设备及存储介质
CN111241048A (zh) 一种web终端日志管理方法、装置、介质及电子设备
CN115454956A (zh) 日志生成方法、装置、电子设备及存储介质
US7610576B2 (en) System and method for simultaneous display of processes and associated files
EP3992866A2 (en) Method and apparatus for annotating data
CN111680240B (zh) 一种页面展示的方法、装置和电子设备
CN111612501B (zh) 一种基于策略复用的信息生成方法、装置和电子设备
CN113656041A (zh) 数据处理方法、装置、设备及存储介质
CN114356291A (zh) 基于配置文件生成表单的方法、装置、设备及介质
CN110224921B (zh) 发送包含招聘信息的邮件的方法、装置、介质、电子设备
CN114238128A (zh) 测试用例生成方法、装置、电子设备及计算机可读介质
CN114140091A (zh) 操作记录显示方法、装置、设备及介质
CN113779133A (zh) 数据处理方法、装置、电子设备、存储介质及程序产品
CN113448578A (zh) 页面数据处理方法、处理系统、电子设备和可读存储介质
CN113297258A (zh) 一种基于目标人群数据提取的定制化信息推送方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 210012 4th floor, building 5, no.170-1, software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee after: Jiangsu Yunmanman Information Technology Co.,Ltd.

Address before: 210012 4th floor, building 5, no.170-1, software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee before: Jiangsu manyun Logistics Information Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20210406

Assignee: Nanjing Manyun Cold Chain Technology Co.,Ltd.

Assignor: Jiangsu Yunmanman Information Technology Co.,Ltd.

Contract record no.: X2023980040393

Denomination of invention: Method, system, device, and storage medium for generating execution links in the middle platform

Granted publication date: 20220715

License type: Common License

Record date: 20230824

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 210012 3rd floor, building a, Wanbo Science Park, 66 Huashen Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee after: Jiangsu Yunmanman Information Technology Co.,Ltd.

Address before: 210012 4th floor, building 5, no.170-1, software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee before: Jiangsu Yunmanman Information Technology Co.,Ltd.