CN112953996B - 服务方法及其系统 - Google Patents
服务方法及其系统 Download PDFInfo
- Publication number
- CN112953996B CN112953996B CN202010766262.4A CN202010766262A CN112953996B CN 112953996 B CN112953996 B CN 112953996B CN 202010766262 A CN202010766262 A CN 202010766262A CN 112953996 B CN112953996 B CN 112953996B
- Authority
- CN
- China
- Prior art keywords
- service
- unit
- environment
- application
- service application
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种服务方法,应用于包括服务提供单元、网关、服务申请单元的应用程序编程接口发布系统中。该方法包括:服务提供单元在网关注册包括多个服务应用环境的服务组单元的环境地址,然后,服务提供单元将服务数据发布至服务组单元;服务申请单元向网关中的路由单元发送第一访问请求,路由单元响应于第一访问请求,并根据第一访问请求、服务组单元的环境地址,确定服务申请单元的第一访问请求对应的第一服务应用环境的环境地址;服务申请单元根据第一服务应用环境的环境地址访问第一服务应用环境的服务数据。该方法通过在将引入服务组单元有效地减少了服务提供单元注册服务应用环境的环境地址的次数,提高了服务提供单元的注册效率。
Description
技术领域
本申请涉及应用程序编程接口(Application Programming Interface,API)技术领域,特别涉及一种服务方法。
背景技术
在互联网中,把网站或者计算机应用系统的服务封装成一系列计算机可识别的数据接口开放出去,来供第三方开发者使用,这种行为就叫做开放API。而提供开放API平台本身就被称为开放API平台或者API提供者。
目前,API提供者一般会提供测试环境以及生产环境供消费者使用,同时还需要提供各环境的API使用文档供消费者在需要的时候查阅。此时,就需要API提供者同时注册测试环境、发布环境等多个环境的接口来发布开放API提供者提供的API代码,并且生成各个环境的接口使用文档,因此注册过程以及接口使用文档的编写、维护都非常繁琐。
发明内容
本申请实施例提供了一种服务方法及系统,该方法通过在将引入服务组单元有效地减少了服务提供单元注册服务应用环境的环境地址的次数,提高了服务提供单元的注册效率。另外,本申请还提供文档服务单元,通过使用REST-API自动生成API使用文档,进一步省去了人工编写、维护、上传API使用文档的繁琐。
第一方面,提供了一种服务方法,该方法应用于包括服务提供单元、网关、服务申请单元的应用程序编程接口API发布系统中,其中,网关包括路由单元。该方法包括:服务提供单元在网关注册服务组单元的环境地址,服务组单元包括多个服务应用环境;服务提供单元将服务数据发布至服务组单元;服务申请单元向路由单元发送第一访问请求;路由单元根据第一访问请求和服务组单元的环境地址,确定第一访问请求对应的第一服务应用环境的环境地址;路由单元向服务申请单元返回第一服务应用环境的环境地址;服务申请单元根据第一服务应用环境的环境地址,访问第一服务应用环境的服务数据。
即通过将服务数据性质相同的服务应用环境编入同一服务组单元(例如,将都具有支付服务功能的支付服务数据的测试环境和生产环境编入支付服务组单元),使得服务提供单元在注册服务应用环境地址的时候,不需要再注册每一个服务应用环境的地址,而只需要注册服务应用环境所在的服务组单元的环境地址。在服务应用环境种类数量都比较大的时候,有效地减少了服务提供单元的注册次数。
应理解的是,上述第一服务应用环境是上述服务组单元中多个服务应用环境中的部分服务应用环境。比如,当服务组单元为支付服务组单元、查询服务组单元的时候,多个服务应用环境可以是支付服务测试应用环境、支付服务生产应用环境、查询服务测试应用环境、查询服务生产应用环境等等,而此时第一服务应用环境可以是支付服务测试应用环境、支付服务生产应用环境、查询服务测试应用环境、查询服务生产应用环境中的任意一个。
结合第一方面,在第一方面的某些实施方式中,API发布系统还包括文档服务单元,其中,服务提供单元将服务数据发布至所述文档服务单元,然后文档服务单元根据服务数据生成指导服务申请单元访问和/或使用对应服务数据的使用文档。
结合上述实施方式,在第一方面的某些实施方式中,文档服务单元通过REST-API接收预设的应用程序编程接口模板的定义数据、模板编码;预设应用程序编程接口模板的定义数据包括预设应用程序编程接口模板的参数、返回结果。
结合第一方面和上述实施方式,在第一方面的某些实施方式中,路由单元根据服务申请单元的访问请求、服务组单元的环境地址,确定服务申请单元的访问请求对应的服务应用环境的环境地址,包括:路由单元根据服务申请单元的访问请求、服务组单元的环境地址,通过主机地址匹配或路径地址关键字匹配的方式,确定服务申请单元的访问请求对应的服务应用环境的环境地址。
第二方面,提供了一种电子设备,该电子设备包括:一个或者多个处理器;存储器;安装有多个应用程序的模块;以及一个或多个程序,其中,一个或者多个程序被存储在存储器中,当一个或者多个程序被处理器执行时,使得电子设备执行上述任一方面的方法。
第三方面,提供了一种计算机可读介质,计算机可读介质上存储有指令,当指令在电子设备上运行时,使得电子设备执行上述任一方面的方法。第四方面,提供了一种计算机程序产品,当计算程序产品在计算机上运行时,使得计算机执行上述任一方面的方法。
附图说明
图1是现有技术中的API发布系统图。
图2是本申请实施例提供的一例API发布系统图。
图3是本申请实施例提供的一例API发布系统图。
图4是本申请实施例提供的一例能够实现本申请技术方案的系统图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。
图1示出了现有技术中的API发布系统图,包括了服务提供单元100、网关200、服务申请单元300。
当服务提供单元100提供两种服务接口的时候(比如,支付接口、查询接口),需要分别发布支付服务数据和查询服务数据文件至各自的测试环境以及生产环境,即图1所示的支付服务测试环境A、支付服务生产环境B、查询服务测试环境M、查询服务生产环境N。
如此,服务提供单元100就需要分别在网关200注册上述4个环境的环境地址。
当服务申请单元300请求访问支付服务测试应用环境A的支付服务数据时,服务申请单元300向网关200发送访问请求path=/A/请求访问支付服务测试应用环境A,网关200根据服务申请单元300的访问请求,将path=/A/所指的支付服务测试应用环境A指给服务申请单元300。并且,服务申请单元300访问支付服务测试环境A的支付服务数据。
可以理解的,当服务提供单元100提供更多的服务接口时,类似的注册过程就会更加繁琐。
为了解决上述问题,本申请的技术方案提供了一种服务方法,该方法将服务数据性质相同的服务应用环境编入同一个服务组单元,使得服务提供单元100在注册各服务应用环境的环境地址时,只需要注册各服务应用环境所属的服务组单元的环境地址,有效的减少了服务提供单元100注册服务应用环境的环境地址的次数。
示例性地,如图2所示,服务提供单元100在网关200注册支付服务组单元和查询服务组单元的环境地址,服务提供单元100在网关200注册服务组单元的环境地址成功以后,上述变量path的值就变成path=/pay/。
当服务申请单元300请求访问支付服务测试应用环境A的支付服务数据的时候,服务申请单元300会向网关200发送请求访问path=A的请求,此时,网关200中的路由单元会根据支付服务组单元的环境地址以及服务申请单元300的访问请求给path重新赋值为path=/A/pay,并将path=/A/pay所指的支付服务测试应用环境A指给服务申请单元300,服务申请单元300根据path=/A/pay访问支付服务测试环境A中的支付服务数据。
需要说明的是,上述服务数据性质相同指的是,服务提供单元100发布的服务数据所提供的服务是相同的。例如,将都具有支付服务功能的支付服务数据的测试环境和生产环境编入支付服务组单元。
在本申请的一种可能实现的方式中,本申请的方法还可以将同一性质的服务应用环境编入同一个主机地址内来管理各服务应用环境。
示例性的,如图3所示,服务提供单元100在网关200完成支付服务组单元、查询服务组单元的环境地址注册后,网关200将支付服务测试应用环境A、查询服务测试应用环境C编入第一主机地址path=/test/下,将支付服务生产应用环境B、查询服务生产应用环境D编入第二主机地址path=/pr/下。
当服务申请单元300请求访问支付服务测试应用环境A的支付服务数据的时,服务申请单元300向网关200发送访问请求path=/test/pay,网关200的路由单元根据服务申请单元300的访问请求path=/test/pay,将path=/test/pay所指的支付服务测试应用环境A指给服务申请单元300,服务申请单元300访问支付服务测试应用环境A中的服务数据。
可以理解的是,上述同一性质的服务应用环境指的是服务应用环境所发挥的功能、适用的对象一致。比如,服务开发环境只是为了方便开发调试的,适用于API提供者的开发人员;而服务测试环境是服务正式生产前的用于测试的环境,如果服务数据无法通过服务测试环境的话,那自然无法进行生产,而服务生产环境是正式向外提供服务的环境。
可以理解的是,服务申请单元300请求访问其他服务应用环境的过程和上述过程一致,此处不再赘述。
该方法通过引入多个主机地址的方式,使得网关200能够更加合理有效的管理服务应用环境地址,而且有利于服务提供单元100在后期提供更多的服务应用环境。
可以理解的是,网关200在接收服务申请单元300访问具体服务应用环境的访问请求时,还可以通过其他方式(比如,路径关键词匹配或者自定义条件方式)将具体的服务应用环境地址指给服务申请单元300。本申请对此不再赘述。
在本申请的另一种可能的实现中,服务提供单元100在对外提供服务接口时,还可以通过使用表述性状态传递应用程序编程接口(Representational State TransferApplication Programming Interface,REST API)生成用于指导服务申请单元300访问和/或使用服务应用环境中的服务数据的使用文档。
具体地,服务提供单元100可以预先定义一个服务数据使用文档的模板。比如,服务提供单元100定义支付服务数据使用文档模板编码为“pay01”,然后定义该使用文档模板中的参数,比如API服务的名称(比如,支付服务)、API服务所在的网络地址(UniformResource Locator,URL)资源路径(比如,支付服务数据所在的URL资源http://API.example.com/pay)、超文本传输协议(Hypertext Transfer Protocol,http)的请求方法(比如,GET、POST、PUT方法)、API服务提交数据的方式(比如,表单提交)、API返回数据的格式(比如,数组格式、对象格式)等等。并将该使用文档模板发布至服务提供单元100。
当服务申请单元300访问和/或使用支付服务数据的时候,只需要按照上述使用文档模板定义方式访问和/或使用支付服务数据即可。
而当服务提供单元100更新服务数据的时候,只需要根据具体的模板编码,比如支付服务数据使用文档模板编码“pay01”,对模板编码所对应的使用文档模板进行更新就可以保证服务申请单元300在后续的使用过程中,按照最新的文档使用模板访问和/或使用上述服务数据。
通过上述方法,解决了现有技术中服务提供单元100需要通过人工的方式进行使用文档的编写、维护以及上传的繁琐,进一步有效提高了服务提供单元100提供服务的效率。可以理解的是,上述服务数据提供的服务包括但不限于支付服务、查询服务、语音识别服务;上述服务提供单元100指的是API提供者或者API服务平台,并且包括但不限于百度API、微信API、科大讯飞API等等API服务平台;上述服务申请单元300包括一切可以提出访问上述服务提供单元100提供的服务数据的物体。
图4示出了能够实现本申请方法的一例系统400的示意图。如图4所示,系统400包括:处理器40、存储器41以及存储在存储器41中并可以在处理器40上运行的计算机程序42。处理器40执行计算机程序42时实现上述实施例所述的方法。
示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器41中,并由处理器40执行,以完成本发明。一个或者多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序42在系统400中的执行过程。
本领域技术人员可以理解,图4仅仅是系统400的示例,并不构成对系统400的限定,可以包括比图4更多或者更少的部件,或者组合谋而不见,或者不同的不见,例如,系统还可以包括输入输出设备、网络接入设备、总线等。
处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrate Circuit,ASIC)、现场可编辑门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者警惕管理逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器41可以是系统的内部存储单元,例如系统400的硬盘或者内存。存储器41也可以是系统400的外部存储设备,例如系统400上配备的插接式硬盘、智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器41还可以既包括系统400的内部存储单元也包括外部存储设备。存储器41用于存储计算机程序以及系统所需要的其他数据和程序。存储器41还可以用于暂时地存储已经输出或者将要输出的数据。计算机程序包括计算机程序代码,可以是源代码形式、对象代码形式、可执行文件或者某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或者装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均包含在本发明的保护范围之内。
Claims (6)
1.一种服务方法,应用于包括服务提供单元、网关、服务申请单元的应用程序编程接口API发布系统中,所述网关包括路由单元,其特征在于,所述方法包括:
所述服务提供单元在所述网关注册服务组单元的环境地址,所述服务组单元包括多个服务应用环境,服务数据性质相同的服务应用环境编入同一个服务组单元,所述多个服务应用环境编入所述服务组单元的环境地址下;
所述服务提供单元将服务数据发布至所述服务组单元;
所述服务申请单元向所述路由单元发送第一访问请求;
所述路由单元根据所述第一访问请求和所述服务组单元的环境地址,确定所述第一访问请求对应的第一服务应用环境的环境地址;
所述路由单元向所述服务申请单元返回所述第一服务应用环境的环境地址;
所述服务申请单元根据所述第一服务应用环境的环境地址,访问所述第一服务应用环境的所述服务数据。
2.根据权利要求1所述的方法,其特征在于,所述API发布系统还包括文档服务单元,所述文档服务单元用于根据所述服务数据生成指导所述服务申请单元访问和/或使用所述服务数据的使用文档;
所述服务数据由所述服务提供单元发布至所述文档服务单元。
3.根据权利要求2所述的方法,其特征在于,所述文档服务单元通过REST-API接收预设的应用程序编程接口模板的定义数据、模板编码;
所述预设应用程序编程接口模板的定义数据包括所述预设应用程序编程接口模板的参数、返回结果。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述路由单元根据所述服务申请单元的访问请求、所述服务组单元的环境地址,确定所述服务申请单元的访问请求对应的所述服务应用环境的环境地址,包括:
所述路由单元根据所述服务申请单元的访问请求、所述服务组单元的环境地址,通过主机地址匹配或路径地址关键字匹配的方式,确定所述服务申请单元的访问请求对应的所述服务应用环境的环境地址。
5.一种电子设备,其特征在于,所述电子设备包括:一个或者多个处理器;存储器;安装有多个应用程序的模块;以及一个或多个程序,其中,所述一个或者多个程序被存储在所述存储器中,当所述一个或者多个程序被所述处理器执行时,使得所述电子设备执行如权利要求1至4任一项所述的方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至4中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010766262.4A CN112953996B (zh) | 2020-08-03 | 2020-08-03 | 服务方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010766262.4A CN112953996B (zh) | 2020-08-03 | 2020-08-03 | 服务方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112953996A CN112953996A (zh) | 2021-06-11 |
CN112953996B true CN112953996B (zh) | 2022-09-27 |
Family
ID=76234511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010766262.4A Active CN112953996B (zh) | 2020-08-03 | 2020-08-03 | 服务方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112953996B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116137610A (zh) * | 2021-11-17 | 2023-05-19 | 中移信息技术有限公司 | 异步通知路由方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102460389A (zh) * | 2009-05-02 | 2012-05-16 | 思杰系统有限公司 | 用于将应用启动到现有的隔离环境中的系统和方法 |
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
CN110620727A (zh) * | 2019-09-09 | 2019-12-27 | 平安科技(深圳)有限公司 | 多环境下的网关自动路由方法及相关设备 |
CN110958180A (zh) * | 2019-11-14 | 2020-04-03 | 微民保险代理有限公司 | 网关路由方法、智能网关、电子设备及计算机存储介质 |
CN111147605A (zh) * | 2019-12-31 | 2020-05-12 | 中国银行股份有限公司 | 服务注册方法、装置和设备 |
-
2020
- 2020-08-03 CN CN202010766262.4A patent/CN112953996B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102460389A (zh) * | 2009-05-02 | 2012-05-16 | 思杰系统有限公司 | 用于将应用启动到现有的隔离环境中的系统和方法 |
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
CN110620727A (zh) * | 2019-09-09 | 2019-12-27 | 平安科技(深圳)有限公司 | 多环境下的网关自动路由方法及相关设备 |
CN110958180A (zh) * | 2019-11-14 | 2020-04-03 | 微民保险代理有限公司 | 网关路由方法、智能网关、电子设备及计算机存储介质 |
CN111147605A (zh) * | 2019-12-31 | 2020-05-12 | 中国银行股份有限公司 | 服务注册方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112953996A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108156022B (zh) | 一种服务调用方法、装置及电子设备 | |
CN110399388A (zh) | 数据查询方法、系统和设备 | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
CN111428462A (zh) | 通讯协议模板构建的方法及终端设备 | |
US9021348B1 (en) | Composition of templates using transclusion that guarantee a valid HTML document | |
CN108536489B (zh) | 匹配资源环境的方法、装置和计算机可读存储介质 | |
CN111598575A (zh) | 业务流程控制方法、装置、电子设备和可读存储介质 | |
US8639770B1 (en) | Separation of mutable and immutable data in a memory cache for improvement of data updates | |
CN113885936A (zh) | 一种定制镜像中软件包依赖的解决方法 | |
CN112953996B (zh) | 服务方法及其系统 | |
CN112930530A (zh) | 用于网络应用程序执行的客户端应用程序 | |
CN111240772A (zh) | 一种基于区块链的数据处理方法、装置及存储介质 | |
CN111190750A (zh) | 一种数据处理方法以及系统 | |
CN113989058A (zh) | 一种服务生成方法和装置 | |
CN112733510A (zh) | 一种财务凭证生成方法、装置、设备及计算机可读存储介质 | |
CN113778725A (zh) | 一种数据校验方法和装置 | |
CN110968339A (zh) | 前端构建工具的方法、装置以及电子设备 | |
US20230006897A1 (en) | Methods and apparatus to determine main pages from network traffic | |
CN111897728B (zh) | 接口调试方法及相关设备 | |
CN113032820B (zh) | 文件存储方法、访问方法、装置、设备及存储介质 | |
CN109274758B (zh) | 一种请求消息的处理方法及计算设备 | |
CN113448960A (zh) | 一种导入表格文件的方法和装置 | |
CN117076546B (zh) | 数据处理方法、终端设备及计算机可读存储介质 | |
US12001860B1 (en) | Methods and apparatus to generate code as a plug-in in a cloud computing environment | |
US12020207B2 (en) | Canonical model for product development |
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 |