CN113900663A - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN113900663A
CN113900663A CN202111493127.8A CN202111493127A CN113900663A CN 113900663 A CN113900663 A CN 113900663A CN 202111493127 A CN202111493127 A CN 202111493127A CN 113900663 A CN113900663 A CN 113900663A
Authority
CN
China
Prior art keywords
service model
service
semantic
symbol
model
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
CN202111493127.8A
Other languages
English (en)
Other versions
CN113900663B (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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202111493127.8A priority Critical patent/CN113900663B/zh
Publication of CN113900663A publication Critical patent/CN113900663A/zh
Application granted granted Critical
Publication of CN113900663B publication Critical patent/CN113900663B/zh
Priority to PCT/CN2022/135115 priority patent/WO2023103844A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种数据处理方法及装置。若服务端中的第一服务模型被变更,在服务端中查找在多个应用中的至少部分应用中的依赖第一服务模型的第二服务模型。对第二服务模型进行语义校验,得到第二服务模型的语义校验结果,在第二服务模型的语义校验结果用于指示第二服务模型存在语义问题的情况下,输出第二服务模型的语义校验结果,以及时对第二服务模型优化,以消除第二服务模型的语义问题,进而使得包括该第二服务模型的应用能够快速恢复为客户提供服务,减少了包括该第二服务模型的应用应用中断对客户提供服务的时长,提高了客户体验以及租户体验。另外,校验过程中可以没有人的参与,从而可以降低人工成本。

Description

一种数据处理方法及装置
技术领域
本申请涉及新一代信息技术领域,特别是涉及一种数据处理方法及装置。
背景技术
随着技术的飞速发展,服务端得到了快速发展,开发人员可以在服务端中部署大量的服务模型,以供租户租用,并根据租用的服务模型以及租户自行开发的代码生成应用,然后可以基于应用对外提供服务。
例如,在租户需要为广大客户提供服务时,可以确定客户的线上数据所涉及的应用中的服务模型,然后在服务端中调用服务模型处理客户的线上数据,以实现为客户提供服务。
发明内容
本申请示出了一种数据处理方法及装置。
第一方面,本申请示出了一种数据处理方法,应用于服务端,所述服务端中具有用于对外提供服务的多个应用,各个应用分别是至少借助所述服务端中的多个服务模型在所述服务端中开发的,应用中包括的至少部分服务模型之间具有依赖关系;所述方法包括:在所述服务端中的第一服务模型被变更的情况下,在所述服务端中查找在所述多个应用中的至少部分应用中的依赖所述第一服务模型的至少一个第二服务模型;对于查找到的每一个第二服务模型,对所述第二服务模型进行语义校验,得到所述第二服务模型的语义校验结果,在所述第二服务模型的语义校验结果用于指示所述第二服务模型存在语义问题的情况下,输出所述第二服务模型的语义校验结果。
第二方面,本申请示出了一种数据处理方法,应用于终端,所述方法包括:接收服务端发送的示意图;所述示意图用于指示依赖关系且标记第二服务模型存在语义问题,所述依赖关系包括所述第二服务模型以及第一服务模型之间的依赖关系;所述依赖关系是所述服务端在对所述第二服务模型进行语义校验,并得到用于指示所述第二服务模型存在语义问题的语义校验结果的情况下获取的,所述第二服务模型包括在所述服务端中的第一服务模型被变更的情况下,在所述服务端中的多个应用中的至少部分应用中查找的依赖所述第一服务模型的至少一个服务模型;各个应用分别是至少借助所述服务端中的多个服务模型在所述服务端中开发的;应用中包括的至少部分服务模型之间具有依赖关系;渲染所述示意图。
第三方面,本申请示出了一种数据处理装置,应用于服务端,所述服务端中具有用于对外提供服务的多个应用,各个应用分别是至少借助所述服务端中的多个服务模型在所述服务端中开发的,应用中包括的至少部分服务模型之间具有依赖关系;所述装置包括:查找模块,用于在所述服务端中的第一服务模型被变更的情况下,在所述服务端中查找在所述多个应用中的至少部分应用中的依赖所述第一服务模型的至少一个第二服务模型;第一校验模块,用于对于查找到的每一个第二服务模型,对所述第二服务模型进行语义校验,得到所述第二服务模型的语义校验结果,输出模块,用于在所述第二服务模型的语义校验结果用于指示所述第二服务模型存在语义问题的情况下,输出所述第二服务模型的语义校验结果。
第四方面,本申请示出了一种数据处理装置,应用于终端,所述装置包括:第二接收模块,用于接收服务端发送的示意图;所述示意图用于指示依赖关系且标记第二服务模型存在语义问题,所述依赖关系包括所述第二服务模型以及第一服务模型之间的依赖关系;所述依赖关系是所述服务端在对所述第二服务模型进行语义校验,并得到用于指示所述第二服务模型存在语义问题的语义校验结果的情况下获取的,所述第二服务模型包括在所述服务端中的第一服务模型被变更的情况下,在所述服务端中的多个应用中的至少部分应用中查找的依赖所述第一服务模型的至少一个服务模型;各个应用分别是至少借助所述服务端中的多个服务模型在所述服务端中开发的;应用中包括的至少部分服务模型之间具有依赖关系;渲染模块,用于渲染所述示意图。
第五方面,本申请示出了一种电子设备,所述电子设备包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行如前述的任一方面所示的方法。
第六方面,本申请示出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前述的任一方面所示的方法。
第七方面,本申请示出了一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行如前述的任一方面所示的方法。
与现有技术相比,本申请包括以下优点:
其中,在租户的应用已经发布之后,在服务端的开发人员根据实际需求对服务端中已开发的第一服务模型更改的情况下,若由于第一服务模型被更改而引发第二服务模型存在语义问题,则很可能导致第二服务模型无法正常处理线上数据,进而导致目标应用无法正常处理线上数据,进而无法正常为客户提供服务。
往往需要经过较长时间,租户或者服务端的开发人员才能得到目标应用无法正常为客户提供服务的现状,这样,之后才会人工校验导致目标应用无法正常为客户提供服务的原因,之后才可能知道是第二服务模型存在语义问题,然后才可能知道是由于第一服务模型被变更而引发第二服务模型存在语义问题,从而推导出由于第二服务模型存在语义问题而导致第二服务模型无法正常处理线上数据,进而导致目标应用无法正常处理线上数据,进而无法正常为客户提供服务,然后开发人员才会对第二服务模型优化,解决目标应用无法正常处理线上数据的问题。
但是,上述情况中,实时性差,耗费时长较长,且人工成本较高,导致目标应用中断对客户提供服务的时长较长,客户体验差且租户体验也差。
而在本申请中,在服务端中的第一服务模型被变更的情况下,在服务端中查找在多个应用中的至少部分应用中的依赖第一服务模型的至少一个第二服务模型。对于查找到的任意一个第二服务模型,对该第二服务模型进行语义校验,得到该第二服务模型的语义校验结果,在该第二服务模型的语义校验结果用于指示该第二服务模型存在语义问题的情况下,输出该第二服务模型的语义校验结果。
通过本申请的方案可以迅速获知多个应用中的至少部分应用中的依赖第一服务模型的至少一个第二服务模型,并对各个第二服务模型进行语义校验,可以尽快得到各个第二服务模型是否存在语义问题的语义校验结果,在某一个第二服务模型存在语义问题时可以及时对该第二服务模型优化,以消除该第二服务模型的语义问题,从而使得该第二服务模型能够快速恢复具有正常处理线上数据的能力,使得包括该第二服务模型的应用可以更快恢复出能够正常处理客户的线上数据的能力,进而使得包括该第二服务模型的应用能够快速恢复为客户提供服务,减少了包括该第二服务模型的应用中断对客户提供服务的时长,提高了实时性,也即,减少了包括该第二服务模型的应用被耽误正常处理线上数据的时长,提高了客户体验以及租户体验。另外,校验过程中可以没有人的参与,从而可以降低人工成本。
其次,租户借助服务端中的服务模型开发应用的过程中,只要服务端中的第一服务模型被变更,则也可以执行本方案的流程,以通过本方案校验出包括第一服务模型中的应用是否包括存在语义问题的其他服务模型,并在包括其他服务模型的情况下可以提示开发人员对其他服务模型优化,以消除其他服务模型的语义问题,避免之后出现“租户借助其他服务模型生成应用的场景下由于其他服务模型存在语义问题而导致生成的应用无法正常为客户提供服务”的情况发生,进而可以避免降低客户体验以及租户体验。
另一方面,在开发人员在服务端中开发出一个服务模型之后,服务端就可以对服务模型进行语义校验,在该一个服务模型存在语义问题的情况下,就可以提示开发人员对该一个服务模型优化,以消除该一个服务模型的语义问题,避免之后在租户根据该一个服务模型开发应用的场景下才发现该语义问题并在届时优化该一个服务模型,进而可以避免届时的优化过程耽误租户开发应用的进程。
又一方面,在本申请中,服务端的开发人员可以在终端上使用浏览器接收示意图并查看示意图,以及,可以在终端上使用浏览器对服务端中的服务模型优化,不需要在终端上安装并使用专门的开发工具,从而可以提高便利性以及降低使用成本。
另外,租户也可以在终端上使用浏览器开发应用(例如,选择服务端中的服务模型以及自行开发需要的计算机程序代码)以及查看示意图,不需要在终端上安装并使用专门的开发工具,从而可以提高便利性以及降低使用成本。
附图说明
图1是本申请的一种数据处理方法的步骤流程图。
图2是本申请的一种数据处理方法的步骤流程图。
图3是本申请的一种数据处理方法的步骤流程图。
图4是本申请的一种示意图。
图5是本申请的一种数据处理装置的结构框图。
图6是本申请的一种数据处理装置的结构框图。
图7是本申请的一种装置的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
在本申请中,服务端中具有用于对外提供服务的多个应用,各个应用分别是至少借助服务端中的多个服务模型在服务端中开发的,应用中的至少部分服务模型之间具有依赖关系。
例如,服务端的开发人员在服务端中开发了大量的服务模型。不同的服务模型的功能不同。
租户可以借助服务端中的服务模型来开发应用,并基于应用对广大客户提供服务,其中,应用中的这些服务模型之间可以具有依赖关系。不同的租户均可以借助服务端中的服务模型生成各自的应用,并基于各自的应用对广大客户提供服务。
例如,租户可以根据自己的实际需求在服务端中挑选一些服务模型,其次还可以根据自己的实际情况开发一些自己需要的计算机程序代码,开发的计算机程序代码也可以作为服务模型,例如,租户需要自己的应用中具有一些自己需要的功能,但是服务端中提供的服务模型无法实现这些功能,则租户就可以自行开发计算机程序代码,以通过自行开发的计算机程序代码实现这些功能,其中,实现一个功能的计算机程序代码也可以看作一个服务模型。
如此,对于租户而言,就具有了在服务端中挑选的服务模型以及自行开发的服务模型。然后根据在服务端中挑选的服务模型以及自行开发的服务模型可以生成应用。应用中的包括的服务模型中,至少部分服务模型之间具有依赖关系,或者,全部的服务模型之间具有依赖关系。
在一个例子中,应用中的服务模型之间具有多层的依赖关系。
在租户需要处理客户的线上数据的情况下,可以根据应用中的服务模型之间的依赖关系,在服务端中依次调用应用中的服务模型,并基于调用的服务模型处理线上处理,以实现对客户提供服务。
其中,有时候,服务端的开发人员根据实际需求可能需要对在服务端中已开发的某一服务模型变更,例如,在该服务模型中改变了某一个符号或者删除了某一个符号。
然而,在租户开发的一些应用中可能具有该服务模型以及依赖具有该某一个符号的该服务模型的另一个服务模型。
这样,应用中的依赖具有该某一个符号的该服务模型的另一个服务模型可能会出现语义问题。
如果应用中的依赖具有该某一个符号的该服务模型的另一个服务模型出现语义问题,则可能会导致应用无法正常处理客户的线上数据,导致应用无法正常对广大客户提供服务,这样会降低客户体验以及租户的体验。
为了避免上述情况发生,在一个方式中,在应用无法正常处理客户的线上数据的情况下,应用会报错,用于指示应用出错,开发人员在感知到应用的报错之后,才会着手解决报错的问题,但是,由于事先并未记录关于更改的服务模型的相关日志,因此,开发人员仅仅根据应用的报错无法确定出“应用无法正常处理客户的线上数据”的真实原因,在无法得到真实原因的情况下,就无法解决“应用无法正常处理客户的线上数据”的问题。
因此,开发人员需要人工分析应用中包括哪些服务模型以及服务模型之间的依赖关系,然后人工校验应用中的各个服务模型的源代码,并根据服务模型之间的依赖关系以及各个服务模型的源代码人工分析“应用无法正常处理客户的线上数据”的真实原因,然后再根据真实原因对应用手动优化,以解决“应用无法正常处理客户的线上数据”的问题。
但是,在上述方式中,需要人工参与,人工成本高。
其次,上述方式中的逻辑链路包括:一个服务模型被更改-应用无法正常处理客户的线上数据-应用报错-开发人员感知报错-人工分析真实原因-手动优化应用,由于逻辑链路较长,使得一个服务模型被更改而导致应用无法正常处理客户的线上数据之后,需要耗费较长时间才能解决应用无法正常处理客户的线上数据的问题,解决效率低。导致应用中断对客户提供服务的时长较长,客户体验差且租户体验也差。
因此,提出了“降低人工成本,提高一个服务模型被更改而导致应用无法正常处理客户的线上数据之后,解决应用无法正常处理客户的线上数据的问题的效率,降低应用中断对客户提供服务的时长,提高客户体验且租户体验”的需求。
为了满足上述需求,发明人对上述方式分析之后,得出一个结论:上述方式是在一个服务模型被更改而导致应用无法正常处理客户的线上数据(也即出问题之后)才开始人工校验。
发明人在分析后得到至少一个方案:摒弃上述方式的思路,可以在一个服务模型被更改之后,不等待应用是否能够正常处理客户的线上数据,就可以即刻开始对被更改的服务模型相关的服务模型进行校验,且可以是自动化地校验,在校验出存在语义问题的服务模型的情况下立刻提示开发人员优化存在语义问题的语义模型,从而可以降低人工成本,且提高解决问题的效率。
具体地,参照图1,示出了本申请的一种数据处理方法的流程示意图。该方法应用于服务端,服务端中具有用于对外提供服务的多个应用,各个应用分别是至少借助服务端中的多个服务模型在服务端中开发的,应用中包括的至少部分服务模型之间具有依赖关系,其中,该方法可以包括如下流程:
在步骤S101中,在服务端中的第一服务模型被变更的情况下,在服务端中查找在多个应用中的至少部分应用中的依赖第一服务模型的至少一个第二服务模型。
第二服务模型可以为一个,也可以为多个。
在第二服务模型为多个的情况下,第二服务模型可以均分别直接依赖第一服务模型。或者,也可以一部分第二服务模型直接依赖第一服务模型,另一部分服务模型直接依赖该一部分第二服务模型,例如,第二服务模型1依赖第一服务模型,第二服务模型2依赖第二服务模型1,进一步地,第二服务模型3还可以依赖第二服务模型2等。
在本申请一个实施例中,本步骤可以通过如下流程实现,包括:
11)、在服务端中查找使用第一服务模型的至少一个目标应用。
在本申请中,对于服务端而言,可以定期或者实时检测服务端的开发人员在服务端中已开发的服务模型是否被变更。
在服务端中的第一服务模型被变更的情况下,在服务端中查找使用第一服务模型的目标应用。
其中,第一服务模型为服务端的开发人员在服务端中已开发的多个服务模型一个或两个以上的被变更的服务模型。
另外,各个租户在服务端中开发的各个应用中均包括服务端中的至少部分服务模型,且各个应用中包括的服务端中的服务模型不尽相同。
有些应用中使用了第一服务模型,有些应用中未使用第一服务模型。
第一服务模型被变更会导致使用第一服务模型的应用可能无法正常运行,而往往不会导致未使用第一服务模型的应用无法正常运行。
因此,在本申请中,在第一服务模型被变更的情况下,需要关心的对象往往是使用第一服务模型的应用,而可以不关心未使用第一服务模型的应用。
所以,在本申请中,在服务端中的第一服务模型被变更的情况下,可以在服务端中查找使用第一服务模型的至少一个目标应用,然后执行步骤12)。
12)、对于查找到的每一个目标应用,在目标应用中包括的多个服务模型中,确定依赖第一服务模型的第二服务模型。
在本申请中,目标应用中包括第一服务模型,其次,在目标应用中包括的除第一服务模型以外的其他服务模型中,往往存在依赖第一服务模型的至少一个服务模型。
也即,在目标应用中包括的服务模型中,至少一个服务模型依赖(包括直接依赖以及间接依赖等)了第一服务模型,由于第一服务模型被变更,则依赖第一服务模型的至少一个服务模型可能存在语义问题,导致依赖第一服务模型的至少一个服务模型可能无法正常运行,进而导致应用可能无法正常运行。
因此,需要在目标应用中包括的多个服务模型中,确定依赖第一服务模型的第二服务模型,然后执行步骤S102。
在本申请一个实施例中,在本申请一个实施例中,本步骤可以通过如下流程实现,包括:
21)、在事先配置的主动依赖的服务模型的模型标识与被依赖的服务模型的服务标识之间的对应关系中,以第一服务模型的服务标识作为被依赖的服务模型的服务标识,查找对应的主动依赖的服务模型的模型标识。
其中,对应关系中的任意一个对应表项,对应表项中的主动依赖的服务模型的模型标识以及被依赖的服务模型的服务标识,是在所述服务端中开发一个应用且在开发的应用中部署了主动依赖的服务模型依赖被依赖的服务模型的依赖关系之后,在该对应关系存储的。
22)、根据查找到的服务标识确定至少一个第二服务模型。
例如,可以将查找到的各个服务标识分别对应的服务模型均确定为第二服务模型。
通过本方式,在查找在多个应用中的至少部分应用中的依赖第一服务模型的至少一个第二服务模型时,可以不引入应用,而是服务端根据记录的服务模型之间的依赖关系直接查找在多个应用中的至少部分应用中的依赖第一服务模型的至少一个第二服务模型,不依赖应用来查找,可以提高查找效率。
在步骤S102中,对于查找到的任意一个第二服务模型,对该第二服务模型进行语义校验,得到该第二服务模型的语义校验结果,在该第二服务模型的语义校验结果用于指示该第二服务模型存在语义问题的情况下,输出该第二服务模型的语义校验结果。
对于查找到的其他每一个的第二服务模型,同样如此。
例如,在第二服务模型的语义校验结果用于指示第二服务模型存在语义问题的情况下,可以向第二服务模型的开发人员使用的终端发送第二服务模型的语义校验结果,以使第二服务模型的开发人员得到第二服务模型的语义校验结果,并根据第二服务模型的语义校验结果获知第二服务模型存在语义问题,并对第二服务模型优化,以消除第二服务模型的语义问题。
其中,在租户的应用已经发布之后,在服务端的开发人员根据实际需求对服务端中已开发的第一服务模型更改的情况下,若由于第一服务模型被更改而引发第二服务模型存在语义问题,则很可能导致第二服务模型无法正常处理线上数据,进而导致目标应用无法正常处理线上数据,进而无法正常为客户提供服务。
往往需要经过较长时间,租户或者服务端的开发人员才能得到目标应用无法正常为客户提供服务的现状,这样,之后才会人工校验导致目标应用无法正常为客户提供服务的原因,之后才可能知道是第二服务模型存在语义问题,然后才可能知道是由于第一服务模型被变更而引发第二服务模型存在语义问题,从而推导出由于第二服务模型存在语义问题而导致第二服务模型无法正常处理线上数据,进而导致目标应用无法正常处理线上数据,进而无法正常为客户提供服务,然后开发人员才会对第二服务模型优化,解决目标应用无法正常处理线上数据的问题。
但是,上述情况中,实时性差,耗费时长较长,且人工成本较高,导致目标应用中断对客户提供服务的时长较长,客户体验差且租户体验也差。
而在本申请中,在服务端中的第一服务模型被变更的情况下,在服务端中查找在多个应用中的至少部分应用中的依赖第一服务模型的至少一个第二服务模型。对于查找到的任意一个第二服务模型,对该第二服务模型进行语义校验,得到该第二服务模型的语义校验结果,在该第二服务模型的语义校验结果用于指示该第二服务模型存在语义问题的情况下,输出该第二服务模型的语义校验结果。
通过本申请的方案可以迅速获知多个应用中的至少部分应用中的依赖第一服务模型的至少一个第二服务模型,并对各个第二服务模型进行语义校验,可以尽快得到各个第二服务模型是否存在语义问题的语义校验结果,在某一个第二服务模型存在语义问题时可以及时对该第二服务模型优化,以消除该第二服务模型的语义问题,从而使得该第二服务模型能够快速恢复具有正常处理线上数据的能力,使得包括该第二服务模型的应用可以更快恢复出能够正常处理客户的线上数据的能力,进而使得包括该第二服务模型的应用能够快速恢复为客户提供服务,减少了包括该第二服务模型的应用中断对客户提供服务的时长,提高了实时性,也即,减少了包括该第二服务模型的应用被耽误正常处理线上数据的时长,提高了客户体验以及租户体验。另外,校验过程中可以没有人的参与,从而可以降低人工成本。
其次,租户借助服务端中的服务模型开发应用的过程中,只要服务端中的第一服务模型被变更,则也可以执行本方案的流程,以通过本方案校验出包括第一服务模型中的应用是否包括存在语义问题的其他服务模型,并在包括其他服务模型的情况下可以提示开发人员对其他服务模型优化,以消除其他服务模型的语义问题,避免之后出现“租户借助其他服务模型生成应用的场景下由于其他服务模型存在语义问题而导致生成的应用无法正常为客户提供服务”的情况发生,进而可以避免降低客户体验以及租户体验。
另一方面,在开发人员在服务端中开发出一个服务模型之后,服务端就可以对服务模型进行语义校验,在该一个服务模型存在语义问题的情况下,就可以提示开发人员对该一个服务模型优化,以消除该一个服务模型的语义问题,避免之后在租户根据该一个服务模型开发应用的场景下才发现该语义问题并在届时优化该一个服务模型,进而可以避免届时的优化过程耽误租户开发应用的进程。
又一方面,在本申请中,服务端的开发人员可以在终端上使用浏览器接收示意图并查看示意图,以及,可以在终端上使用浏览器对服务端中的服务模型优化,不需要在终端上安装并使用专门的开发工具,从而可以提高便利性以及降低使用成本。
另外,租户也可以在终端上使用浏览器开发应用(例如,选择服务端中的服务模型以及自行开发需要的计算机程序代码)以及查看示意图,不需要在终端上安装并使用专门的开发工具,从而可以提高便利性以及降低使用成本。
在本申请一个实施例中,在第二服务模型的语义校验结果用于指示第二服务模型存在语义问题的情况下,则往往说明第二服务模型存在语义问题,如此,由于第一服务模型的变更很可能导致第二服务模型无法正常运行(例如无法对客户的线上数据正常处理等),进而导致目标应用无法正常运行(例如无法对客户的线上数据正常处理等),进而导致无法正常为客户提供服务。
因此,为了避免这种情况发生,在第二服务模型的语义校验结果用于指示第二服务模型存在语义问题的情况下,可以提示第二服务模型的开发人员第二服务模型存在语义问题,以供第二服务模型的开发人员根据提示优化第二服务模型,以消除第二服务模型的语义问题。
在一个例子中,获取第二服务模型以及第一服务模型之间的依赖关系,然后生成用于指示该依赖关系的、且标记第二服务模型存在语义问题的示意图。
例如,在一个实施例中,在生成用于指示该依赖关系的、且标记第二服务模型存在语义问题的示意图时,可以获取第一服务模型中的被变更的符号,以及,在第二服务模型中确定依赖第一服务模型中的被变更的符号的目标符号等,目标符号包括由被变更的符号引发语义问题的符号等,然后可以生成用于指示第二服务模型中的目标符号依赖第一服务模型中的被变更的符号、且标记第二服务模型中的目标符号存在语义问题的示意图。
其中,在示意图中,可以体现第一服务模型中的被变更的符号与第二服务模型中的目标符号之间的依赖关系,且在第二服务模型中的目标符号为多个的情况下,也可以体现第二服务模型中的各个目标符号之间的依赖关系等。
之后向第二服务模型的开发人员使用的终端发送示意图,例如,向第二服务模型的开发人员使用的终端发送该示意图,以使第二服务模型的开发人员使用终端可以显示该示意图,这样,第二服务模型的开发人员在其使用的终端上就可以看到该示意图,并根据该示意图可以快速获知第二服务模型存在语义问题并且宏观性地感知该依赖关系,以及可以根据感知到的该依赖关系快速确定出是由第一服务模型的变更导致的第二服务模型存在语义问题,然后根据第一服务模型的变更来辅助开发人员优化第二服务模型,以消除第二服务模型的语义问题。
其中,通过可视化的示意图使得第二服务模型的开发人员可以快速确定出关于第一服务模型以及第二服务模型的依赖链路,从而可以提高消除第二服务模型的语义问题的效率。
进一步地,服务模型出现的有些语义问题包括可预见的问题等。
可预见的问题是服务端的开发人员事先通过经验可以分析出的、服务模型可能会出现的语义问题,例如,缺乏开始节点、缺乏结束节点以及定义的符号未被使用等,服务端的开发人员事先也可以制定出用于解决可预见的语义问题的解决方案等。
其中,在本申请中,在第二服务模型的语义校验结果用于指示第二服务模型存在语义问题的情况下,可以获取用于解决第二服务模型的语义问题的至少一个解决方案,然后可以向第二服务模型的开发人员推荐解决方案,以供第二服务模型的开发人员根据该解决方案可以尽快解决消除第二服务模型的语义问题等。例如,避免开发人员手动搜寻、归纳以及总结用于解决第二服务模型的语义问题的解决方案,可以直接快速得到服务端提供的用于解决第二服务模型的语义问题的解决方案,从而可以节省开发人员手动搜寻、归纳以及总结用于解决第二服务模型的语义问题的解决方案的过程所需耗费的时间,进而可以提高解决第二服务模型的语义问题的效率,以及降低人工成本。
其中,该解决方案可以包括解决第二服务模型的语义问题的至少一个可行的建议等,解决方案可以是一个文档,或者是一段包括用于讲解解决第二服务模型的语义问题的多个步骤的讲解视频等。
其中,本申请对第二服务模型进行语义校验的方式包括多种,如下是对第二服务模型进行语义校验的方式的举例说明,应当理解的是,如下的几种方式仅仅是对部分校验的方式的说明,还存在对第二服务模型进行语义校验的其他方式,本申请对此不一一例举,如下的方式并不对本申请的校验方式带来限定。
其中,在本申请一个实施例中,可以检测第二服务模型中引用的符号的类型在目标应用中是否被定义。
例如,假设第一服务模型中的一个符号的类型被更改,而第二服务模型中引用了该符号,但是,由于该符号的类型已经在第一服务模型中被更改了,且目标应用中不存在更改后的符号的类型,也即,更改后的符号的类型在目标应用中未定义,此时,这就导致第二服务模型中引用的符号的类型在目标应用中未被定义,则导致第二服务模型中引用更改后的符号无效,如此,第二服务模型中存在语义问题。
在本申请另一个实施例中,检测第二服务模型中引用的符号在目标应用中是否被定义。
例如,假设第一服务模型中的定义一个符号被删除了,这就导致目标应用中不再存在该符号,而第二服务模型中引用了该符号,但是,由于该符号已经在第一服务模型中被删除了,此时,该符号目标应用中未被定义,则导致第二服务模型中引用该符号无效,如此,第二服务模型中存在语义问题。
在本申请另一个实施例中,检测第二服务模型中的期望引用的符号的类型以及实际引用的符号的类型是否匹配。
例如,假设第一服务模型中的一个符号的类型被更改,而第二服务模型中引用了该符号且引用的是该符号变更前的类型,但是,由于该符号的类型已经在第一服务模型中被更改了,此时,这就导致第二服务模型中期望引用的该符号的类型与实际引用的第一服务模型中的该符号的类型不匹配,则导致第二服务模型中引用该符号无效,如此,第二服务模型中存在语义问题。
在本申请另一个实施例中,检测第二服务模型中定义的符号在第二服务模型中是否被引用。
若第二服务模型中定义了某一符号,但是该符号并未在第二服务模型中被引用,往往是如下情况:一种情况,该符号本身并不应当在第二服务模型中定义,第二服务模型中并不需要使用该符号,该符号在第二服务模型中是多余的,是冗余的,可以看作第二服务模型存在语义问题。另一种情况,第二服务模型中需要使用该符号,该符号也在第二服务模型中被定义了,但是服务端的开发人员在开发第二服务模型的过程中,由于失误并未在第二服务模型中引用该符号,导致第二服务模型无法使用到该符号,进而可能影响第二服务模型正常运行或者影响第二服务模型正常处理数据,可以看作第二服务模型存在语义问题。
在本申请另一个实施例中,检测第二服务模型中的流程分支是否具有被执行的触发条件。
在本申请中,第二服务模型中具有两个以上的流程分支,例如,包括流程分支1以及流程分支2等,在满足条件1的情况下,执行流程分支1,在满足条件2的情况下,执行流程分支2等。
例如,假设第一服务模型中的一个符号被变更,而在第二服务模型中确定是否满足条件1时引用了该符号,在该符号的符号内容被变更的情况下,虽然不存在符号的定义以及符号的类型的变化,但是会导致在第二服务模型中确定是否满足条件1时,根据引用的变更后的该符号无法得到满足条件1的情况,进而导致流程分支1无法被执行,也即,流程分支1没有被执行的触发条件。导致第二服务模型中的流程分支1无效,如此,第二服务模型中存在语义问题。
在本申请另一个实施例中,检测第二服务模型中的期望输出的数据的类型与实际输出的数据的类型是否匹配。
例如,假设第一服务模型中的一个符号的类型被更改,而第二服务模型中引用了该符号且支持引用该符号变更后的类型,但是,由于该符号的类型已经在第一服务模型中被更改了,此时,很可能导致:第二服务模型引用的类型被更改的该符号之后,输出的数据类型变更,而不是第二服务模型需要输出的类型,这就导致第二服务模型中的需要输出的数据的类型与实际输出的数据的类型不匹配,如此,第二服务模型中存在语义问题。
在本申请另一个实施例中,检测第二服务模型中是否存在起始节点以及结束节点。
在本申请另一个实施例中,检测第二服务模型中的表达式中的成员的类型与表达式支持的成员的类型是否匹配。
例如,假设第一服务模型中的一个符号的类型被更改,而第二服务模型中的一个表达式中的一个成员引用了该符号,且需要引用该符号的类型是该符号变更前的类型,但是,由于该符号的类型已经在第一服务模型中被更改了,此时,这就导致第二服务模型中的表达式中的该成员需要引用的该符号的类型与实际引用的第一服务模型中的该符号的类型不匹配,则导致第二服务模型中的表达式的成员引用该符号无效,如此,第二服务模型中存在语义问题。
在本申请一个实施例中,目标应用中包括有多个服务模型,且目标应用中涉及多个作用域,每一个作用域中涉及一部分服务模型,不同的作用域中涉及的服务模型可以不同。
如此,在对第二服务模型进行语义校验时,可以借助第二服务模型所涉及的目标作用域涉及的符号表,来对第二服务模型进行符号的类型相关的语义校验。具体可以通过如下流程实现,参见图2,该流程包括:
在步骤S201中,在目标应用涉及的作用域中,确定第二服务模型所涉及的目标作用域。
第二服务模型所涉及的目标作用域包括:第二服务模型所在的作用域,以及,包括:第二服务模型所在的作用域相关的作用域等。
作用域之间的相关的关系可以是服务端的开发人员事先设置的,例如,事先分析开发的各个服务模型所属的作用域,然后对各个作用域的实际场景分析,确定出各个作用域之间的相关的关系,并在服务端中设置各个作用域之间的相关的关系等。
例如,作用域包括订单域、用户域(关于用户的账户的相关服务)、支付域、收藏域、购物车域以及即时通讯域。
其中,在关于客户在线上购买商品的场景中,往往至少涉及到订单域、用户域以及支付域等,如此,订单域、用户域以及支付域之间存在相关的关系。
在步骤S202中,获取目标作用域涉及的符号表,符号表中至少包括:目标作用域涉及的符号以及目标作用域涉及的符号的类型。
在本申请一个实施例中,可以分别获取目标作用域涉及的各个服务模型的AST(Abstract Syntax Tree,抽象语法树),然后根据各个服务模型的AST分别生成各个服务模型的符号表。例如,对于目标作用域涉及的任意一个服务模型,可以实时生成该服务模型的AST,例如,根据该服务模型对应的源代码生成该服务模型的AST,然后从该服务模型的AST中提取出该服务模型中的符号以及符号的类型,然后根据该服务模型中的符号以及符号的类型生成该服务模型的符号表对于目标作用域涉及的其他每一个服务模型,同样如此,然后根据生成的各个服务模型的符号表生成目标作用域涉及的符号表,例如,将生成的各个服务模型的符号表组合为目标作用域涉及的符号表。
然而,在上述方式中,实时生成AST的过程以及实时生成符号表的过程耗费时间较长,进而导致降低了对第二服务模型进行语义校验的效率。
因此,为了提高对第二服务模型进行语义校验的效率,在本申请另一实施例中,每当服务端的开发人员在服务端中开发一个服务模型之后,服务端就可以自动生成该服务模型的AST,并根据该服务模型的AST生成该服务模型的符号表,然后可以在服务端中存储该服务模型的符号表,以供之后在服务端需要获取该服务模型的符号表时可以直接在服务端中获取存储的该服务模型的符号表,而可以不用实时生成该服务模型的符号表,从而可以节省时间。
其中,由于第一服务模型被更改了,因此,更改后的第一服务模型的符号表与更改前的第一服务模型的符号表不同,即使服务端中事先存储有第一服务模型的符号表,存储的是也更改前的第一服务模型的符号表,而在本申请中,目标作用域往往也会涉及第一服务模型,因此,在获取第一服务模型的符号表时,需要获取的是更改后的第一服务模型的符号表。
例如,对于目标作用域涉及的第一服务模型,可以获取第一服务模型的AST,然后根据第一服务模型的AST生成第一服务模型的符号表。
另外,对于目标作用域涉及的除第一服务模型以外的其他服务模型,由于目标作用域涉及的除第一服务模型以外的其他服务模型未被更改,因此,在服务端事先存储有目标作用域涉及的除第一服务模型以外的其他服务模型的符号表的情况下,可以直接获取已存储的其他服务模型的符号表,以节省时间,提高获取其他服务模型的符号表的效率。
具体的,对于目标作用域涉及的除第一服务模型以外的任意一个服务模型,可以获取事先缓存的该服务模型的符号表,事先缓存的该服务模型的符号表是在服务端开发出该服务模型的情况下生成并缓存的。对于目标作用域涉及的除第一服务模型以外的其他每一个服务模型,同样如此。
进一步地,由于第一服务模型被变更,因此,变更后的第一服务模型的符号表与变更前的第一服务模型的符号表不同,为了使得之后在需要获取变更后的第一服务模型的符号表时,可以节省时间以及提高获取效率,在本申请另一实施例中,在根据第一服务模型的AST生成第一服务模型的符号表之后,在服务端中缓存有变更前的第一服务模型的符号表的情况下,使用生成的第一服务模型的符号表替换已缓存的变更前的第一服务模型的符号表。或者,在服务端中未缓存有变更前的第一服务模型的符号表的情况下,在服务端中缓存生成的第一服务模型的符号表。
在步骤S203中,至少根据目标作用域涉及的符号表,对第二服务模型进行符号的类型相关的语义校验。
在本申请中,获取第二服务模型的AST,其中,可以实时生成第二服务模型的AST,例如,根据第二服务模型对应的源代码生成第二服务模型的AST,或者,若事先在服务端中缓存有第二服务模型的AST(服务端的开发人员事先开发出第二服务模型的情况下,服务端就会生成第二服务模型的AST并在服务端中缓存第二服务模型的AST),则服务端可以获取事先缓存的第二服务模型的AST,可以节省时间,然后对照着第二服务模型的AST以及目标作用域涉及的符号表,对第二服务模型进行符号的类型相关的语义校验,得到第二服务模型的语义校验结果。
其中,在对照着第二服务模型的AST以及目标作用域涉及的符号表,对第二服务模型进行符号的类型相关的语义校验时,对于在第二服务模型的AST查找到的、第二服务模型引用的任意一个符号,可以在目标作用域涉及的符号表中确定该符号的类型。在根据目标作用域涉及的符号表确定出该符号的类型的情况下,根据该符号的类型对该符号进行类型相关的语义校验。
或者,
在根据目标作用域涉及的符号表未确定出该符号的类型的情况下,可以根据该符号的形式确定该符号的类型,再根据该符号的类型对该符号进行类型相关的语义校验。
其中,在根据该符号的形式确定该符号的类型时,在该符号对一个结构体的成员引用的情况下,获取被引用的结构体的成员的类型,根据被引用的结构体的成员的类型确定该符号的类型,例如,将被引用的结构体成员的类型确定为该符号的类型。
或者,在该符号为表达式的情况下,获取表达式中的操作符,根据表达式中的操作符确定该符号的类型。其中,在表达式中的操作符确定的情况下,表达式输出的内容的类型即可确定,因此,可以根据表达式中的操作符确定该符号的类型。
或者,在该符号调用了函数的情况下,获取函数的返回值的类型,根据函数的返回值的类型确定该符号的类型,例如,将函数的返回值的类型确定为该符号的类型等。
相应地,参照图3,示出了本申请的一种数据处理方法的流程示意图。该方法应用于终端,其中,该方法可以包括如下流程:
在步骤S301中,接收服务端发送的示意图;示意图用于指示依赖关系且标记第二服务模型存在语义问题,依赖关系包括第二服务模型以及第一服务模型之间的依赖关系;依赖关系是服务端在对第二服务模型进行语义校验,并得到用于指示第二服务模型存在语义问题的语义校验结果的情况下获取的,第二服务模型包括在服务端中的第一服务模型被变更的情况下,在服务端中的多个应用中的至少部分应用中查找的依赖第一服务模型的至少一个服务模型;各个应用分别是至少借助服务端中的多个服务模型在服务端中开发的,应用中包括的至少部分服务模型之间具有依赖关系。
关于示意图的描述可以参见前述实施例,在此不做详述。
在步骤S302中,渲染示意图。
例如,在一个例子中,第一服务模型包括服务模型A,第二服务模型包括服务模型B、服务模型C、服务模型D、服务模型E以及服务模型F。
其中,服务模型B、服务模型C以及服务模型D直接依赖服务模型A,服务模型E以及服务模型F直接依赖服务模型D(相当于服务模型E以及服务模型F间接依赖服务模型A)。示意图可以如图4所示。
第二服务模型的开发人员在终端上可以看到该示意图,并根据该示意图可以快速获知第二服务模型存在语义问题并且宏观性地感知该依赖关系,以及可以根据感知到的该依赖关系快速确定出是由第一服务模型的变更导致的第二服务模型存在语义问题,然后根据第一服务模型的变更来辅助开发人员优化第二服务模型,以消除第二服务模型的语义问题。
其中,通过可视化的示意图使得第二服务模型的开发人员可以快速确定出关于第一服务模型以及第二服务模型的依赖链路,从而可以提高消除第二服务模型的语义问题的效率。
对于任意一个第二服务模型,开发人员在终端上可以对该第二服务模型优化,例如,在终端上输入对该第二服务模型的优化操作等,在终端接收到对该第二服务模型的优化操作的情况下,可以根据优化操作对该第二服务模型优化,得到优化后的第二服务模型,然后向服务端提交优化后的第二服务模型。
然后服务端接收终端提交的优化后的第二服务模型;对优化后的第二服务模型进行语义校验,得到优化后的第二服务模型的语义校验结果;具体校验方式可以参见前述实施例的描述,在此不做详述。在优化后的第二服务模型的语义校验结果用于指示优化后的第二服务模型不存在语义问题的情况下,向终端发送优化后的第二服务模型不存在语义问题的语义校验结果。
在终端接收到服务端反馈的、优化后的第二服务模型不存在语义问题的语义校验结果的情况下,可以在示意图中取消标记优化后的第二服务模型存在语义问题。以使开发人员可以感知到第二服务模型的语义问题已经消除。
在一个实施例中,开发人员在看到示意图之后,根据示意图就可以获知第二服务模型出现语义问题,如果开发人员需要对其中一个第二服务模型优化,则可以输入对示意图中的该其中一个第二服务模型的触控操作,在终端接收到对示意图中的该其中一个第二服务模型的触控操作的情况下,就可以获知开发人员需要对该其中一个第二服务模型优化,如此可以根据该触控操作获取该其中一个第二服务模型的源代码文件;例如,通过与服务端的交互获取该其中一个第二服务模型的源代码文件,并显示该其中一个第二服务模型的源代码文件中的源代码,以供开发人员可以直接对该其中一个第二服务模型的源代码修改,以实现对该其中一个第二服务模型优化。
其中,显示源代码文件中的源代码时,可以在该其中一个第二服务模型中确定由第一服务模型中的被变更的符号引发语义问题的目标符号;然后可以在该其中一个第二服务模型的源代码文件中确定目标符号的源代码;再显示目标符号的源代码。从而使得开发人员可以直接得到目标符号的源代码并直接对目标符号的源代码修改,避免开发人员在源代码文件中实时人工搜寻目标符号的源代码,从而可以提高效率以及简化开发人员的操作等。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本申请所必须的。
参照图5,示出了本申请的一种数据处理装置的结构框图,应用于服务端,所述服务端中具有用于对外提供服务的多个应用,各个应用分别是至少借助所述服务端中的多个服务模型在所述服务端中开发的,应用中包括的至少部分服务模型之间具有依赖关系;所述装置包括:
查找模块11,用于在所述服务端中的第一服务模型被变更的情况下,在所述服务端中查找在所述多个应用中的至少部分应用中的依赖所述第一服务模型的至少一个第二服务模型;第一校验模块12,用于对于查找到的每一个第二服务模型,对所述第二服务模型进行语义校验,得到所述第二服务模型的语义校验结果,输出模块13,用于在所述第二服务模型的语义校验结果用于指示所述第二服务模型存在语义问题的情况下,输出所述第二服务模型的语义校验结果。
在一个可选的实现方式中,所述查找模块包括:第一查找单元,用于在所述服务端中查找使用所述第一服务模型的至少一个目标应用;第一确定单元,用于对于查找到的每一个目标应用,在所述目标应用中包括的多个服务模型中,确定依赖所述第一服务模型的第二服务模型。
在一个可选的实现方式中,所述查找模块包括:第二查找单元,用于在事先配置的主动依赖的服务模型的模型标识与被依赖的服务模型的服务标识之间的对应关系中,以所述第一服务模型的服务标识作为被依赖的服务模型的服务标识,查找对应的主动依赖的服务模型的模型标识;第二确定单元,用于根据查找到的服务标识确定所述至少一个第二服务模型;其中,所述对应关系中的任意一个对应表项,所述对应表项中的主动依赖的服务模型的模型标识以及被依赖的服务模型的服务标识,是在所述服务端中开发一个应用且在开发的应用中部署了主动依赖的服务模型依赖被依赖的服务模型的依赖关系之后,在所述对应关系存储的。
在一个可选的实现方式中,所述装置还包括:第一获取模块,用于在所述第二服务模型的语义校验结果用于指示所述第二服务模型存在语义问题的情况下,获取所述第二服务模型以及所述第一服务模型之间的依赖关系;生成模块,用于生成用于指示所述依赖关系的、且标记所述第二服务模型存在语义问题的示意图;第一发送模块,用于向所述第二服务模型的开发人员使用的终端发送所述示意图。
在一个可选的实现方式中,所述生成模块包括:第一获取单元,用于获取所述第一服务模型中的被变更的符号,以及,在所述第二服务模型中确定由所述被变更的符号引发语义问题的目标符号;生成单元,用于生成用于指示所述第二服务模型中的所述目标符号依赖所述第一服务模型中的所述被变更的符号、且标记所述第二服务模型中的所述目标符号存在语义问题的示意图。
在一个可选的实现方式中,所述装置还包括:第二获取模块,用于在所述第二服务模型的语义校验结果用于指示所述第二服务模型存在语义问题的情况下,获取用于解决所述第二服务模型的语义问题的至少一个解决方案;第二发送模块,用于向所述第二服务模型的开发人员使用的终端发送所述解决方案。
在一个可选的实现方式中,所述装置还包括:第一接收模块,用于接收终端提交的优化后的第二服务模型;优化后的第二服务模型是开发人员使用所述终端对存在语义问题的第二服务模型优化后得到的;第二校验模块,用于对优化后的第二服务模型进行语义校验,得到优化后的第二服务模型的语义校验结果;第三发送模块,用于在优化后的第二服务模型的语义校验结果用于指示优化后的第二服务模型不存在语义问题的情况下,向所述终端发送优化后的第二服务模型不存在语义问题的语义校验结果。
在一个可选的实现方式中,所述第一校验模块包括:第三确定单元,用于在所述目标应用涉及的作用域中,确定所述第二服务模型所涉及的目标作用域;第二获取单元,用于获取所述目标作用域涉及的符号表,所述符号表中至少包括:所述目标作用域涉及的符号以及所述目标作用域涉及的符号的类型;校验单元,用于至少根据所述目标作用域涉及的符号表,对所述第二服务模型进行符号的类型相关的语义校验。
在一个可选的实现方式中,所述校验单元包括:第一校验子单元,用于对于所述第二服务模型引用的任意一个符号,在所述符号对一个结构体的成员引用的情况下,获取被引用的所述结构体的成员的类型,根据被引用的所述结构体的成员的类型确定所述符号的类型,根据所述符号的类型对所述符号进行类型相关的语义校验;或者,第二校验子单元,用于对于所述第二服务模型引用的任意一个符号,在所述符号为表达式的情况下,获取所述表达式中的操作符,根据所述表达式中的操作符确定所述符号的类型,根据所述符号的类型对所述符号进行类型相关的语义校验;或者,第三校验子单元,用于对于所述第二服务模型引用的任意一个符号,在所述符号调用了函数的情况下,获取所述函数的返回值的类型,根据所述函数的返回值的类型确定所述符号的类型,根据所述符号的类型对所述符号进行类型相关的语义校验。
在一个可选的实现方式中,所述第一校验模块具体用于:检测所述第二服务模型中引用的符号的类型在所述目标应用中是否被定义;和/或,检测所述第二服务模型中引用的符号在所述目标应用中是否被定义;和/或,检测所述第二服务模型中的期望引用的符号的类型以及实际引用的符号的类型是否匹配;和/或,检测所述第二服务模型中定义的符号在所述第二服务模型中是否被引用;和/或,检测所述第二服务模型中的流程分支是否具有被执行的触发条件;和/或,检测所述第二服务模型中的期望输出的数据的类型与实际输出的数据的类型是否匹配;和/或,检测所述第二服务模型中是否存在起始节点以及结束节点;和/或,检测所述第二服务模型中的表达式中的成员的类型与表达式支持的成员的类型是否匹配。
其中,在租户的应用已经发布之后,在服务端的开发人员根据实际需求对服务端中已开发的第一服务模型更改的情况下,若由于第一服务模型被更改而引发第二服务模型存在语义问题,则很可能导致第二服务模型无法正常处理线上数据,进而导致目标应用无法正常处理线上数据,进而无法正常为客户提供服务。
往往需要经过较长时间,租户或者服务端的开发人员才能得到目标应用无法正常为客户提供服务的现状,这样,之后才会人工校验导致目标应用无法正常为客户提供服务的原因,之后才可能知道是第二服务模型存在语义问题,然后才可能知道是由于第一服务模型被变更而引发第二服务模型存在语义问题,从而推导出由于第二服务模型存在语义问题而导致第二服务模型无法正常处理线上数据,进而导致目标应用无法正常处理线上数据,进而无法正常为客户提供服务,然后开发人员才会对第二服务模型优化,解决目标应用无法正常处理线上数据的问题。
但是,上述情况中,实时性差,耗费时长较长,且人工成本较高,导致目标应用中断对客户提供服务的时长较长,客户体验差且租户体验也差。
而在本申请中,在服务端中的第一服务模型被变更的情况下,在服务端中查找在多个应用中的至少部分应用中的依赖第一服务模型的至少一个第二服务模型。对于查找到的任意一个第二服务模型,对该第二服务模型进行语义校验,得到该第二服务模型的语义校验结果,在该第二服务模型的语义校验结果用于指示该第二服务模型存在语义问题的情况下,输出该第二服务模型的语义校验结果。
通过本申请的方案可以迅速获知多个应用中的至少部分应用中的依赖第一服务模型的至少一个第二服务模型,并对各个第二服务模型进行语义校验,可以尽快得到各个第二服务模型是否存在语义问题的语义校验结果,在某一个第二服务模型存在语义问题时可以及时对该第二服务模型优化,以消除该第二服务模型的语义问题,从而使得该第二服务模型能够快速恢复具有正常处理线上数据的能力,使得包括该第二服务模型的应用可以更快恢复出能够正常处理客户的线上数据的能力,进而使得包括该第二服务模型的应用能够快速恢复为客户提供服务,减少了包括该第二服务模型的应用中断对客户提供服务的时长,提高了实时性,也即,减少了包括该第二服务模型的应用被耽误正常处理线上数据的时长,提高了客户体验以及租户体验。另外,校验过程中可以没有人的参与,从而可以降低人工成本。
其次,租户借助服务端中的服务模型开发应用的过程中,只要服务端中的第一服务模型被变更,则也可以执行本方案的流程,以通过本方案校验出包括第一服务模型中的应用是否包括存在语义问题的其他服务模型,并在包括其他服务模型的情况下可以提示开发人员对其他服务模型优化,以消除其他服务模型的语义问题,避免之后出现“租户借助其他服务模型生成应用的场景下由于其他服务模型存在语义问题而导致生成的应用无法正常为客户提供服务”的情况发生,进而可以避免降低客户体验以及租户体验。
另一方面,在开发人员在服务端中开发出一个服务模型之后,服务端就可以对服务模型进行语义校验,在该一个服务模型存在语义问题的情况下,就可以提示开发人员对该一个服务模型优化,以消除该一个服务模型的语义问题,避免之后在租户根据该一个服务模型开发应用的场景下才发现该语义问题并在届时优化该一个服务模型,进而可以避免届时的优化过程耽误租户开发应用的进程。
又一方面,在本申请中,服务端的开发人员可以在终端上使用浏览器接收示意图并查看示意图,以及,可以在终端上使用浏览器对服务端中的服务模型优化,不需要在终端上安装并使用专门的开发工具,从而可以提高便利性以及降低使用成本。
另外,租户也可以在终端上使用浏览器开发应用(例如,选择服务端中的服务模型以及自行开发需要的计算机程序代码)以及查看示意图,不需要在终端上安装并使用专门的开发工具,从而可以提高便利性以及降低使用成本。
参照图6,示出了本申请的一种数据处理装置的结构框图,应用于终端,所述装置包括:
第二接收模块21,用于接收服务端发送的示意图;所述示意图用于指示依赖关系且标记第二服务模型存在语义问题,所述依赖关系包括所述第二服务模型以及第一服务模型之间的依赖关系;所述依赖关系是所述服务端在对所述第二服务模型进行语义校验,并得到用于指示所述第二服务模型存在语义问题的语义校验结果的情况下获取的,所述第二服务模型包括在所述服务端中的第一服务模型被变更的情况下,在所述服务端中的多个应用中的至少部分应用中查找的依赖所述第一服务模型的至少一个服务模型;各个应用分别是至少借助所述服务端中的多个服务模型在所述服务端中开发的;应用中包括的至少部分服务模型之间具有依赖关系;渲染模块22,用于渲染所述示意图。
在一个可选的实现方式中,所述装置还包括:第三获取模块,用于在接收到对所述示意图中的其中一个第二服务模型的触控操作的情况下,根据所述触控操作获取所述其中一个第二服务模型的源代码文件;显示模块,用于显示所述其中一个第二服务模型的源代码文件中的源代码。
在一个可选的实现方式中,所述显示模块包括:第四确定单元,用于在所述其中一个第二服务模型中确定由所述第一服务模型中的被变更的符号引发语义问题的目标符号;第五确定单元,用于在所述其中一个第二服务模型的源代码文件中确定所述目标符号的源代码;显示单元,用于显示所述目标符号的源代码。
在一个可选的实现方式中,所述装置还包括:优化模块,用于对于每一个第二服务模型,在接收到对所述第二服务模型的优化操作的情况下,根据所述优化操作对所述第二服务模型优化,得到优化后的第二服务模型;提交模块,用于向服务端提交优化后的第二服务模型;取消标记模块,用于在接收到服务端反馈的、优化后的第二服务模型不存在语义问题的语义校验结果的情况下,在所述示意图中取消标记优化后的第二服务模型存在语义问题。
其中,在租户的应用已经发布之后,在服务端的开发人员根据实际需求对服务端中已开发的第一服务模型更改的情况下,若由于第一服务模型被更改而引发第二服务模型存在语义问题,则很可能导致第二服务模型无法正常处理线上数据,进而导致目标应用无法正常处理线上数据,进而无法正常为客户提供服务。
往往需要经过较长时间,租户或者服务端的开发人员才能得到目标应用无法正常为客户提供服务的现状,这样,之后才会人工校验导致目标应用无法正常为客户提供服务的原因,之后才可能知道是第二服务模型存在语义问题,然后才可能知道是由于第一服务模型被变更而引发第二服务模型存在语义问题,从而推导出由于第二服务模型存在语义问题而导致第二服务模型无法正常处理线上数据,进而导致目标应用无法正常处理线上数据,进而无法正常为客户提供服务,然后开发人员才会对第二服务模型优化,解决目标应用无法正常处理线上数据的问题。
但是,上述情况中,实时性差,耗费时长较长,且人工成本较高,导致目标应用中断对客户提供服务的时长较长,客户体验差且租户体验也差。
而在本申请中,在服务端中的第一服务模型被变更的情况下,在服务端中查找在多个应用中的至少部分应用中的依赖第一服务模型的至少一个第二服务模型。对于查找到的任意一个第二服务模型,对该第二服务模型进行语义校验,得到该第二服务模型的语义校验结果,在该第二服务模型的语义校验结果用于指示该第二服务模型存在语义问题的情况下,输出该第二服务模型的语义校验结果。
通过本申请的方案可以迅速获知多个应用中的至少部分应用中的依赖第一服务模型的至少一个第二服务模型,并对各个第二服务模型进行语义校验,可以尽快得到各个第二服务模型是否存在语义问题的语义校验结果,在某一个第二服务模型存在语义问题时可以及时对该第二服务模型优化,以消除该第二服务模型的语义问题,从而使得该第二服务模型能够快速恢复具有正常处理线上数据的能力,使得包括该第二服务模型的应用可以更快恢复出能够正常处理客户的线上数据的能力,进而使得包括该第二服务模型的应用能够快速恢复为客户提供服务,减少了包括该第二服务模型的应用中断对客户提供服务的时长,提高了实时性,也即,减少了包括该第二服务模型的应用被耽误正常处理线上数据的时长,提高了客户体验以及租户体验。另外,校验过程中可以没有人的参与,从而可以降低人工成本。
其次,租户借助服务端中的服务模型开发应用的过程中,只要服务端中的第一服务模型被变更,则也可以执行本方案的流程,以通过本方案校验出包括第一服务模型中的应用是否包括存在语义问题的其他服务模型,并在包括其他服务模型的情况下可以提示开发人员对其他服务模型优化,以消除其他服务模型的语义问题,避免之后出现“租户借助其他服务模型生成应用的场景下由于其他服务模型存在语义问题而导致生成的应用无法正常为客户提供服务”的情况发生,进而可以避免降低客户体验以及租户体验。
另一方面,在开发人员在服务端中开发出一个服务模型之后,服务端就可以对服务模型进行语义校验,在该一个服务模型存在语义问题的情况下,就可以提示开发人员对该一个服务模型优化,以消除该一个服务模型的语义问题,避免之后在租户根据该一个服务模型开发应用的场景下才发现该语义问题并在届时优化该一个服务模型,进而可以避免届时的优化过程耽误租户开发应用的进程。
又一方面,在本申请中,服务端的开发人员可以在终端上使用浏览器接收示意图并查看示意图,以及,可以在终端上使用浏览器对服务端中的服务模型优化,不需要在终端上安装并使用专门的开发工具,从而可以提高便利性以及降低使用成本。
另外,租户也可以在终端上使用浏览器开发应用(例如,选择服务端中的服务模型以及自行开发需要的计算机程序代码)以及查看示意图,不需要在终端上安装并使用专门的开发工具,从而可以提高便利性以及降低使用成本。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本申请实施例中,所述电子设备包括服务器、网关、子设备等,子设备为物联网设备等设备。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括服务器(集群)、终端设备如IoT设备等电子设备。
图7示意性地示出了可被用于实现本申请中所述的各个实施例的示例性装置1300。
对于一个实施例,图7示出了示例性装置1300,该装置具有一个或多个处理器1302、被耦合到(一个或多个)处理器1302中的至少一个的控制模块(芯片组)1304、被耦合到控制模块1304的存储器1306、被耦合到控制模块1304的非易失性存储器(NVM)/存储设备1308、被耦合到控制模块1304的一个或多个输入/输出设备1310,和被耦合到控制模块1304的网络接口1312。
处理器1302可包括一个或多个单核或多核处理器,处理器1302可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置1300 能够作为本申请实施例中所述网关等服务器设备。
在一些实施例中,装置1300 可包括具有指令1314的一个或多个计算机可读介质(例如,存储器1306或NVM/ 存储设备1308) 和与该一个或多个计算机可读介质相合并被配置为执行指令1314以实现模块从而执行本公开中所述的动作的一个或多个处理器1302。
对于一个实施例,控制模块1304可包括任意适当的接口控制器,以向(一个或多个)处理器1302中的至少一个和/或与控制模块1304通信的任意适当的设备或组件提供任意适当的接口。
控制模块1304可包括存储器控制器模块,以向存储器1306提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
存储器1306可被用于例如为装置1300加载和存储数据和/或指令1314。对于一个实施例,存储器1306可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,存储器1306可包括双倍数据速率四同步动态随机存取存储器(DDR4SDRAM) 。
对于一个实施例,控制模块1304可包括一个或多个输入/输出控制器,以向NVM/存储设备1308及(一个或多个)输入/输出设备1310 提供接口。
例如,NVM/存储设备1308可被用于存储数据和/或指令1314。NVM/存储设备1308可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD) 、一个或多个光盘(CD) 驱动器和/或一个或多个数字通用光盘(DVD) 驱动器)。
NVM/存储设备1308可包括在物理上作为装置1300 被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如, NVM/存储设备1308可通过网络经由(一个或多个)输入/输出设备1310 进行访问。
(一个或多个)输入/输出设备1310 可为装置1300 提供接口以与任意其他适当的设备通信,输入/输出设备1310可以包括通信组件、拼音组件、传感器组件等。网络接口1312可为装置1300 提供接口以通过一个或多个网络通信,装置1300 可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi、2G、3G、4G、5G等,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器(例如,存储器控制器模块) 的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP) 。对于一个实施例, (一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例, (一个或多个)处理器1302中的至少一个可与控制模块1304的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC) 。
在各个实施例中,装置1300可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置1300 可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置1300包括一个或多个摄像机、键盘、液晶显示器(LCD) 屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC) 和扬声器。
本申请实施例提供了一种电子设备,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本申请中一个或多个所述的方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、和流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程信息处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程信息处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程信息处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程信息处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例和落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的数据处理方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (16)

1.一种数据处理方法,其特征在于,应用于服务端,所述服务端中具有用于对外提供服务的多个应用,各个应用分别是至少借助所述服务端中的多个服务模型在所述服务端中开发的,应用中包括的至少部分服务模型之间具有依赖关系,所述方法包括:
在所述服务端中的第一服务模型被变更的情况下,在所述服务端中查找在所述多个应用中的至少部分应用中的依赖所述第一服务模型的至少一个第二服务模型;
对于查找到的每一个第二服务模型,对所述第二服务模型进行语义校验,得到所述第二服务模型的语义校验结果,在所述第二服务模型的语义校验结果用于指示所述第二服务模型存在语义问题的情况下,输出所述第二服务模型的语义校验结果。
2.根据权利要求1所述的方法,其特征在于,所述在所述服务端中查找在所述多个应用中的至少部分应用中的依赖所述第一服务模型的至少一个第二服务模型,包括:
在所述服务端中查找使用所述第一服务模型的至少一个目标应用;
对于查找到的每一个目标应用,在所述目标应用中包括的多个服务模型中,确定依赖所述第一服务模型的第二服务模型。
3.根据权利要求1所述的方法,其特征在于,所述在所述服务端中查找在所述多个应用中的至少部分应用中的依赖所述第一服务模型的至少一个第二服务模型,包括:
在事先配置的主动依赖的服务模型的模型标识与被依赖的服务模型的服务标识之间的对应关系中,以所述第一服务模型的服务标识作为被依赖的服务模型的服务标识,查找对应的主动依赖的服务模型的模型标识;
根据查找到的服务标识确定所述至少一个第二服务模型;
其中,所述对应关系中的任意一个对应表项,所述对应表项中的主动依赖的服务模型的模型标识以及被依赖的服务模型的服务标识,是在所述服务端中开发一个应用且在开发的应用中部署了主动依赖的服务模型依赖被依赖的服务模型的依赖关系之后,在所述对应关系存储的。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第二服务模型的语义校验结果用于指示所述第二服务模型存在语义问题的情况下,获取所述第二服务模型以及所述第一服务模型之间的依赖关系;
生成用于指示所述依赖关系的、且标记所述第二服务模型存在语义问题的示意图;
向所述第二服务模型的开发人员使用的终端发送所述示意图。
5.根据权利要求4所述的方法,其特征在于,所述生成用于指示所述依赖关系的、且标记所述第二服务模型存在语义问题的示意图,包括:
获取所述第一服务模型中的被变更的符号,以及,在所述第二服务模型中确定由所述被变更的符号引发语义问题的目标符号;
生成用于指示所述第二服务模型中的所述目标符号依赖所述第一服务模型中的所述被变更的符号、且标记所述第二服务模型中的所述目标符号存在语义问题的示意图。
6.根据权利要求1、4或5所述的方法,其特征在于,所述方法还包括:
在所述第二服务模型的语义校验结果用于指示所述第二服务模型存在语义问题的情况下,获取用于解决所述第二服务模型的语义问题的至少一个解决方案;
向所述第二服务模型的开发人员使用的终端发送所述解决方案。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收终端提交的优化后的第二服务模型;优化后的第二服务模型是开发人员使用所述终端对存在语义问题的第二服务模型优化后得到的;
对优化后的第二服务模型进行语义校验,得到优化后的第二服务模型的语义校验结果;
在优化后的第二服务模型的语义校验结果用于指示优化后的第二服务模型不存在语义问题的情况下,向所述终端发送优化后的第二服务模型不存在语义问题的语义校验结果。
8.根据权利要求2所述的方法,其特征在于,所述对所述第二服务模型进行语义校验,包括:
在所述目标应用涉及的作用域中,确定所述第二服务模型所涉及的目标作用域;
获取所述目标作用域涉及的符号表,所述符号表中至少包括:所述目标作用域涉及的符号以及所述目标作用域涉及的符号的类型;
至少根据所述目标作用域涉及的符号表,对所述第二服务模型进行符号的类型相关的语义校验。
9.根据权利要求8所述的方法,其特征在于,所述至少根据所述目标作用域涉及的符号表,对所述第二服务模型进行符号的类型相关的语义校验,包括:
对于所述第二服务模型引用的任意一个符号,在所述符号对一个结构体的成员引用的情况下,获取被引用的所述结构体的成员的类型,根据被引用的所述结构体的成员的类型确定所述符号的类型,根据所述符号的类型对所述符号进行类型相关的语义校验;
或者,
对于所述第二服务模型引用的任意一个符号,在所述符号为表达式的情况下,获取所述表达式中的操作符,根据所述表达式中的操作符确定所述符号的类型,根据所述符号的类型对所述符号进行类型相关的语义校验;
或者,
对于所述第二服务模型引用的任意一个符号,在所述符号调用了函数的情况下,获取所述函数的返回值的类型,根据所述函数的返回值的类型确定所述符号的类型,根据所述符号的类型对所述符号进行类型相关的语义校验。
10.根据权利要求2所述的方法,其特征在于,所述对所述第二服务模型进行语义校验,包括:
检测所述第二服务模型中引用的符号的类型在所述目标应用中是否被定义;和/或,
检测所述第二服务模型中引用的符号在所述目标应用中是否被定义;和/或,
检测所述第二服务模型中的期望引用的符号的类型以及实际引用的符号的类型是否匹配;和/或,
检测所述第二服务模型中定义的符号在所述第二服务模型中是否被引用;和/或,
检测所述第二服务模型中的流程分支是否具有被执行的触发条件;和/或,
检测所述第二服务模型中的期望输出的数据的类型与实际输出的数据的类型是否匹配;和/或,
检测所述第二服务模型中是否存在起始节点以及结束节点;和/或,
检测所述第二服务模型中的表达式中的成员的类型与表达式支持的成员的类型是否匹配。
11.一种数据处理方法,其特征在于,应用于终端,所述方法包括:
接收服务端发送的示意图;所述示意图用于指示依赖关系且标记第二服务模型存在语义问题,所述依赖关系包括所述第二服务模型以及第一服务模型之间的依赖关系;所述依赖关系是所述服务端在对所述第二服务模型进行语义校验,并得到用于指示所述第二服务模型存在语义问题的语义校验结果的情况下获取的,所述第二服务模型包括在所述服务端中的第一服务模型被变更的情况下,在所述服务端中的多个应用中的至少部分应用中查找的依赖所述第一服务模型的至少一个服务模型;各个应用分别是至少借助所述服务端中的多个服务模型在所述服务端中开发的;应用中包括的至少部分服务模型之间具有依赖关系;
渲染所述示意图。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
在接收到对所述示意图中的其中一个第二服务模型的触控操作的情况下,根据所述触控操作获取所述其中一个第二服务模型的源代码文件;
显示所述其中一个第二服务模型的源代码文件中的源代码。
13.根据权利要求12所述的方法,其特征在于,所述显示所述其中一个第二服务模型的源代码文件中的源代码,包括:
在所述其中一个第二服务模型中确定由所述第一服务模型中的被变更的符号引发语义问题的目标符号;
在所述其中一个第二服务模型的源代码文件中确定所述目标符号的源代码;
显示所述目标符号的源代码。
14.根据权利要求11所述的方法,其特征在于,所述方法还包括:
对于每一个第二服务模型,在接收到对所述第二服务模型的优化操作的情况下,根据所述优化操作对所述第二服务模型优化,得到优化后的第二服务模型;
向服务端提交优化后的第二服务模型;
在接收到服务端反馈的、优化后的第二服务模型不存在语义问题的语义校验结果的情况下,在所述示意图中取消标记优化后的第二服务模型存在语义问题。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至14中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至14中任一项所述的方法的步骤。
CN202111493127.8A 2021-12-08 2021-12-08 一种数据处理方法及装置 Active CN113900663B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111493127.8A CN113900663B (zh) 2021-12-08 2021-12-08 一种数据处理方法及装置
PCT/CN2022/135115 WO2023103844A1 (zh) 2021-12-08 2022-11-29 一种数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111493127.8A CN113900663B (zh) 2021-12-08 2021-12-08 一种数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN113900663A true CN113900663A (zh) 2022-01-07
CN113900663B CN113900663B (zh) 2022-05-10

Family

ID=79025795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111493127.8A Active CN113900663B (zh) 2021-12-08 2021-12-08 一种数据处理方法及装置

Country Status (2)

Country Link
CN (1) CN113900663B (zh)
WO (1) WO2023103844A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023103844A1 (zh) * 2021-12-08 2023-06-15 阿里云计算有限公司 一种数据处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866286A (zh) * 2010-04-26 2010-10-20 中国科学院深圳先进技术研究院 一种基于语义关联的PaaS协同系统和方法
CN112286567A (zh) * 2020-09-24 2021-01-29 上海航天化工应用研究所 一种基于语义匹配的微服务生成方法及系统
CN112882763A (zh) * 2020-12-17 2021-06-01 济南浪潮数据技术有限公司 一种访问控制方法、装置、设备及可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9804829B2 (en) * 2016-03-31 2017-10-31 Ca, Inc. Interface definition language compiler with version reconciliation
US10437815B2 (en) * 2016-09-02 2019-10-08 Accenture Global Solutions Limited Identification of code object dependencies
CN106991015B (zh) * 2017-03-17 2020-05-19 浙江大学 一种基于消息语义标注的医疗信息系统集成监控方法
CN113900663B (zh) * 2021-12-08 2022-05-10 阿里云计算有限公司 一种数据处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866286A (zh) * 2010-04-26 2010-10-20 中国科学院深圳先进技术研究院 一种基于语义关联的PaaS协同系统和方法
CN112286567A (zh) * 2020-09-24 2021-01-29 上海航天化工应用研究所 一种基于语义匹配的微服务生成方法及系统
CN112882763A (zh) * 2020-12-17 2021-06-01 济南浪潮数据技术有限公司 一种访问控制方法、装置、设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023103844A1 (zh) * 2021-12-08 2023-06-15 阿里云计算有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
CN113900663B (zh) 2022-05-10
WO2023103844A1 (zh) 2023-06-15

Similar Documents

Publication Publication Date Title
US10528742B2 (en) Method and apparatus for repairing kernel vulnerability
CN106572173B (zh) 一种配置信息更新方法、装置和系统
US20180121400A1 (en) Visual state comparator
EP3140732B1 (en) Startup accelerating method and apparatus
WO2016177341A1 (zh) 接口调用方法、装置及终端
CN104317914A (zh) 数据获取方法和装置
CN110825399B (zh) 一种应用程序的部署方法及装置
CN106951270B (zh) 一种代码处理方法、系统及服务器
CN110858172A (zh) 一种自动化测试代码生成方法和装置
CN108228443B (zh) 一种web应用的测试方法及装置
CN113900663B (zh) 一种数据处理方法及装置
CN109636460B (zh) 一种业务处理方法、装置、设备及存储介质
CN111144804A (zh) 一种订单处理方法、装置及系统
US20180314683A1 (en) Method and device for processing natural language
US10095791B2 (en) Information search method and apparatus
CN111523676B (zh) 辅助机器学习模型上线的方法及装置
CN110825425A (zh) 配置数据管理方法及装置、电子设备、存储介质
US10242315B2 (en) Finite state machine forming
US20120173658A1 (en) Schema Validation Proxy
CN111338928A (zh) 基于chrome浏览器测试的方法及装置
US11226810B1 (en) Method for providing information based on expected result value and computing device using the same
WO2021120913A1 (zh) 应用加载方法、装置、用户终端和服务器
CN113221042A (zh) 网页操作过程记录方法、装置、电子设备及计算机可读介质
CN110362464B (zh) 软件分析方法及设备
CN108345461B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40066374

Country of ref document: HK