CN115118765B - 服务处理的方法、装置、电子设备和存储介质 - Google Patents

服务处理的方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN115118765B
CN115118765B CN202210694796.XA CN202210694796A CN115118765B CN 115118765 B CN115118765 B CN 115118765B CN 202210694796 A CN202210694796 A CN 202210694796A CN 115118765 B CN115118765 B CN 115118765B
Authority
CN
China
Prior art keywords
tenant
service
metadata
service message
processing
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.)
Active
Application number
CN202210694796.XA
Other languages
English (en)
Other versions
CN115118765A (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.)
Beijing Jingdong Qianshi Technology Co Ltd
Original Assignee
Beijing Jingdong Qianshi Technology 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 Beijing Jingdong Qianshi Technology Co Ltd filed Critical Beijing Jingdong Qianshi Technology Co Ltd
Priority to CN202210694796.XA priority Critical patent/CN115118765B/zh
Publication of CN115118765A publication Critical patent/CN115118765A/zh
Application granted granted Critical
Publication of CN115118765B publication Critical patent/CN115118765B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了服务处理的方法、装置、电子设备和存储介质,涉及计算机技术领域。该方法的一具体实施方式包括:接收租户端发送的服务报文,提取服务报文中协议参数,确定与协议参数关联的租户端类型;响应于租户端类型为单租户类型,查询协议参数对应的租户元数据,以更新至服务报文;响应于租户端类型为多租户类型,对服务报文解析得到传输参数,确定对应的租户元数据,以更新至服务报文;基于租户元数据,对更新后的服务报文进行处理,得出服务处理结果,发送服务处理结果。该实施方式能够解决在面对单租户和多租户共同的软件运行需求时,现有的软件运营模式无法满足各租户需求问题。

Description

服务处理的方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种服务处理的方法、装置、电子设备和存储介质。
背景技术
随着技术发展,SaaS(Software-as-a-service,软件即服务)模式已经成为常用的软件运营模式,但是目前仍然有较多的软件以传统模式运行。由于传统模式通常是对应于单个租户的运行模式,而SaaS是对应于多个租户的运行模式,两者很难兼容,所以在面对单租户和多租户共同的软件运行需求时,现有的软件运营模式无法满足各租户的需求。
发明内容
有鉴于此,本发明实施例提供一种服务处理的方法、装置、电子设备和存储介质,能够解决在面对单租户和多租户共同的软件运行需求时,现有的软件运营模式无法满足各租户需求问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种服务处理的方法。
本发明实施例的一种服务处理的方法包括:接收租户端发送的服务报文,提取所述服务报文中协议参数,确定与所述协议参数关联的租户端类型;
响应于所述租户端类型为单租户类型,查询所述协议参数对应的租户元数据,以更新至所述服务报文;
响应于所述租户端类型为多租户类型,对所述服务报文解析得到传输参数,确定对应的租户元数据,以更新至所述服务报文;
基于所述租户元数据,对所述更新后的服务报文进行处理,得出服务处理结果,发送所述服务处理结果。
在一个实施例中,对所述服务报文解析得到传输参数,确定对应的租户元数据,包括:
解析所述服务报文中的协议上下文,得出所述服务报文的传输参数,以从所述传输参数中确定对应的租户元数据。
在又一个实施例中,所述更新至所述服务报文,包括:
基于所述租户元数据生成预设格式的元数据上下文,以添加至接收的服务报文,得到更新的服务报文。
在又一个实施例中,对所述更新后的服务报文进行处理,得出服务处理结果,包括:
基于所述租户元数据查询对应的参数处理器,以调用所述参数处理器对更新后的报文执行参数处理流程,得出处理结果;
基于所述处理结果对所述更新后的服务报文执行服务处理流程,得出服务处理结果。
在又一个实施例中,基于所述租户元数据查询对应的参数处理器,包括:
基于所述租户元数据查询对应的参数处理标识;
响应于所述参数处理标识表示执行参数处理流程,基于所述租户元数据查询对应的参数处理器;
响应于所述参数处理标识表示不执行参数处理流程,对所述更新后的服务报文执行服务处理流程,得出服务处理结果。
在又一个实施例中,在基于所述租户元数据查询对应的参数处理器之前,还包括:
调用预设的服务代理,基于所述租户元数据查询所述认证参数,以对所述更新所述服务报文执行认证流程。
在又一个实施例中,还包括:
响应于服务发送指令,获取对应的服务数据和租户元数据;
基于所述租户元数据查询租户的封装参数,以对所述服务数据进行封装,得出封装报文;
基于所述租户元数据查询租户的协议参数,以通过所述协议参数发送所述封装报文。
为实现上述目的,根据本发明实施例的另一方面,提供了一种服务处理的装置。
本发明实施例的一种服务处理的装置包括:接收单元,用于接收租户端发送的服务报文,提取所述服务报文中协议参数,确定与所述协议参数关联的租户端类型;更新单元,用于响应于所述租户端类型为单租户类型,查询所述协议参数对应的租户元数据,以更新至所述服务报文;所述更新单元,还用于响应于所述租户端类型为多租户类型,对所述服务报文解析得到传输参数,确定对应的租户元数据,以更新至所述服务报文;处理单元,用于基于所述租户元数据,对所述更新后的服务报文进行处理,得出服务处理结果,发送所述服务处理结果。
在一个实施例中,所述更新单元,具体用于:
解析所述服务报文中的协议上下文,得出所述服务报文的传输参数,以从所述传输参数中确定对应的租户元数据。
在又一个实施例中,所述更新单元,具体用于:
基于所述租户元数据生成预设格式的元数据上下文,以添加至接收的服务报文,得到更新的服务报文。
在又一个实施例中,所述处理单元,具体用于:
基于所述租户元数据查询对应的参数处理器,以调用所述参数处理器对更新后的报文执行参数处理流程,得出处理结果;
基于所述处理结果对所述更新后的服务报文执行服务处理流程,得出服务处理结果。
在又一个实施例中,所述处理单元,具体用于:
基于所述租户元数据查询对应的参数处理标识;
响应于所述参数处理标识表示执行参数处理流程,基于所述租户元数据查询对应的参数处理器;
响应于所述参数处理标识表示不执行参数处理流程,对所述更新后的服务报文执行服务处理流程,得出服务处理结果。
在又一个实施例中,所述处理单元,具体用于:
调用预设的服务代理,基于所述租户元数据查询所述认证参数,以对所述更新所述服务报文执行认证流程。
在又一个实施例中,所述装置还包括:
获取单元,用于响应于服务发送指令,获取对应的服务数据和租户元数据;
封装单元,用于基于所述租户元数据查询租户的封装参数,以对所述服务数据进行封装,得出封装报文;
发送单元,用于基于所述租户元数据查询租户的协议参数,以通过所述协议参数发送所述封装报文。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种电子设备。
本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的服务处理的方法。
为实现上述目的,根据本发明实施例的又一个方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例提供的服务处理的方法。
为实现上述目的,根据本发明实施例的又一个方面,提供了一种计算机程序产品。
本发明实施例的一种计算机程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例提供的服务处理的方法。
上述发明中的一个实施例具有如下优点或有益效果:本发明实施例中,在接收租户端发送的服务报文后,可以从中提取协议参数,查询与协议参数关联的租户端类型,租户端类型可以包括单租户类型和多租户类型;在发送服务报文的租户端为单租户类型时,可以确定此租户端只包括单个租户,则可以查询出对应的租户元数据,进而可以更新至服务报文;在发送服务报文的租户端为多租户类型时,可以确定此租户端包括了多个租户,所以可以进一步对服务报文进行解析得到服务报文中的传输参数,以确定服务报文对应租户端的哪个租户,即查询出对应的租户元数据,进而更新至服务报文;如此服务报文中更新了租户元数据,后续对服务报文可以基于租户元数据来执行适应于该租户的处理流程。本发明实施例中,可以在接收服务报文后对租户端类型进行区分,以得出服务报文对应的租户元数据,从而可以实现对接收的服务报文进行与租户相适应服务处理,进而实现满足同时为单租户和多租户的软件运行需求、以及各租户的服务隔离,实现了软件运行的传统模式和SaaS模式的相互兼容和租户服务的个性化管理。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的服务处理的方法的一种主要流程的示意图;
图2是根据本发明实施例的服务处理系统的一种系统架构示意图;
图3是根据本发明实施例的服务处理的方法的又一种主要流程的示意图;
图4是根据本发明实施例的服务处理系统的又一种系统架构示意图;
图5是根据本发明实施例的服务处理的装置的主要单元的示意图;
图6是本发明实施例可以应用于其中的又一种示例性系统架构图;
图7是适于用来实现本发明实施例的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以互相组合。本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
本发明实施例提供一种服务处理系统,该系统可以用于同时对单租户和多租户进行服务处理的场景。服务处理系统可以包括服务框架和处理系统。其中,服务框架可以用于接收租户端发送的服务报文,以对服务报文对应的租户进行识别,并将租户元数据更新至服务报文,将服务报文路由至该租户对应处理系统进行进一步处理,同时服务框架还可以对需要发送给租户的服务数据进行封装和路由,以发送至租户端;处理系统可以用于对各租户的服务报文进行服务处理流程,如执行对应的业务处理等,由于处理系统中可以对各租户的数据和服务处理进行隔离,相当于包括对应各租户的处理系统。
本发明实施例中,在租户需要服务发布时,服务处理系统需要先进行服务配置。具体的,服务配置可以包括两种方式,包括按单租户配置和按租户组配置,其中,对于同类型且无特殊要求的租户可按租户组进行服务配置。
服务配置可以包括协议配置、解析器配置和参数处理器配置等。
协议配置可以包括租户与服务处理系统之间使用的协议类型和协议参数配置,具体的,使用的协议类型可以包括HTTP/HTTPS、JSF/dubbo、JMQ/rabbit mq等等,HTTP/HTTPS协议需要配置的协议参数可以包括url、JSF/dubbo协议需要配置的协议参数可以包括alias、MQ协议需要配置的协议参数可以包括topic。
解析器用于对服务报文解析,以得出租户元数据;租户的解析器配置可以包括两种,一种为对于单租户的解析器配置,可以将协议参数和租户元数据关联,如协议类型为HTTP/HTTPS时可以配置url与租户元数据关联,以便于基于服务报文中url得出租户元数据;另一种为对租户组的解析器配置,可以配置协议上下文中传输参数携带租户标识,并建立租户标识与租户元数据之间的关联,具体的,可以配置协议上下文中隐式传参携带租户标识,如协议类型为HTTP/HTTPS时可以配置header携带租户标识、协议类型为JSF时可以配置RPCContext携带租户标识、协议类型为MQ时可以配置mq attribute携带租户标识。
参数处理器用于对接收的服务报文进行预处理,具体可以包括参数校验(如根据POJO校验注解、校验参数合法性,如是否为空校验、字符串长度校验、数字最大值最小值校验等)、租户校验(如校验租户标识是否有效)、水平/垂直鉴权(如结合SaaS平台进行鉴权)、异常处理(如通过java throwable统一处理)、告警监控(如对接UMP处理)、自定义参数处理等中的一项或多项,所以本发明实施例中可以基于需求对参数处理器配置。
需要说明的是,本发明实施例中服务配置还可以包括服务认证配置、传输数据是否压缩配置、传输数据是否加密配置等等。其中,认证配置可以包括认证方式和认证证书管理,具体的,认证方式可以包括签名认证、IP限制、Token认证、自定义认证等等;传输数据是否压缩配置还可以包括压缩算法的配置;传输数据是否加密配置还可以包括加密算法的配置。本发明实施例中,租户的解析器还可以自定义配置,例如在智能场站场景中,智能场站系统中数字月台的设备编码是全局唯一的,所以该设备的相关服务处理中,可以配置设备编码关联租户元数据,以在服务报文中携带设备编码,进而可以获得租户元数据。
本发明实施例中,租户端具体可以为一个系统、设备或服务端,其可以支持单租户,也可以支持多租户。服务处理系统在完成服务配置后,可以进行服务发布,以使租户端中的租户可以与服务处理系统进行服务报文传输。对服务处理系统而言,其可以接收上游租户端的服务调用,即接收租户端发送的服务报文进行处理并返回处理结果,也可以对下游租户端进行服务调用,即向租户端发送服务报文并得到返回的处理结果。
本发明实施例提供了一种服务处理的方法,该方法可由服务处理系统执行,如图1所示,该方法包括:
S101:接收租户端发送的服务报文,提取服务报文中协议参数,确定与协议参数关联的租户端类型。
其中,租户可以通过调用服务处理系统实现服务运行,即租户可以通过租户端向服务处理系统发送服务报文。具体的,服务报文可以为租户端通过配置的协议对服务报文进行封装和发送,其中包括了配置的协议参数和数据参数,本步骤中可以从服务报文中提取协议参数。
由于租户端可以为支持单租户、也可以为支持多租户,在租户端支持多租户时其使用协议参数可以是相同的,所以本发明实施例中,可以预先设置协议参数对应的租户端类型。租户端类型可以包括单租户类型和多租户端类型,单租户类型表示租户端支持单租户,多租户端类型表示租户端支持多租户。为了便于对服务报文的处理,可以配置协议参数与对应租户端所支持租户之间的关联,例如可以配置协议参数与对应租户端所支持租户的租户标识之间的关联,如此通过协议参数可以得出关联的租户标识,即此服务报文可能来自哪个租户的租户标识。所以本步骤中可以通过协议参数得到关联的租户标识集合,进而可以基于租户标识集合中包括租户标识的个数来确定与协议参数关联的租户端类型,即租户标识集合中包括租户标识的个数为1,则说明租户端类型为单租户类型,租户标识集合中包括租户标识的个数大于1,则说明租户端类型为多租户类型。
例如,以配置的协议为HTTP/HTTPS,则协议参数可以具体为URL,所以本步骤中可以从服务报文中提取出URL,以确定出与协议参数关联的租户端类型。
S102:响应于租户端类型为单租户类型,查询协议参数对应的租户元数据,以更新至服务报文。
其中,协议参数关联的租户端类型为单租户类型,说明租户端支持的为单租户,所可以基于协议参数对应的租户元数据。租户元数据可以包括租户的属性参数,例如,可以包括租户编码等等。由于服务处理系统中对各租户服务的处理时相互独立的,所以本步骤在得出租户元数据后可以将其更新至服务报文中,以便于服务处理系统可以基于更新后服务报文中的租户元数据确定适应于服务报文的处理方式,以对服务报文进行处理。
在一些实施例中,本步骤中更新至服务报文的方式可以为将租户元数据添加至服务报文中。具体的,租户元素数据可以以上下文的方式添加至服务报文中,具体可以执行为:基于租户元数据生成预设格式的元数据上下文,以添加至接收的服务报文,得到更新的服务报文。
由于租户元数据中所有参数并不一定需要全部更新至服务报文中,所有本发明实施例中可以预设元数据上下文的格式,即预设格式,以按照预设格式,基于租户元数据来生成元数据上下文,进而添加至服务报文中。
S103:响应于租户端类型为多租户类型,对服务报文解析得到传输参数,确定对应的租户元数据,以更新至服务报文。
其中,协议参数关联的租户端类型为多租户类型,说明租户端支持的为多租户,所以基于协议参数无法确定出服务报文具体对应的租户,需要进一步的对服务报文进行解析,以得到服务报文的传输参数,进而可以确定出对应的租户元数据。
具体的,本发明实施例中可以基于服务报文的协议上下文中的传输参数来确定对应的租户元数据。例如,本发明实施例中,在协议上下文中可以通过传输参数携带租户标识,所以本步骤通过解析服务报文中的协议上下文,得出服务报文的传输参数,即租户标识,进而可以查询出对应的租户元数据。例如,以配置的协议为HTTP/HTTPS,则传输参数可以具体为服务报文的header中的参数。
需要说明的是,本发明实施例中,如果更新至服务报文的租户元数据为租户编码,则可以直接在传输参数中携带租户编码,进而本步骤可以从传输数据中确定出服务报文对应的租户编码。
本步骤中更新服务报文的方式与步骤S102中更新服务报文的方式相同,在此不再赘述。
S104:基于租户元数据,对更新后的服务报文进行处理,得出服务处理结果,发送服务处理结果。
其中,服务处理系统可以基于更新后服务报文中的租户元数据确定适应于服务报文的处理方式,以对不同租户的服务报文进行适应性处理。
具体的,服务处理系统对服务报文的处理可以包括参数处理器的参数处理和服务处理。服务处理系统中为各租户配置了参数处理器,所以本步骤中可以基于租户元数据查询对应的参数处理器,以调用参数处理器对更新后的报文执行参数处理流程,得出处理结果;在得出处理结果后,可以进一步的对服务报文进行业务处理,即服务处理。由于不同的参数处理结果会执行不同的服务处理流程,所以本步骤中可以基于处理结果对更新后的服务报文执行服务处理流程,得出服务处理结果。例如,在参数处理包括参数校验,则参数处理的处理结果可以包括校验通过和校验不通过,在处理结果为校验通过时则可以对更新后的服务报文执行服务处理流程,在处理结果为校验不通过时则可以对更新后的服务报文执行异常处理流程。
需要说明的是,由于在服务配置时一些租户可以配置不进行参数处理,所以本步骤中在查询对应的参数处理器之前还可以先基于租户元数据查询对应的参数处理标识,以判断服务报文是否执行参数处理;响应于参数处理标识表示执行参数处理流程,可以基于租户元数据查询对应的参数处理器,以执行参数处理流程,并进一步的执行服务处理流程;响应于参数处理标识表示不执行参数处理流程,可以直接对更新后的服务报文执行服务处理流程,得出服务处理结果。例如,本发明实施例中可以设置参数处理标识为预设值时表示执行参数处理流程,所以本步骤中可以基于参数处理标识是否为预设值,来确定参数处理标识是否表示执行参数处理流程。
在又一些实施例中,由于服务配置时还可以包括认证、压缩、加解密等的配置,所以本发明实施例在执行参数处理流程之前还可以基于服务配置来执行对服务报文的解密、解压缩、认证流程等等。具体的,本发明实施例中可以为各租户设置服务代理,以通过服务代理来执行对服务报文的解密、解压缩、认证流程的处理。
本发明实施例中,在服务处理系统通过对服务报文的处理得出服务处理结果后,可以基于服务配置对服务结果进行压缩、加密、协议封装等处理,以发送给租户端。
需要说明的是,本发明实施例中,服务处理系统可以预先存储各租户的元数据,并通过元数据上下文在系统内和系统间传递。具体的,对于RPC协议可以通过RPC Context传递,例如,可以定义一个key为”meta-obj”,value为自定义json的对象,consumer负责从元数据上下文获取租户元数据并填充至协议,provider负责解析租户元数据并填充至元数据上下文,同理,对于HTTP相关协议,可以通过header传递,对于MQ相关协议,可以通过MQattribute传递。
本发明实施例中,可以在接收服务报文后对租户端类型进行区分,以得出服务报文对应的租户元数据,从而可以实现对接收的服务报文进行与租户相适应服务处理,进而实现满足同时为单租户和多租户的软件运行需求、以及各租户的服务隔离,实现了软件运行的传统模式和SaaS模式的相互兼容和租户服务的个性化管理。
以租户包括租户1、租户2、租户3和租户4为例对图1所示实施例中方法进行说明,其中,租户1对应的租户端支持单租户,租户2、租户3和租户4对应的租户端支持多租户,租户1、租户2、租户3和租户4均配置使用HTTP/HTTPS协议,租户1对应协议参数中URL为URL1,对应的服务配置为自定义的参数处理器进行参数处理,租户2、租户3和租户4对应协议参数中URL为URL2,租户2对应的服务配置为自定义的参数处理器进行参数处理,租户3和租户4对应的服务配置均为通用参数处理器进行参数处理,图2所示为服务处理系统的系统架构示意图。
如图2所示,在服务框架接收服务报文后,可以通过解析其中的URL,以基于URL来进行租户类型区分。由于URL1只对应租户1,即为单租户类型,所以可以查询出租户1的租户元数据并更新至服务报文中;由于URL2对应租户2、租户3和租户4,即为多租户类型,所以可以进一步的解析服务报文hear中的传输参数,以得出租户元数据,并更新至服务报文中;由于服务处理系统中对各租户的处理并不完全相同,所以可以在更新服务报文后,基于服务配置对其进行区别处理,相当于服务处理系统中设置对应不同租户的处理系统,在更新服务报文后,将其路由至与各租户适应的处理系统进行处理;本实施例中,由于租户1租户2对应的服务配置为自定义的参数处理器进行参数处理,租户3和租户4对应的服务配置均为通用参数处理器进行参数处理,所以服务框架中可以为不同租户配置对应的参数处理器,以进行对应的参数处理,并在参数处理后传输给业务系统,使业务系统可以对各租户的服务报文进行对应的服务处理流程。
本发明实施例中,服务处理系统还可以向租户发送服务报文,以调用租户中的服务,本发明实施例提供了又一种服务处理的方法,如图3所示,该方法包括:
S301:响应于服务发送指令,获取对应的服务数据和租户元数据。
其中,服务发送指令可以为服务处理系统自动触发,其中包括了服务数据和租户元数据,服务数据表示本次服务发送的业务数据,租户元数据表示本次服务是发送至哪个租户的。
需要说明的是,本发明实施例中,服务发送指令可以包括租户的元数据上下文,如此通过对元数据上下文解析得出租户元数据。
S302:基于租户元数据查询租户的封装参数,以对服务数据进行封装,得出封装报文。
其中,服务处理系统可以基于租户元数据来查询对应的服务配安徽,其中包括了封装参数,可以包括协议封装参数和安全封装参数,如加密参数、压缩参数、认证参数、封装协议等等。本步骤中可以基于封装参数对服务数据进行封装,得出封装报文。
S303:基于租户元数据查询租户的协议参数,以通过协议参数发送封装报文。
其中,协议参数中包括报文路由所需的参数,如地址等,所以呢步骤中可以基于租户元数据查询租户的协议参数,进而通过协议参数发送封装报文,即将封装报文路由至租户端。
本发明实施例中,通过租户元数据对发送给不同租户的服务数据进行封装和发送,可以实现对接收的服务报文进行与租户相适应服务处理,进而实现满足同时为单租户和多租户的软件运行需求、以及各租户的服务隔离,实现了软件运行的传统模式和SaaS模式的相互兼容和租户服务的个性化管理。
以租户包括租户5、租户6、租户7和租户8为例对图3所示实施例中方法进行说明,其中,租户5对应的租户端支持单租户,租户6、租户7和租户8对应的租户端支持多租户,租户5和租户6对应封装配置中包括了个性化的配置,所以租户5和租户6对应的服务数据封装需要适应性的处理,租户7和租户8对应的封装配置为通用配置,所以租户7和租户8对应的服务数据封装可以通过默认报文封装进行处理,图4所示为服务处理系统的系统架构示意图。
如图4所示,在业务处理触发服务发送指令后,服务框架可以获取其中的服务数据和租户元数据,并基于租户元数据确定出对应的租户,确定与租户对应的封装配置,进而分别进行服务数据的封装,得出封装报文;在得出封装报文后可以进一步基于协议参数进行封装报文的路由,即发送给不同的租户端,以发送给对应的租户。
为了解决现有技术存在的问题,本发明实施例提供了一种服务处理的装置500,如图5所示,该装置500包括:
接收单元501,用于接收租户端发送的服务报文,提取所述服务报文中协议参数,确定与所述协议参数关联的租户端类型;
更新单元502,用于响应于所述租户端类型为单租户类型,查询所述协议参数对应的租户元数据,以更新至所述服务报文;
所述更新单元502,还用于响应于所述租户端类型为多租户类型,对所述服务报文解析得到传输参数,确定对应的租户元数据,以更新至所述服务报文;
处理单元503,用于基于所述租户元数据,对所述更新后的服务报文进行处理,得出服务处理结果,发送所述服务处理结果。
应理解的是,实施本发明实施例的方式与实施图1所示实施例的方式相同,在此不再赘述。
在一个实施例中,所述更新单元502,具体用于:
解析所述服务报文中的协议上下文,得出所述服务报文的传输参数,以从所述传输参数中确定对应的租户元数据。
在又一个实施例中,所述更新单元502,具体用于:
基于所述租户元数据生成预设格式的元数据上下文,以添加至接收的服务报文,得到更新的服务报文。
在又一个实施例中,所述处理单元503,具体用于:
基于所述租户元数据查询对应的参数处理器,以调用所述参数处理器对更新后的报文执行参数处理流程,得出处理结果;
基于所述处理结果对所述更新后的服务报文执行服务处理流程,得出服务处理结果。
在又一个实施例中,所述处理单元503,具体用于:
基于所述租户元数据查询对应的参数处理标识;
响应于所述参数处理标识表示执行参数处理流程,基于所述租户元数据查询对应的参数处理器;
响应于所述参数处理标识表示不执行参数处理流程,对所述更新后的服务报文执行服务处理流程,得出服务处理结果。
在又一个实施例中,所述处理单元503,具体用于:
调用预设的服务代理,基于所述租户元数据查询所述认证参数,以对所述更新所述服务报文执行认证流程。
在又一个实施例中,所述装置500还包括:
获取单元,用于响应于服务发送指令,获取对应的服务数据和租户端元数据;
封装单元,用于基于所述租户端元数据查询租户端的封装参数,以对所述服务数据进行封装,得出封装报文;
发送单元,用于基于所述租户端元数据查询租户端的协议参数,以通过所述协议参数发送所述封装报文。
应理解的是,实施本发明实施例的方式与实施图1、2、3或4所示实施例的方式相同,在此不再赘述。
本发明实施例中,可以在接收服务报文后对租户端类型进行区分,以得出服务报文对应的租户元数据,从而可以实现对接收的服务报文进行与租户相适应服务处理,进而实现满足同时为单租户和多租户的软件运行需求、以及各租户的服务隔离,实现了软件运行的传统模式和SaaS模式的相互兼容和租户服务的个性化管理。
根据本发明的实施例,本发明实施例还提供了一种电子设备和一种可读存储介质。
本发明实施例的电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明实施例所提供的服务处理的方法。
图6示出了可以应用本发明实施例的服务处理的方法或服务处理的装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种客户端应用。
终端设备601、602、603可以是但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,服务器可以对接收到的服务报文等数据进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本发明实施例所提供的服务处理的方法一般由服务器605执行,相应地,服务处理的装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的计算机系统700的结构示意图。图7示出的计算机系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段、或代码的一部分,上述单元、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、更新单元和处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“服务报文接收功能的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行本发明所提供的服务处理的方法。
作为另一方面,本发明还提供了一种计算机程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例提供的服务处理的方法。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (9)

1.一种服务处理的方法,其特征在于,包括:
接收租户端发送的服务报文,提取所述服务报文中协议参数,确定与所述协议参数关联的租户端类型;
响应于所述租户端类型为单租户类型,查询所述协议参数对应的租户元数据,以更新至所述服务报文;
响应于所述租户端类型为多租户类型,对所述服务报文解析得到传输参数,确定对应的租户元数据,以更新至所述服务报文;
基于所述租户元数据,对所述更新后的服务报文进行处理,得出服务处理结果,发送所述服务处理结果;
对所述服务报文解析得到传输参数,确定对应的租户元数据,包括:
解析所述服务报文中的协议上下文,得出所述服务报文的传输参数,以从所述传输参数中确定对应的租户元数据。
2.根据权利要求1所述的方法,其特征在于,所述更新至所述服务报文,包括:
基于所述租户元数据生成预设格式的元数据上下文,以添加至接收的服务报文,得到更新的服务报文。
3.根据权利要求1所述的方法,其特征在于,对所述更新后的服务报文进行处理,得出服务处理结果,包括:
基于所述租户元数据查询对应的参数处理器,以调用所述参数处理器对更新后的报文执行参数处理流程,得出处理结果;
基于所述处理结果对所述更新后的服务报文执行服务处理流程,得出服务处理结果。
4.根据权利要求3所述的方法,其特征在于,基于所述租户元数据查询对应的参数处理器,包括:
基于所述租户元数据查询对应的参数处理标识;
响应于所述参数处理标识表示执行参数处理流程,基于所述租户元数据查询对应的参数处理器;
响应于所述参数处理标识表示不执行参数处理流程,对所述更新后的服务报文执行服务处理流程,得出服务处理结果。
5.根据权利要求1所述的方法,其特征在于,在基于所述租户元数据查询对应的参数处理器之前,还包括:
调用预设的服务代理,基于所述租户元数据查询所述认证参数,以对所述更新所述服务报文执行认证流程。
6.根据权利要求1所述的方法,其特征在于,还包括:
响应于服务发送指令,获取对应的服务数据和租户元数据;
基于所述租户元数据查询租户的封装参数,以对所述服务数据进行封装,得出封装报文;
基于所述租户元数据查询租户的协议参数,以通过所述协议参数发送所述封装报文。
7.一种服务处理的装置,其特征在于,包括:
接收单元,用于接收租户端发送的服务报文,提取所述服务报文中协议参数,确定与所述协议参数关联的租户端类型;
更新单元,用于响应于所述租户端类型为单租户类型,查询所述协议参数对应的租户元数据,以更新至所述服务报文;
所述更新单元,还用于响应于所述租户端类型为多租户类型,对所述服务报文解析得到传输参数,确定对应的租户元数据,以更新至所述服务报文;
处理单元,用于基于所述租户元数据,对所述更新后的服务报文进行处理,得出服务处理结果,发送所述服务处理结果;
所述更新单元,具体用于:
解析所述服务报文中的协议上下文,得出所述服务报文的传输参数,以从所述传输参数中确定对应的租户元数据。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN202210694796.XA 2022-06-20 2022-06-20 服务处理的方法、装置、电子设备和存储介质 Active CN115118765B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210694796.XA CN115118765B (zh) 2022-06-20 2022-06-20 服务处理的方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210694796.XA CN115118765B (zh) 2022-06-20 2022-06-20 服务处理的方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN115118765A CN115118765A (zh) 2022-09-27
CN115118765B true CN115118765B (zh) 2024-04-05

Family

ID=83328459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210694796.XA Active CN115118765B (zh) 2022-06-20 2022-06-20 服务处理的方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN115118765B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170457A (zh) * 2010-02-26 2011-08-31 国际商业机器公司 向应用的多租户提供服务的方法和装置
CN102621940A (zh) * 2012-01-20 2012-08-01 华信邮电咨询设计研究院有限公司 基于云计算的it机房的布局方法及it机房
JP2013182310A (ja) * 2012-02-29 2013-09-12 Mitsubishi Electric Corp アクセス制御装置及びアクセス制御方法及びプログラム
CN110830351A (zh) * 2018-08-07 2020-02-21 深信服科技股份有限公司 基于SaaS服务模式的租户管理及服务提供方法、装置
CN112069210A (zh) * 2020-08-21 2020-12-11 北京首汽智行科技有限公司 一种saas平台多租户数据隔离方法
CN113778499A (zh) * 2020-08-21 2021-12-10 北京京东振世信息技术有限公司 发布服务的方法、装置、设备和计算机可读介质
CN114301714A (zh) * 2022-01-20 2022-04-08 杭萧钢构股份有限公司 一种多租户权限控制方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110264668A1 (en) * 2010-04-27 2011-10-27 Salesforce.Com, Inc. Methods and Systems for Providing Secondary Indexing in a Multi-Tenant Database Environment
US9553850B2 (en) * 2014-06-30 2017-01-24 International Business Machines Corporation Multi-tenant secure separation of data in a cloud-based application
US10320844B2 (en) * 2016-01-13 2019-06-11 Microsoft Technology Licensing, Llc Restricting access to public cloud SaaS applications to a single organization
EP3255950A1 (en) * 2016-06-06 2017-12-13 ASUSTek Computer Inc. Method and apparatus for resource allocation on d2d relay channel in a wireless communication system
US20180278725A1 (en) * 2017-03-24 2018-09-27 Ca, Inc. Converting a single-tenant application for multi-tenant use
US10853124B2 (en) * 2017-09-25 2020-12-01 Splunk Inc. Managing user data in a multitenant deployment
US10476679B2 (en) * 2017-11-14 2019-11-12 INTEGRITY Security Services, Inc. Systems, methods, and devices for multi-stage provisioning and multi-tenant operation for a security credential management system
US11218461B2 (en) * 2018-06-29 2022-01-04 Salesforce.Com, Inc. Authenticating computing system requests with an unknown destination across tenants of a multi-tenant system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170457A (zh) * 2010-02-26 2011-08-31 国际商业机器公司 向应用的多租户提供服务的方法和装置
CN102621940A (zh) * 2012-01-20 2012-08-01 华信邮电咨询设计研究院有限公司 基于云计算的it机房的布局方法及it机房
JP2013182310A (ja) * 2012-02-29 2013-09-12 Mitsubishi Electric Corp アクセス制御装置及びアクセス制御方法及びプログラム
CN110830351A (zh) * 2018-08-07 2020-02-21 深信服科技股份有限公司 基于SaaS服务模式的租户管理及服务提供方法、装置
CN112069210A (zh) * 2020-08-21 2020-12-11 北京首汽智行科技有限公司 一种saas平台多租户数据隔离方法
CN113778499A (zh) * 2020-08-21 2021-12-10 北京京东振世信息技术有限公司 发布服务的方法、装置、设备和计算机可读介质
CN114301714A (zh) * 2022-01-20 2022-04-08 杭萧钢构股份有限公司 一种多租户权限控制方法和系统

Also Published As

Publication number Publication date
CN115118765A (zh) 2022-09-27

Similar Documents

Publication Publication Date Title
US10164961B2 (en) Dynamic web services server
CN109815107B (zh) 自动化测试的方法和装置
CN110417766A (zh) 一种协议解析的方法和装置
CN110839004A (zh) 访问认证的方法和装置
CN109510754B (zh) 在线文档生成方法、装置、系统和电子设备
CN110377440B (zh) 信息处理方法和装置
CN112445868B (zh) 业务报文处理方法和装置
CN111294235A (zh) 数据处理方法、装置、网关及可读存储介质
CN107332857B (zh) 一种网络数据传输方法、装置、系统和存储介质
CN114979295B (zh) 一种网关管理的方法和装置
CN110795741B (zh) 对数据进行安全性处理的方法和装置
CN112039796A (zh) 数据包传输方法和装置、存储介质和电子设备
US11709722B2 (en) Extensible communication framework and communication method supporting multiple communication protocols
CN113595927A (zh) 一种旁路模式下镜像流量的处理方法和装置
CN107368334B (zh) 一种业务插件交互系统及方法
CN109981546B (zh) 获取应用模块间的远程调用关系的方法和装置
CN108989157B (zh) 用于智能设备控制的方法、装置
CN112015383A (zh) 一种登录方法和装置
CN113778499B (zh) 发布服务的方法、装置、设备和计算机可读介质
CN115118765B (zh) 服务处理的方法、装置、电子设备和存储介质
CN109525550B (zh) 一种数据报文的处理方法、装置以及系统
CN113051202A (zh) 接口适配方法、装置、电子设备和计算机可读存储介质
CN107181644B (zh) 用于监控网络应用的网络性能的方法和装置
CN113742235A (zh) 一种校验代码的方法和装置
CN113779018A (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