CN105376225A - 一种软件服务化的方法及装置 - Google Patents
一种软件服务化的方法及装置 Download PDFInfo
- Publication number
- CN105376225A CN105376225A CN201510733849.4A CN201510733849A CN105376225A CN 105376225 A CN105376225 A CN 105376225A CN 201510733849 A CN201510733849 A CN 201510733849A CN 105376225 A CN105376225 A CN 105376225A
- Authority
- CN
- China
- Prior art keywords
- service
- described service
- name
- request
- communications protocol
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种软件服务化的方法及装置,涉及计算机领域,能够对软件产品实现灵活的服务化。包括:服务引用者向服务注册中心发送服务查询请求;所述服务引用者接收所述服务注册中心发送的服务查询返回;所述服务引用者根据所述二进制通讯协议解析所述服务查询返回,得到所述服务名对应的服务地址和服务端口;所述服务引用者向服务提供者发送服务调用请求;所述服务引用者接收所述服务提供者发送的服务调用返回;所述服务引用者根据所述二进制通讯协议解析所述服务调用返回,得到所述服务名和所述服务描述对应的服务内容。用于软件产品服务化。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种软件服务化的方法及装置。
背景技术
随着互联网技术的发展,应用软件产品也随之不断成熟。但是,软件产品的不同功能模块之间互相关联度较高,不同功能模块间互相依赖,对单一功能的修改就会对整个软件产品产生影响,从而软件产品的不同功能模块向软件服务化演进,逐渐提出了对软件产品的微服务的概念,即将软件产品包括的不同功能模块拆分为多个独立的服务化软件产品,软件产品的微服务也可称为软件服务化(英文全称:Software-as-a-service,英文简称:SaaS)。
现有技术中,可以采用web服务器(webservice)实现对软件产品的服务化,即服务化软件产品部署在不同的web服务器。web服务器使用可扩展标记语言(英文全称:ExtensibleMarkupLanguage,英文简称:XML)作为承载协议,虽然XML协议本身具有良好的可读性,但是,不同的服务化软件产品间基于XML协议进行数据传输时,传输的数据量较大,其中,大部分是用来描述标记而不是数据本身,同时服务化软件产品的代码也非常庞大,测试服务化软件产品的过程中也相对较复杂。因此,无法对软件产品实现灵活的服务化。
发明内容
本发明实施例提供一种软件服务化的方法及装置,能够对软件产品实现灵活的服务化。
为达到上述目的,本发明实施例采用的技术方案是:
第一方面,提供一种软件服务化的方法,包括:
服务引用者向服务注册中心发送服务查询请求;所述服务引用者接收所述服务注册中心发送的服务查询返回;所述服务引用者根据所述二进制通讯协议解析所述服务查询返回,得到所述服务名对应的服务地址和服务端口;
所述服务引用者向服务提供者发送服务调用请求;所述服务引用者接收所述服务提供者发送的服务调用返回;所述服务引用者根据所述二进制通讯协议解析所述服务调用返回,得到所述服务名和所述服务描述对应的服务内容。
相对于现有技术而言,本发明提供的软件服务化的方法,首先,服务引用者,也就是需要获取服务的客户端,采用二进制通讯协议与服务注册中心进行数据交互,获取能够提供服务的服务提供者的地址,然后,服务引用者采用二进制通讯协议与服务提供者进行数据交互,获取服务的内容,且服务引用者基于JAVA平台,从而能够对软件产品实现灵活的服务化。
第二方面,提供一种软件服务化的方法,包括:
服务注册中心接收服务引用者发送的服务查询请求;所述服务注册中心根据所述二进制通讯协议解析所述服务查询请求,得到所述服务名;所述服务注册中心根据所述服务名获取所述服务名对应的服务地址和服务端口;所述服务注册中心向所述服务引用者发送服务查询返回。
相对于现有技术而言,本发明提供的软件服务化的方法,首先,服务注册中心,也就是存储有服务基本信息的服务器,接收到服务引用者发送的服务查询请求后,根据二进制通讯协议解析该服务查询请求得到服务名,根据服务名获取该服务的基本信息,然后,向服务引用者发送服务查询返回,且服务注册中心基于JAVA平台,从而能够对软件产品实现灵活的服务化。
结合第二方面,在第二方面的第一种可实现方式中,在所述服务注册中心接收服务引用者发送的服务查询请求之前,所述方法还包括:
所述服务注册中心接收服务提供者发送的服务发布请求;所述服务注册中心根据所述二进制通讯协议解析所述服务发布请求,得到所述服务名、所述服务描述、所述服务地址和所述服务端口;所述服务注册中心存储所述服务名、所述服务描述、所述服务地址和所述服务端口,向所述服务提供者发送服务发布返回;所述服务注册中心广播所述服务名和所述服务描述。
第三方面,提供一种软件服务化的方法,包括:
服务提供者接收服务引用者发送的服务调用请求;所述服务提供者根据所述二进制通讯协议解析所述服务调用请求,得到所述服务名和所述服务描述;所述服务提供者根据所述服务名和所述服务描述查询获取所述服务名和所述服务描述对应的服务内容;
所述服务提供者向所述服务引用者发送服务调用返回。
相对于现有技术而言,本发明提供的软件服务化的方法,首先,服务提供者,也就是存储有服务内容的服务器,接收到服务引用者发送的服务调用请求后,根据二进制通讯协议解析该服务调用请求得到服务名,根据服务名获取该服务的服务内容,然后,向服务引用者发送服务调用返回,且服务提供者基于JAVA平台,从而能够对软件产品实现灵活的服务化。
结合第三方面,在第三方面的第一种可实现方式中,在所述服务提供者接收服务引用者发送的服务调用请求之前,所述方法还包括:
所述服务提供者向服务注册中心发送服务发布请求,所述服务发布请求包括服务名、服务描述、服务地址和服务端口,所述服务发布请求的格式为所述二进制通讯协议的格式,接收所述服务注册中心发送的服务发布返回。
第四方面,提供一种服务引用者,包括:
发送单元,用于向服务注册中心发送服务查询请求;
接收单元,用于接收所述服务注册中心发送的服务查询返回;
处理单元,用于根据所述二进制通讯协议解析所述服务查询返回,得到所述服务名对应的服务地址和服务端口;
所述发送单元,还用于向服务提供者发送服务调用请求;
所述接收单元,还用于接收所述服务提供者发送的服务调用返回;
所述处理单元,还用于根据所述二进制通讯协议解析所述服务调用返回,得到所述服务名和所述服务描述对应的服务内容。
第五方面,提供一种服务注册中心,包括:
接收单元,用于接收服务引用者发送的服务查询请求;
处理单元,用于根据所述二进制通讯协议解析所述服务查询请求,得到所述服务名和所述服务描述;
所述处理单元,还用于根据所述服务名获取所述服务名对应的服务地址和服务端口;
发送单元,用于向所述服务引用者发送服务查询返回。
结合第五方面,在第五方面的第一种可实现方式中,
所述接收单元,还用于接收服务提供者发送的服务发布请求;
所述处理单元,还用于根据所述二进制通讯协议解析所述服务发布请求,得到所述服务名、所述服务描述、所述服务地址和所述服务端口;
所述服务注册中心还包括:
存储单元,用于存储所述服务名、所述服务描述、所述服务地址和所述服务端口;
所述发送单元,还用于向所述服务提供者发送服务发布返回;
所述发送单元,还用于广播所述服务名和所述服务描述。
第六方面,提供一种服务提供者,包括:
接收单元,用于接收服务引用者发送的服务调用请求;
处理单元,用于根据所述二进制通讯协议解析所述服务调用请求,得到所述服务名和所述服务描述;
所述处理单元,还用于根据所述服务名和所述服务描述查询获取所述服务名和所述服务描述对应的服务内容;
发送单元,还用于向所述服务引用者发送服务调用返回。
结合第六方面,在第六方面的第一种可实现方式中,
所述发送单元,还用于向服务注册中心发送服务发布请求;所述接收单元,还用于接收所述服务注册中心发送的服务发布返回。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供一种网络架构示意图;
图2为本发明实施例提供一种网络架构的客户端侧和服务器侧的结构示意图;
图3为本发明实施例提供一种CEBO通讯协议的包头结构示意图;
图4为本发明实施例提供一种CEBO通讯协议的包体结构示意图;
图5为本发明实施例提供另一种网络架构的客户端侧和服务器侧的结构示意图;
图6为本发明实施例提供一种软件服务化的方法流程图;
图7为本发明实施例提供另一种软件服务化的方法流程图;
图8为本发明实施例提供一种服务引用者结构示意图;
图9为本发明实施例提供一种服务注册中心结构示意图;
图10为本发明实施例提供另一种服务注册中心结构示意图;
图11为本发明实施例提供一种服务提供者结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的基本原理在于:不同的服务化软件产品间基于JAVA平台,采用二进制通讯协议进行数据交互,从而能够对软件产品实现灵活的服务化。
JAVA是一种可以撰写跨平台应用程序的面向对象的程序设计语言。
下面将参考附图详细描述本发明的实施方式。
参考图1,图1示出其中可以应用本发明的网络架构的简化示意图。网络架构可以包括客户端10、服务器11、服务器12以及网络13。
网络13是用以在服务器11、服务器12和客户端10之间提供通信链路的介质。网络13可以是网际互连协议(英文全称:InternetProtocol,英文简称:IP)网络,可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
服务器12可以是服务注册中心,安装有服务注册中心服务化软件产品的服务器,该服务化软件产品包括多个服务的服务名、该服务的服务描述、服务地址和服务端口。服务描述为该服务具体用于提供的功能,可以为用户提供的内容,例如,可以提供用户信息的资料库。服务地址为提供该服务的服务提供者的地址。服务端口为提供该服务的服务提供者的端口。服务化软件产品可以由JAVA编写。
服务器11可以是服务提供者,安装有服务提供者服务化软件产品的服务器,该服务化软件产品包括服务的具体内容。服务器11可以存储多个服务提供者服务化软件产品,每个服务提供者服务化软件产品包括具体的服务内容;或者,服务器11可以存储一个服务提供者服务化软件产品,该服务提供者服务化软件产品包括多个具体的服务内容,为用户提供多种具体的服务。服务化软件产品可以由JAVA、C或C++编写。
客户端10可以是服务引用者,安装有服务引用者服务化软件产品的终端设备,该服务化软件产品包括服务的服务名和该服务的服务描述。例如,营业厅的工作人员查询客户资料的客户端软件。客户端10可以是台式计算机、笔记本电脑、移动电话、个人数字助理等等。服务化软件产品可以由JAVA、C或C++编写。客户端10可以操作在JAVA操作***环境下。客户端10可以通过其上安装的服务化软件产品应用,经由网络13来访问服务器12,获取服务名对应的服务的具体地址,并经由网络13来访问服务器11,获取具体的服务。应该理解,图1中的服务器、网络和客户端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的服务器、网络和客户端。
实施例1
参考图2,图2示出了根据本发明的第一实施方式的网络架构的客户端侧和服务器侧的结构示意图。
具体地,如图2所示,服务引用者101位于客户端10,服务提供者111位于服务器11中,以及服务注册中心121位于服务器12中。服务提供者111向服务注册中心121发送服务发布请求,服务注册中心121解析服务发布请求,并将服务信息存储到数据库,服务信息包括服务的服务名、服务描述、服务地址和服务端口,服务器12包括数据库122。服务注册中心121向服务提供者111发送服务发布返回。用户可以通过点击服务引用者101向服务器12的服务注册中心121发送服务查询请求,服务查询请求包括服务名,该服务名存储在客户端10的配置文件102中。在接收到该服务查询请求之后,服务注册中心121向服务引用者101发送服务查询返回,返回对应的服务信息,服务引用者101向服务提供者111发送服务调用请求,服务提供者111向服务引用者101发送服务调用返回,返回对应的服务内容,服务内容可以存储在数据库112中,服务器11包括数据库112。服务注册中心121、服务提供者111和服务引用者101之间的数据的交互基于二进制通讯协议。
二进制通讯协议就是一个通信协议,即通信双方之间为了协同工作实现信息交换,通讯双方共同遵循的规则,原则是尽可能的简单以提高传输率,尽可能的具有安全性保证数据传输完整正确。本发明的二进制通讯协议可以是编码规范,以规定所有信令和数据如何打包或解包,对数据编解码和序列化。
示例的,假设二进制通讯协议规定数据包包括数据头、数据长度、数据正文和校验。数据包包括的内如为AA44050102030405EA,其中,数据头为AA44,数据长度为05,数据正文为0102030405,校验为EA。若数据安全要求高的,不允许丢包,可以加入重发机制或是加入数据恢复算法,在校验后根据前面数据添加恢复字节流以恢复数据。
本发明提供一种CEBO二进制通讯协议,该CEBO二进制通讯协议包括包头与包体,该CEBO通讯协议为二进制通讯协议。
具体的,如图3所示,包头(PackageHeader)包括:
长度(LEN)字段:用于表示报文整体长度,即包头加包体的长度之和,该长度(LEN)字段为整数类型(Integer),可以是4字段。
命令标记(CMD)字段:用于标记此次通讯要做的事情,该命令标记(CMD)字段为整数类型(Integer),可以是4字段。
示例的,命令标记为0x1表示服务发布请求,命令标记为0x80000001表示服务发布返回,命令标记为0x2表示服务查询请求,命令标记为0x80000002表示服务查询返回,命令标记为0x3表示服务调用请求,命令标记为0x80000003表示服务调用返回。
流水号(SEQ)字段:用于表示每次通讯均有唯一的流水号,该流水号(SEQ)字段为整数类型(Integer),可以是4字段。
示例的,流水号字段包括:
SN[1]:源ID(SourceID)表示不同的发送者拥有不同的源ID,为整数类型(Integer)。
SN[2]:时间戳(Timestmp),取自从1970-1-1开始到现在的秒数,为整数类型(Integer)。
SN[3]:累计计数(Count),每次请求加一,递增到最大值后归零,为整数类型(Integer)。
通讯类型(TYP)字段:用于标识通讯的类型,该通讯类型(TYP)字段为整数类型(Integer),可以是4字段。
示例的,通讯类型为0x1表示从服务注册中心发出,通讯类型为0x2表示从服务提供者发出,通讯类型为0x3表示从服务引用者发出。
返回码(CODE)字段:错误编码,该返回码(CODE)字段为整数类型(Integer),可以是4字段。
示例的,0x0~0x99-CEBOcode可以用于表示平台自身的错误,0x100~0xFFFFFFFF-Transactioncode可以用于表示用户自定义的错误。
返回码(CODE)字段为0x0表示请求处理成功,返回码(CODE)字段为0x1表示请求命令非法,使用了不在命令列表中的命令,返回码(CODE)字段为0x2表示流水号非法,返回码(CODE)字段为0x3表示请求类型非法,返回码(CODE)字段为0x4表示请求包非法,报文格式不正确,返回码(CODE)字段为0x99表示***错误。
返回信息(MSG)字段:用于表示具体的信息内容,为字符串类型(String),可以是255字段。
需要说明的是,服务发布返回、服务查询返回和服务调用返回消息中携带返回码和返回信息,而服务发布请求、服务查询请求和服务调用请求消息中不携带返回码和返回信息。
如图4所示,包体(PackageBody)包括多个小单元,每个小单元包括本单元的长度(LEN)、类型(TYP)和数据(STR),F表示一个小单元,F[1...N]表示第几个小单元。
F[1]-LEN字段:用于表示本单元字段长度,为整数类型(Integer),可以是4字段。
F[1]-TYP字段:用于表示本单元包括的数据的类型,F[1]-TYP字段为整数类型(Integer),可以是4字段。
F[1]-STR字段:用于表示数据,不定长(HEX),数据就可以是服务名、服务描述、服务地址、服务端口和/或服务名对应具体的服务内容。
相对于现有技术而言,本发明的不同的服务化软件产品间基于JAVA平台,采用二进制通讯协议进行数据交互,因此软件中的功能模块得以实现解耦合,解耦合的实现进一步加强了软件的健壮性,同时在单一功能模块出现问题时不会导致整体出现异常或***崩溃,从而能够对软件产品实现灵活的服务化。
可选的,如图5所示,服务注册中心、服务提供者和服务引用者可以是一台设备,服务注册中心、服务提供者和服务引用者之间通过内部接口实现三者间的数据交互。
实施例2
本发明实施例提供一种软件服务化的方法,如图6所示,包括:
步骤201、服务提供者生成服务发布请求。
服务发布请求包括服务相关信息,服务相关信息包括服务名、服务描述、服务地址和服务端口。服务描述为该服务具体用于提供的功能,可以为用户提供的内容,例如,可以提供用户信息的资料库。服务地址为提供该服务的服务提供者的地址。服务端口为提供该服务的服务提供者的端口。进一步还可以包括服务提供的方法和服务的权重。服务提供的方法可以是新增、修改和查询信息等。因为在整个服务体系中,一个服务可能存在多份,比如可能会同时有三个用户资料查询服务,服务内容相同但是处理的吞吐能力各不相同,因此会根据权重来决定谁处理的调用更多。
假设服务名为查询移动客户信息数据库。服务描述为可以为用户提供每个客户的姓名、性别、年龄和职业等基本信息和客户等级、客户套餐和客户话费等专有信息。
服务提供者基于CEBO二进制通讯协议生成服务发布请求,即将服务相关信息转换为CEBO二进制通讯协议格式。服务发布请求包括包头和包体,包头的命令标记(CMD)字段为0x1表示服务发布请求,通讯类型(TYP)字段为0x2表示从服务提供者发出;包体F[1]-TYP字段包括服务名、服务描述、服务地址和服务端口。
步骤202、服务提供者向服务注册中心发送服务发布请求。
步骤203、服务注册中心接收服务提供者发送的服务发布请求。
步骤204、服务注册中心解析服务发布请求,并将服务发布请求包括的服务相关信息存储到数据库。
服务注册中心解析服务发布请求得到服务名、服务描述、服务地址和服务端口。
步骤205、服务注册中心向服务提供者发送服务发布返回。
服务发布返回可以包括错误码,或错误码和错误描述。在服务注册中心成功解析服务发布请求,得到服务相关信息,并存储服务相关信息,表示服务发布成功,服务注册中心向服务提供者发送服务发布返回,此时服务发布返回包括的错误码为0,表示服务发布成功,没有错误描述。在服务注册中心没有成功解析服务发布请求,未获取到服务相关信息时,表示服务发布失败,服务注册中心向服务提供者发送服务发布返回,此时服务发布返回包括的错误码为1,表示服务发布失败,错误描述可以是服务已经存在。
服务注册中心生成服务发布返回,即将服务发布返回转换为CEBO二进制通讯协议的格式。
服务发布返回包括包头和包体,包头的命令标记(CMD)字段为0x80000001,表示服务发布返回,通讯类型(TYP)字段为0x1表示从服务注册中心发出。
步骤206、服务提供者接收服务注册中心发送的服务发布返回。
步骤207、服务注册中心广播服务名。
服务注册中心可以通过网络13向每个服务引用者广播服务名。
实施例3
本发明实施例提供一种软件服务化的方法,如图7所示,包括:
步骤301、服务引用者获取服务查询请求。
用户可以点击服务引用者服务化软件产品,服务引用者获取到服务查询请求。服务引用者存储有配置文件,配置文件包括服务注册中心广播的服务名。服务引用者从配置文件中获取该服务查询请求的服务名。服务引用者将服务查询请求转换为CEBO二进制通讯协议的格式。
服务查询请求包括包头和包体,包头的命令标记(CMD)字段为0x2表示服务查询请求,通讯类型(TYP)字段为0x3表示从服务引用者发出;包体F[1]-TYP字段包括服务名。
步骤302、服务引用者向服务注册中心发送服务查询请求。
步骤303、服务注册中心接收服务引用者发送的服务查询请求。
步骤304、服务注册中心解析服务查询请求,得到服务名。
服务注册中心根据CEBO二进制通讯协议解析服务查询请求,得到服务名
步骤305、服务注册中心获取服务名对应的其他相关信息。
服务注册中心根据服务名和服务描述查询数据库,获取该服务名对应的服务地址和服务端口。
步骤306、服务注册中心向服务引用者发送服务查询返回。
服务注册中心生成服务查询返回,该服务查询返回包括服务名、服务描述、服务地址和服务端口。服务注册中心将服务查询返回转换为CEBO二进制通讯协议的格式。
服务查询返回包括包头和包体,包头的命令标记(CMD)字段为0x80000002表示服务查询返回,通讯类型(TYP)字段为0x1表示从服务注册中心发出。
步骤307、服务引用者接收服务注册中心发送的服务查询返回。
步骤308、服务引用者解析服务查询返回。
服务引用者根据CEBO二进制通讯协议解析服务查询返回,得到服务名、服务描述、服务地址和服务端口。
步骤309、服务引用者向服务提供者发送服务调用请求。
服务调用请求包括服务名、服务描述、服务地址和服务端口。服务引用者将服务调用请求转换为CEBO二进制通讯协议的格式,通过异步方式向服务提供者发送服务调用请求。
服务调用请求包括包头和包体,包头的命令标记(CMD)字段为0x3表示服务调用请求,通讯类型(TYP)字段为0x3表示从服务引用者发出;包体F[1]-TYP字段包括服务名、服务描述、服务地址和服务端口。
步骤310、服务提供者接收服务引用者发送的服务调用请求。
步骤311、服务提供者解析服务调用请求。
服务提供者根据CEBO二进制通讯协议解析服务调用请求,获取得服务名和服务描述,根据服务名和服务描述查询该服务名对应的具体内容,通过JAVA平台的反射技术调用该服务名对应的具体内容。
步骤312、服务提供者向服务引用者发送服务调用返回。
服务提供者将服务调用返回转换为CEBO二进制通讯协议的格式,通过异步方式向服务引用者发送服务调用返回,服务调用返回包括服务名对应的具体内容。
服务调用返回包括包头和包体,包头的命令标记(CMD)字段为0x80000003表示服务调用返回,通讯类型(TYP)字段为0x2表示从服务提供者发出。
步骤313、服务引用者接收服务提供者发送的服务调用返回。
步骤314、服务引用者解析服务调用返回。
服务引用者根据CEBO二进制通讯协议解析服务调用返回,得到服务名和服务描述查询该服务名对应的具体内容。
实施例4
本发明实施例提供一种服务引用者40,如图8所示,包括:
发送单元401,用于向服务注册中心发送服务查询请求,所述服务查询请求包括服务名,所述服务查询请求的格式为二进制通讯协议的格式;
接收单元402,用于接收所述服务注册中心发送的服务查询返回,所述服务查询返回包括所述服务名对应的服务地址和服务端口,所述服务查询返回的格式为所述二进制通讯协议的格式;
处理单元403,用于根据所述二进制通讯协议解析所述服务查询返回,得到所述服务名对应的服务地址和服务端口;
所述发送单元401,还用于向服务提供者发送服务调用请求,所述服务调用请求包括所述服务名、所述服务描述、所述服务地址和所述服务端口,所述服务调用请求的格式为所述二进制通讯协议的格式;
所述接收单元402,还用于接收所述服务提供者发送的服务调用返回,所述服务调用返回包括所述服务名和所述服务描述对应的服务内容,所述服务调用返回的格式为所述二进制通讯协议的格式;
所述处理单元403,还用于根据所述二进制通讯协议解析所述服务调用返回,得到所述服务名和所述服务描述对应的服务内容。
相对于现有技术而言,本发明提供的软件服务化的方法,首先,服务引用者,也就是需要获取服务的客户端,采用二进制通讯协议与服务注册中心进行数据交互,获取能够提供服务的服务提供者的地址,然后,服务引用者采用二进制通讯协议与服务提供者进行数据交互,获取服务的内容,且服务引用者基于JAVA平台,从而能够对软件产品实现灵活的服务化。
实施例5
本发明实施例提供一种服务注册中心50,如图9所示,包括:
接收单元501,用于接收服务引用者发送的服务查询请求,所述服务查询请求包括服务名,所述服务查询请求的格式为二进制通讯协议的格式;
处理单元502,用于根据所述二进制通讯协议解析所述服务查询请求,得到所述服务名;
所述处理单元502,还用于根据所述服务名获取所述服务名对应的服务地址和服务端口;
发送单元503,用于向所述服务引用者发送服务查询返回,所述服务查询返回包括所述服务名对应的服务地址和服务端口,所述服务查询返回的格式为所述二进制通讯协议的格式。
相对于现有技术而言,本发明提供的软件服务化的方法,首先,服务注册中心,也就是存储有服务基本信息的服务器,接收到服务引用者发送的服务查询请求后,根据二进制通讯协议解析该服务查询请求得到服务名,根据服务名获取该服务的基本信息,然后,向服务引用者发送服务查询返回,且服务注册中心基于JAVA平台,从而能够对软件产品实现灵活的服务化。
所述接收单元501,还用于接收服务提供者发送的服务发布请求,所述服务发布请求包括服务名、服务描述、服务地址和服务端口,所述服务发布请求的格式为所述二进制通讯协议的格式;
所述处理单元502,还用于根据所述二进制通讯协议解析所述服务发布请求,得到所述服务名、所述服务描述、所述服务地址和所述服务端口;
如图10所示,所述服务注册中心还包括:
存储单元504,用于存储所述服务名、所述服务描述、所述服务地址和所述服务端口;
所述发送单元503,还用于向所述服务提供者发送服务发布返回;
所述发送单元503,还用于广播所述服务名和所述服务描述。
实施例6
本发明实施例提供一种服务提供者60,如图11所示,包括:
接收单元601,用于接收服务引用者发送的服务调用请求,所述服务调用请求包括服务名、服务描述、服务地址和服务端口,所述服务调用请求的格式为二进制通讯协议的格式;
处理单元602,用于根据所述二进制通讯协议解析所述服务调用请求,得到所述服务名和所述服务描述;
所述处理单元602,还用于根据所述服务名和所述服务描述查询获取所述服务名和所述服务描述对应的服务内容;
发送单元603,用于向所述服务引用者发送服务调用返回,所述服务调用返回包括所述服务名和所述服务描述对应的服务内容,所述服务调用返回的格式为所述二进制通讯协议的格式。
相对于现有技术而言,本发明提供的软件服务化的方法,首先,服务提供者,也就是存储有服务内容的服务器,接收到服务引用者发送的服务调用请求后,根据二进制通讯协议解析该服务调用请求得到服务名,根据服务名获取该服务的服务内容,然后,向服务引用者发送服务调用返回,且服务提供者基于JAVA平台,从而能够对软件产品实现灵活的服务化。
所述发送单元603,还用于向服务注册中心发送服务发布请求,所述服务发布请求包括服务名、服务描述、服务地址和服务端口,所述服务发布请求的格式为所述二进制通讯协议的格式;
所述接收单元601,还用于接收所述服务注册中心发送的服务发布返回。
需要说明的是,本发明中所述的接收单元可以为接口电路,发送单元可以为接口电路;另外,也可以将接收单元和发送单元集成在一起构成收发接口。处理单元可以为处理器。这里所述的处理器可以是一个中央处理器(CentralProcessingUnit,CPU),或者是特定集成电路(ApplicationSpecificIntegratedCircuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读存储器(英文全称:Read-OnlyMemory,英文简称:ROM)、随机存取存储器(英文全称:Random-AccessMemory,英文简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种软件服务化的方法,其特征在于,包括:
服务引用者向服务注册中心发送服务查询请求,所述服务查询请求包括服务名,所述服务查询请求的格式为二进制通讯协议的格式;
所述服务引用者接收所述服务注册中心发送的服务查询返回,所述服务查询返回包括所述服务名对应的服务地址和服务端口,所述服务查询返回的格式为所述二进制通讯协议的格式;
所述服务引用者根据所述二进制通讯协议解析所述服务查询返回,得到所述服务名对应的服务地址和服务端口;
所述服务引用者向服务提供者发送服务调用请求,所述服务调用请求包括所述服务名、所述服务描述、所述服务地址和所述服务端口,所述服务调用请求的格式为所述二进制通讯协议的格式;
所述服务引用者接收所述服务提供者发送的服务调用返回,所述服务调用返回包括所述服务名和所述服务描述对应的服务内容,所述服务调用返回的格式为所述二进制通讯协议的格式;
所述服务引用者根据所述二进制通讯协议解析所述服务调用返回,得到所述服务名和所述服务描述对应的服务内容。
2.一种软件服务化的方法,其特征在于,包括:
服务注册中心接收服务引用者发送的服务查询请求,所述服务查询请求包括服务名,所述服务查询请求的格式为二进制通讯协议的格式;
所述服务注册中心根据所述二进制通讯协议解析所述服务查询请求,得到所述服务名;
所述服务注册中心根据所述服务名获取所述服务名对应的服务地址和服务端口;
所述服务注册中心向所述服务引用者发送服务查询返回,所述服务查询返回包括所述服务名对应的服务地址和服务端口,所述服务查询返回的格式为所述二进制通讯协议的格式。
3.根据权利要求2所述的方法,其特征在于,在所述服务注册中心接收服务引用者发送的服务查询请求之前,所述方法还包括:
所述服务注册中心接收服务提供者发送的服务发布请求,所述服务发布请求包括服务名、服务描述、服务地址和服务端口,所述服务发布请求的格式为所述二进制通讯协议的格式;
所述服务注册中心根据所述二进制通讯协议解析所述服务发布请求,得到所述服务名、所述服务描述、所述服务地址和所述服务端口;
所述服务注册中心存储所述服务名、所述服务描述、所述服务地址和所述服务端口;
所述服务注册中心向所述服务提供者发送服务发布返回;
所述服务注册中心广播所述服务名。
4.一种软件服务化的方法,其特征在于,包括:
服务提供者接收服务引用者发送的服务调用请求,所述服务调用请求包括服务名、服务描述、服务地址和服务端口,所述服务调用请求的格式为二进制通讯协议的格式;
所述服务提供者根据所述二进制通讯协议解析所述服务调用请求,得到所述服务名和所述服务描述;
所述服务提供者根据所述服务名和所述服务描述查询获取所述服务名和所述服务描述对应的服务内容;
所述服务提供者向所述服务引用者发送服务调用返回,所述服务调用返回包括所述服务名和所述服务描述对应的服务内容,所述服务调用返回的格式为所述二进制通讯协议的格式。
5.根据权利要求4所述的方法,其特征在于,在所述服务提供者接收服务引用者发送的服务调用请求之前,所述方法还包括:
所述服务提供者向服务注册中心发送服务发布请求,所述服务发布请求包括服务名、服务描述、服务地址和服务端口,所述服务发布请求的格式为所述二进制通讯协议的格式;
所述服务提供者接收所述服务注册中心发送的服务发布返回。
6.一种服务引用者,其特征在于,包括:
发送单元,用于向服务注册中心发送服务查询请求,所述服务查询请求包括服务名,所述服务查询请求的格式为二进制通讯协议的格式;
接收单元,用于接收所述服务注册中心发送的服务查询返回,所述服务查询返回包括所述服务名对应的服务地址和服务端口,所述服务查询返回的格式为所述二进制通讯协议的格式;
处理单元,用于根据所述二进制通讯协议解析所述服务查询返回,得到所述服务名对应的服务地址和服务端口;
所述发送单元,还用于向服务提供者发送服务调用请求,所述服务调用请求包括所述服务名、所述服务描述、所述服务地址和所述服务端口,所述服务调用请求的格式为所述二进制通讯协议的格式;
所述接收单元,还用于接收所述服务提供者发送的服务调用返回,所述服务调用返回包括所述服务名和所述服务描述对应的服务内容,所述服务调用返回的格式为所述二进制通讯协议的格式;
所述处理单元,还用于根据所述二进制通讯协议解析所述服务调用返回,得到所述服务名和所述服务描述对应的服务内容。
7.一种服务注册中心,其特征在于,包括:
接收单元,用于接收服务引用者发送的服务查询请求,所述服务查询请求包括服务名,所述服务查询请求的格式为二进制通讯协议的格式;
处理单元,用于根据所述二进制通讯协议解析所述服务查询请求,得到所述服务名;
所述处理单元,还用于根据所述服务名获取所述服务名对应的服务地址和服务端口;
发送单元,用于向所述服务引用者发送服务查询返回,所述服务查询返回包括所述服务名对应的服务地址和服务端口,所述服务查询返回的格式为所述二进制通讯协议的格式。
8.根据权利要求7所述的服务注册中心,其特征在于,
所述接收单元,还用于接收服务提供者发送的服务发布请求,所述服务发布请求包括服务名、服务描述、服务地址和服务端口,所述服务发布请求的格式为所述二进制通讯协议的格式;
所述处理单元,还用于根据所述二进制通讯协议解析所述服务发布请求,得到所述服务名、所述服务描述、所述服务地址和所述服务端口;
所述服务注册中心还包括:
存储单元,用于存储所述服务名、所述服务描述、所述服务地址和所述服务端口;
所述发送单元,还用于向所述服务提供者发送服务发布返回;
所述发送单元,还用于广播所述服务名。
9.一种服务提供者,其特征在于,包括:
接收单元,用于接收服务引用者发送的服务调用请求,所述服务调用请求包括服务名、服务描述、服务地址和服务端口,所述服务调用请求的格式为二进制通讯协议的格式;
处理单元,用于根据所述二进制通讯协议解析所述服务调用请求,得到所述服务名和所述服务描述;
所述处理单元,还用于根据所述服务名和所述服务描述查询获取所述服务名和所述服务描述对应的服务内容;
发送单元,用于向所述服务引用者发送服务调用返回,所述服务调用返回包括所述服务名和所述服务描述对应的服务内容,所述服务调用返回的格式为所述二进制通讯协议的格式。
10.根据权利要求9所述的服务提供者,其特征在于,
所述发送单元,还用于向服务注册中心发送服务发布请求,所述服务发布请求包括服务名、服务描述、服务地址和服务端口,所述服务发布请求的格式为所述二进制通讯协议的格式;
所述接收单元,还用于接收所述服务注册中心发送的服务发布返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510733849.4A CN105376225B (zh) | 2015-11-02 | 2015-11-02 | 一种软件服务化的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510733849.4A CN105376225B (zh) | 2015-11-02 | 2015-11-02 | 一种软件服务化的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105376225A true CN105376225A (zh) | 2016-03-02 |
CN105376225B CN105376225B (zh) | 2019-07-26 |
Family
ID=55378030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510733849.4A Active CN105376225B (zh) | 2015-11-02 | 2015-11-02 | 一种软件服务化的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105376225B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453288A (zh) * | 2016-09-29 | 2017-02-22 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架***及其实现方法 |
CN106993023A (zh) * | 2017-03-01 | 2017-07-28 | 北京交通大学 | 微服务架构下的分布式事务解决方法 |
CN107317830A (zh) * | 2016-04-26 | 2017-11-03 | 中兴通讯股份有限公司 | 一种服务发现的处理方法及装置 |
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及*** |
CN108650262A (zh) * | 2018-05-09 | 2018-10-12 | 聚龙股份有限公司 | 一种基于微服务架构的云平台扩展方法及*** |
CN109034743A (zh) * | 2018-07-20 | 2018-12-18 | 中软信息***工程有限公司 | 众创开发方法、***及装置 |
CN109862051A (zh) * | 2017-11-30 | 2019-06-07 | 亿阳信通股份有限公司 | 一种微服务架构下多租户的实现方法及*** |
CN110380936A (zh) * | 2019-07-23 | 2019-10-25 | 中国工商银行股份有限公司 | 测试方法和装置 |
CN111193720A (zh) * | 2019-12-16 | 2020-05-22 | 中国电子科技集团公司第三十研究所 | 一种基于安全代理的信任服务适配方法 |
CN113515608A (zh) * | 2021-06-15 | 2021-10-19 | 微梦创科网络科技(中国)有限公司 | 一种智能工作方法及*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072116A (zh) * | 2007-04-28 | 2007-11-14 | 华为技术有限公司 | 业务选择方法、装置、***及客户端应用服务器 |
US20110096762A1 (en) * | 2008-03-24 | 2011-04-28 | Shoretel, Inc. | Cloud voip system with bypass for ip media |
CN102821149A (zh) * | 2012-08-03 | 2012-12-12 | 中国联合网络通信集团有限公司 | 服务提供实体选择方法及装置 |
CN102855538A (zh) * | 2011-06-17 | 2013-01-02 | 国际商业机器公司 | 在软件即服务平台中用于动态应用适配的方法和*** |
CN102918811A (zh) * | 2010-05-11 | 2013-02-06 | 知惠创出株式会社 | 双向通信***和用于该***的服务器装置 |
CN103124983A (zh) * | 2010-09-21 | 2013-05-29 | 电子湾有限公司 | 为软件服务提供市场 |
CN103391294A (zh) * | 2013-07-24 | 2013-11-13 | 佳都新太科技股份有限公司 | 一种基于服务描述的远程方法调用 |
CN104541246A (zh) * | 2012-09-07 | 2015-04-22 | 甲骨文国际公司 | 用于提供在云计算环境下使用的服务管理引擎的***和方法 |
-
2015
- 2015-11-02 CN CN201510733849.4A patent/CN105376225B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072116A (zh) * | 2007-04-28 | 2007-11-14 | 华为技术有限公司 | 业务选择方法、装置、***及客户端应用服务器 |
US20110096762A1 (en) * | 2008-03-24 | 2011-04-28 | Shoretel, Inc. | Cloud voip system with bypass for ip media |
CN102918811A (zh) * | 2010-05-11 | 2013-02-06 | 知惠创出株式会社 | 双向通信***和用于该***的服务器装置 |
CN103124983A (zh) * | 2010-09-21 | 2013-05-29 | 电子湾有限公司 | 为软件服务提供市场 |
CN102855538A (zh) * | 2011-06-17 | 2013-01-02 | 国际商业机器公司 | 在软件即服务平台中用于动态应用适配的方法和*** |
CN102821149A (zh) * | 2012-08-03 | 2012-12-12 | 中国联合网络通信集团有限公司 | 服务提供实体选择方法及装置 |
CN104541246A (zh) * | 2012-09-07 | 2015-04-22 | 甲骨文国际公司 | 用于提供在云计算环境下使用的服务管理引擎的***和方法 |
CN103391294A (zh) * | 2013-07-24 | 2013-11-13 | 佳都新太科技股份有限公司 | 一种基于服务描述的远程方法调用 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107317830B (zh) * | 2016-04-26 | 2021-05-18 | 中兴通讯股份有限公司 | 一种服务发现的处理方法及装置 |
CN107317830A (zh) * | 2016-04-26 | 2017-11-03 | 中兴通讯股份有限公司 | 一种服务发现的处理方法及装置 |
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及*** |
CN106453288B (zh) * | 2016-09-29 | 2019-06-04 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架***及其实现方法 |
CN106453288A (zh) * | 2016-09-29 | 2017-02-22 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架***及其实现方法 |
CN106993023A (zh) * | 2017-03-01 | 2017-07-28 | 北京交通大学 | 微服务架构下的分布式事务解决方法 |
CN109862051A (zh) * | 2017-11-30 | 2019-06-07 | 亿阳信通股份有限公司 | 一种微服务架构下多租户的实现方法及*** |
CN108650262A (zh) * | 2018-05-09 | 2018-10-12 | 聚龙股份有限公司 | 一种基于微服务架构的云平台扩展方法及*** |
CN108650262B (zh) * | 2018-05-09 | 2020-12-01 | 聚龙股份有限公司 | 一种基于微服务架构的云平台扩展方法及*** |
CN109034743A (zh) * | 2018-07-20 | 2018-12-18 | 中软信息***工程有限公司 | 众创开发方法、***及装置 |
CN110380936A (zh) * | 2019-07-23 | 2019-10-25 | 中国工商银行股份有限公司 | 测试方法和装置 |
CN110380936B (zh) * | 2019-07-23 | 2021-05-14 | 中国工商银行股份有限公司 | 测试方法和装置 |
CN111193720A (zh) * | 2019-12-16 | 2020-05-22 | 中国电子科技集团公司第三十研究所 | 一种基于安全代理的信任服务适配方法 |
CN113515608A (zh) * | 2021-06-15 | 2021-10-19 | 微梦创科网络科技(中国)有限公司 | 一种智能工作方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN105376225B (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105376225A (zh) | 一种软件服务化的方法及装置 | |
CN101375264B (zh) | 用于对tcp有效载荷中的多个事务进行记帐的技术 | |
US6937588B2 (en) | System and method for providing wireless application protocol service through internet | |
CN109639782B (zh) | 消息发送平台、方法 | |
CN106657149B (zh) | 通讯协议转换方法与装置 | |
US20040186883A1 (en) | Method and apparatus for interfacing web services with mobile terminal applications during a browser or SIP session | |
CN101729491B (zh) | 一种增强基于脚本业务的应用可靠性的方法、装置和*** | |
CN110719221B (zh) | 即时通信方法、装置、设备及存储介质 | |
CN101341724A (zh) | 用于web服务通信的历史驱动优化的***和方法 | |
US10257671B2 (en) | System and method of creating and providing SMS HTTP tagging | |
CN109660451A (zh) | 一种发送消息的方法、装置及消息收发*** | |
CN110912803A (zh) | 一种im消息传输方法及终端 | |
CN102007473A (zh) | 网络元件的处理节点之间的diameter总线通信 | |
CN111988418B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN109922148B (zh) | 跨平台服务方法、装置和*** | |
CN107040613A (zh) | 一种报文传输方法及*** | |
CN103647763A (zh) | 一种移动终端广告调用方法和*** | |
CN108650170A (zh) | 一种信息的显示方法及装置 | |
CN111400066B (zh) | 一种消息分发方法及装置 | |
CN111049813B (zh) | 报文组装方法、解析方法、装置及存储介质 | |
CN108040000B (zh) | 一种信息传送方法及设备 | |
CN113709177B (zh) | 一种处理报文的方法及外调网关 | |
CN108600255A (zh) | Mock服务管理方法、装置、计算机设备以及存储介质 | |
CN110138860B (zh) | 一种基于物联网的数据通讯方法及装置 | |
CN112769741B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |