CN102402456B - 一种服务请求处理方法、装置及服务系统 - Google Patents
一种服务请求处理方法、装置及服务系统 Download PDFInfo
- Publication number
- CN102402456B CN102402456B CN201010284746.1A CN201010284746A CN102402456B CN 102402456 B CN102402456 B CN 102402456B CN 201010284746 A CN201010284746 A CN 201010284746A CN 102402456 B CN102402456 B CN 102402456B
- Authority
- CN
- China
- Prior art keywords
- service
- application
- application service
- services
- user
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明适用于计算机领域,提供了一种服务请求处理方法、装置及服务系统,所述方法包括下述步骤:应用服务程序接收用户服务请求指令;根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的用户服务,获取所述用户服务的结果;应用服务程序向用户输出所述用户服务的结果。本发明通过在应用服务程序中预留扩展接口,当用户请求服务时,扩展服务通过扩展接口以及相应的服务标注进行服务的注入,为用户提供贴切的服务,符合开闭原则的业务扩展模式,保证了应用服务程序的稳定性、服务的可扩展性。
Description
技术领域
本发明属于计算机领域,尤其涉及一种服务请求处理方法、装置及服务系统。
背景技术
在面向对对象编程OOP体系中,用户需要的基本应用服务被抽取,个性化服务等扩展服务也被定义,在具体实施过程中,通过抽象出超类,定义出超类的属性、方法,以实现基本的应用服务,继而以层级继承的方式,来实现服务的扩展。OOP中的继承关系在一定程度上容易暴露出类内部结构和具体实现,难以保证开-闭原则,导致过多的继承层级,使得超类和整个继承层级不稳定,从而使得各层的对象之间、相应的模块及服务之间耦合度高,代码修改量大。
发明内容
本发明实施例的目的在于提供一种服务请求处理方法,旨在解决由于现有的OOP技术导致各层的对象之间、相应的模块及服务之间耦合度高,代码修改量大的问题。
本发明实施例是这样实现的,一种服务请求处理方法,所述方法包括下述步骤:
应用服务程序接收用户服务请求指令;
根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取所述应用服务的结果;
应用服务程序向用户输出所述应用服务的结果;
所述根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取所述应用服务的结果的步骤具体包括:
根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务;
向所述注入的应用服务传入应用服务简单Java对象实例;
所述注入的应用服务根据简单Java对象实例的Annotation标注,获取应用服务数据,处理用户服务请求,获取所述应用服务的结果。
本发明实施例的另一目的在于提供一种服务请求处理装置,所述装置包括:
服务请求接收单元,用于应用服务程序接收用户服务请求指令;
服务获取单元,用于根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取所述应用服务的结果;以及
服务结果输出单元,用于应用服务程序向用户输出所述应用服务的结果;
所述服务获取单元具体包括:
应用服务调用单元,用于根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务;
简单Java对象实例传入单元,用于向所述注入的应用服务传入应用服务简单Java对象实例;
服务请求处理单元,用于所述注入的应用服务根据简单Java对象实例的Annotation标注,获取应用服务数据,处理用户服务请求,获取所述应用服务的结果。
本发明实施例的另一目的在于提供一种包含有服务请求处理装置的服务系统,所述服务请求处理装置包括:
服务请求接收单元,用于应用服务程序接收用户服务请求指令;
服务获取单元,用于根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取所述应用服务的结果;以及
服务结果输出单元,用于应用服务程序向用户输出所述应用服务的结果;
所述服务获取单元具体包括:
应用服务调用单元,用于根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务;
简单Java对象实例传入单元,用于向所述注入的应用服务传入应用服务简单Java对象实例;
服务请求处理单元,用于所述注入的应用服务根据简单Java对象实例的Annotation标注,获取应用服务数据,处理用户服务请求,获取所述应用服务的结果。
本发明实施例通过在应用服务程序中预留扩展接口,当用户请求服务时,多层继承实现用户请求服务的创建和提供被放弃,用户请求的扩展服务被注入并通过相应的扩展接口被调用向用户提供服务,符合开闭原则的业务扩展模式,保证了应用服务程序的稳定性、服务的可扩展性。
附图说明
图1是本发明第一实施例提供的服务请求处理方法的实现流程图;
图2是本发明第二实施例提供的服务请求处理方法的实例类图;
图3是本发明第三实施例提供的服务请求处理装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过在应用服务程序中预留扩展接口,当用户请求服务时,多层继承实现用户请求服务的创建和提供被放弃,用户请求的扩展服务被注入并通过相应的扩展接口被调用向用户提供服务,符合开闭原则的业务扩展模式,保证了应用服务程序的稳定性、服务的可扩展性。
本发明实施例提供了一种服务请求处理方法,所述方法包括下述步骤:
应用服务程序接收用户服务请求指令;
根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取所述应用服务的结果;
应用服务程序向用户输出所述应用服务的结果。
本发明实施例还提供了一种服务请求处理装置,所述装置包括:
服务请求接收单元,用于应用服务程序接收用户服务请求指令;
服务获取单元,用于根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取所述应用服务的结果;以及
服务结果输出单元,用于应用服务程序向用户输出所述应用服务的结果。
本发明实施例还提供了一种包含有服务请求处理装置的服务系统,所述装置包括:
服务请求接收单元,用于应用服务程序接收用户服务请求指令;
服务获取单元,用于根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取所述应用服务的结果;以及
服务结果输出单元,用于应用服务程序向用户输出所述应用服务的结果。
本发明实施例通过在应用服务程序中预留扩展接口,当用户请求服务时,多层继承实现用户请求服务的创建和提供被放弃,用户请求的扩展服务被注入并通过相应的扩展接口被调用向用户提供服务,符合开闭原则的业务扩展模式,保证了应用服务程序的稳定性、服务的可扩展性。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明第一实施例提供的服务请求处理方法的实现流程,详述如下:
在步骤S101中,应用服务程序接收用户服务请求指令;
在步骤S102中,根据用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取应用服务的结果;
在步骤S103中,应用服务程序向用户输出应用服务的结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
实施例二:
在本发明实施中,根据用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取应用服务的结果的步骤具体为:
根据用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务;
向该注入的应用服务传入应用服务简单Java对象实例;
该注入的应用服务根据简单Java对象实例的标注,获取应用服务数据,处理用户服务请求,获取应用服务的结果。
其中,简单Java对象实例是应用服务程序为每个用户创建的服务实例,简单Java对象实例的标注可以为Annotation标注,Annotation在JDK5.0中详细定义,可以在运行期解析来进行特定处理。预留的扩展接口位于应用服务程序运行前、运行中或运行后,根据用户服务请求通过对应的扩展接口调用注入的服务。
图2是本发明第二实施例提供的服务请求处理方法的实例类图。其中Material为应用服务程序类,MaterialSalePart、MaterialService、MaterivalExtentSerivce为应用服务程序能够提供的应用服务的应用服务类,其中MaterialService中的属性baseDataSerivce、extentService为注入的应用服务,其它类可以通过对MaterialService的引用实现对baseDataSerivce、extentService的调用。MaterialService类与Material类、MaterialSalePart类以及MaterivalExtentSerivce类都存在引用关系。应用服务程序类Material、MaterialSalePart、MaterivalExtentSerivce都可以通过预留的扩展接口调用被注入的应用服务类。MaterialServiceImpl、MaterialExtentServiceImpl为应用服务接口的具体实现。
实施例三:
图3示出了本发明第三实施例提供的服务请求处理装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
服务请求接收单元31,用于应用服务程序接收用户服务请求指令;
服务获取单元32,用于根据用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的用户服务,获取所述用户服务的结果;
在本发明实施例中,服务获取单元32具体包括:
应用服务调用单元321,用于根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务;
简单Java对象实例传入单元322,用于向所述注入的应用服务传入应用服务简单Java对象实例;
服务请求处理单元323,用于所述注入的应用服务根据简单Java对象实例的标注,获取应用服务数据,处理用户服务请求,获取所述应用服务的结果。
服务结果输出单元33,用于应用服务程序向用户输出用户服务的结果。
在本发明实施例中,该服务请求处理装置可以内置于服务请求处理系统的软件单元、硬件单元或软硬件结合单元。
本发明实施例通过在应用服务程序中预留扩展接口,当用户请求服务时,多层继承实现用户请求服务的创建和提供被放弃,用户请求的扩展服务被注入并通过相应的扩展接口被调用向用户提供服务,符合开闭原则的业务扩展模式,当业务逻辑变更时,只需更改相应的服务实现并发布,不需要大规模地修改程序,从而提高了应用服务程序的稳定性、服务的可扩展性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种服务请求处理方法,其特征在于,所述方法包括下述步骤:
应用服务程序接收用户服务请求指令;
根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取所述应用服务的结果;
应用服务程序向用户输出所述应用服务的结果;
所述根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取所述应用服务的结果的步骤具体包括:
根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务;
向所述注入的应用服务传入应用服务简单Java对象实例;
所述注入的应用服务根据简单Java对象实例的Annotation标注,获取应用服务数据,处理用户服务请求,获取所述应用服务的结果。
2.如权利要求1所述的方法,其特征在于,所述预留的扩展接口位于应用服务程序的运行前、运行中或运行后任意位置之一。
3.如权利要求1所述的方法,其特征在于,所述根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取所述应用服务的结果的步骤之前,所述方法还包括:
创建应用服务简单Java对象实例。
4.一种服务请求处理装置,其特征在于,所述装置包括:
服务请求接收单元,用于应用服务程序接收用户服务请求指令;
服务获取单元,用于根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取所述应用服务的结果;以及
服务结果输出单元,用于应用服务程序向用户输出所述应用服务的结果;
所述服务获取单元具体包括:
应用服务调用单元,用于根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务;
简单Java对象实例传入单元,用于向所述注入的应用服务传入应用服务简单Java对象实例;
服务请求处理单元,用于所述注入的应用服务根据简单Java对象实例的Annotation标注,获取应用服务数据,处理用户服务请求,获取所述应用服务的结果。
5.如权利要求4所述的装置,其特征在于,所述预留的扩展接口位于应用服务程序的运行前、运行中或运行后任意位置之一。
6.一种包含有服务请求处理装置的服务系统,其特征在于,所述装置包括:
服务请求接收单元,用于应用服务程序接收用户服务请求指令;
服务获取单元,用于根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务,获取所述应用服务的结果;以及
服务结果输出单元,用于应用服务程序向用户输出所述应用服务的结果;
所述服务获取单元具体包括:
应用服务调用单元,用于根据所述用户服务请求指令,应用服务程序通过预留的扩展接口调用被注入的应用服务;
简单Java对象实例传入单元,用于向所述注入的应用服务传入应用服务简单Java对象实例;
服务请求处理单元,用于所述注入的应用服务根据简单Java对象实例的Annotation标注,获取应用服务数据,处理用户服务请求,获取所述应用服务的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010284746.1A CN102402456B (zh) | 2010-09-17 | 2010-09-17 | 一种服务请求处理方法、装置及服务系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010284746.1A CN102402456B (zh) | 2010-09-17 | 2010-09-17 | 一种服务请求处理方法、装置及服务系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102402456A CN102402456A (zh) | 2012-04-04 |
CN102402456B true CN102402456B (zh) | 2014-07-09 |
Family
ID=45884687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010284746.1A Active CN102402456B (zh) | 2010-09-17 | 2010-09-17 | 一种服务请求处理方法、装置及服务系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102402456B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899013B (zh) * | 2014-03-05 | 2018-04-06 | 深圳中兴网信科技有限公司 | 一种定制服务组件的调用方法和装置 |
US20160277269A1 (en) * | 2015-03-19 | 2016-09-22 | International Business Machines Corporation | Dynamic community support |
CN107733922B (zh) * | 2017-11-20 | 2020-12-08 | 百度在线网络技术(北京)有限公司 | 用于调用服务的方法和装置 |
CN107733726B (zh) * | 2017-11-29 | 2021-07-06 | 新华三云计算技术有限公司 | 一种服务请求的处理方法及装置 |
CN113076203B (zh) * | 2021-03-18 | 2024-03-01 | 北京京东乾石科技有限公司 | 一种应用服务的实现方法、实现装置和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1685751A (zh) * | 2002-09-23 | 2005-10-19 | 艾利森电话股份有限公司 | 使用插件软件扩展移动平台功能的方法和系统 |
CN101562606A (zh) * | 2008-04-17 | 2009-10-21 | 鸿富锦精密工业(深圳)有限公司 | 开放式数据调用系统及方法 |
-
2010
- 2010-09-17 CN CN201010284746.1A patent/CN102402456B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1685751A (zh) * | 2002-09-23 | 2005-10-19 | 艾利森电话股份有限公司 | 使用插件软件扩展移动平台功能的方法和系统 |
CN101562606A (zh) * | 2008-04-17 | 2009-10-21 | 鸿富锦精密工业(深圳)有限公司 | 开放式数据调用系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102402456A (zh) | 2012-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102402456B (zh) | 一种服务请求处理方法、装置及服务系统 | |
KR101788492B1 (ko) | 샌드박싱된 애플리케이션을 위한 매개 데이터 교환 | |
CN107453896A (zh) | 多重区块链网络数据处理方法、装置及服务器 | |
CN103677654A (zh) | 一种存储数据的方法及电子设备 | |
CN108549562A (zh) | 一种图像加载的方法及装置 | |
CN104657149A (zh) | 一种存储系统的管理模块的软件框架实现方法 | |
CN108170656A (zh) | 模板创建方法、文档创建方法、渲染方法和装置 | |
CN101965561A (zh) | 用于异步方法的声明性支持 | |
Gerard et al. | Model driven engineering for distributed real-time embedded systems | |
CN102184101A (zh) | 一种面向智能手机的软件应用框架及其开发系统 | |
CN116305298B (zh) | 一种算力资源管理方法、装置、存储介质及电子设备 | |
CN104123155A (zh) | 一种基于web的业务系统页面层开发平台及方法 | |
CN108537588A (zh) | 一种通用抽奖管理系统及方法 | |
US10719488B2 (en) | Configurable provider for layered repository | |
CN105468793A (zh) | 一种仿真模型数据的自动化管理方法 | |
CN104737128A (zh) | 用于多用户账户的二进制的重新使用 | |
CN107957687A (zh) | 互联设备功能的控制方法及装置 | |
CN102541517A (zh) | 一种权限配置方法、装置及系统 | |
US9128735B2 (en) | Method for updating media database in portable terminal | |
CN111427863B (zh) | 一种基于领域模型的数据迁移方法、装置及设备 | |
CN111459573A (zh) | 一种智能合约执行环境的启动方法以及装置 | |
CN110244964A (zh) | 一种基于运维应用的运维方法、运维方法、装置及设备 | |
CN104331275A (zh) | 一种Java卡及其应用打补丁的方法 | |
CN102437945B (zh) | 一种Camel路由和媒介引擎导入方法、装置及架构 | |
CN111427581B (zh) | 一种实现类型多继承的方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |