CN106470221B - 一种提升进程间通信协调效率的方法 - Google Patents
一种提升进程间通信协调效率的方法 Download PDFInfo
- Publication number
- CN106470221B CN106470221B CN201510505938.3A CN201510505938A CN106470221B CN 106470221 B CN106470221 B CN 106470221B CN 201510505938 A CN201510505938 A CN 201510505938A CN 106470221 B CN106470221 B CN 106470221B
- Authority
- CN
- China
- Prior art keywords
- service
- client
- dispatcher
- server
- inter
- 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
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/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种提升进程间通信协调效率的方法,通过采用增加分派器与业务功能整合的方式,能够协调复杂的业务逻辑调用,减少进程间通信的使用,提高效率,保证系统高速运行。本发明的提升进程间通信协调效率的方法包括:向分派器注册多个服务器;根据注册的信息,将与业务需求相关联的一个或多个业务整合为业务功能;根据由客户端发送的建立连接请求,建立进程通道,并且在通过所述进程通道从所述客户端接收到业务请求之后,仅通过调用与所述业务请求相对应的业务功能就能够向所述客户端返回针对所述业务请求的结果。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种提升进程间通信协调效率的方法。
背景技术
在仓储系统中有很多业务操作,每个业务因为背景和需求不一致,导致业务的实现方式也不一致。在仓储仓容监控平台应用中,有很多需要调用其他系统的业务来达到监控的目的。在这种情形下,就需要调用其他业务提供的接口,用返回的结果来丰富本系统的业务逻辑。在业务处理频次加大的时候,需要频繁调用其他业务系统提供的接口,因此业务系统需要频繁地使用进程间通信(IPC,即Inter-Process Communication,其指跨服务器之间的进程访问,或者接口访问),导致业务系统的效率明显降低,影响整个系统的运行。
例如,在仓储仓容系统中有一个监控模块,这个模块的业务比较复杂,在使用业务逻辑时要进行资源调用,由于现有的设计方式采用树形结构调用,调用效率取决于树的深度,调用接口越多,占用的进程间通信就越多。例如,在一次监控中,需要调用供应商接口,则其需要通过调用仓储接口找到库房存储接口,再通过库房存储接口找到入库接口,再通过入库接口找到供应商接口,此时的进程性能全部被进程间通信占用了。一旦业务量剧增或者面临大型促销活动时,整个业务的响应速度和业务量成反比。
发明内容
有鉴于此,本发明提供一种提升进程间通信协调效率的方法,通过采用增加分派器与业务功能整合的方式,能够协调复杂的业务逻辑调用,减少进程间通信的使用,提高效率,保证系统高速运行。
为实现上述目的,本发明提供了一种提升进程间通信协调效率的方法。
本发明的提升进程间通信协调效率的方法,包括:向分派器注册多个服务器;根据注册的信息,将与业务需求相关联的一个或多个业务整合为业务功能;根据由客户端发送的建立连接请求,建立进程通道,并且在通过所述进程通道从所述客户端接收到业务请求之后,仅通过调用与所述业务请求相对应的业务功能就能够向所述客户端返回针对所述业务请求的结果。
可选地,向分派器注册多个服务器还包括:采用网页服务器技术进行注册。
可选地,所述注册的信息包括:与服务器信息、服务器调用策略、服务器调用方法以及业务接口相关的信息。
可选地,所述方法还包括:在根据由客户端发送的建立连接请求,建立进程通道之前,对所述建立连接请求进行校验,以判断所述客户端是否有权限连接所述分派器,若符合权限要求,则建立所述进程通道;若不符合权限要求,则返回异常,通知所述客户端校验失败。
可选地,其中根据由客户端发送的建立连接请求,建立进程通道还包括:由所述分派器通过socket建立所述进程通道。
根据本发明的技术方案,通过在客户端与服务器之间增加一分派器,将服务器及能够实现的业务注册在分派器内,并根据业务需求将原来的多个业务进行整合,能够使得需要调用多个紧密协作的业务的才能实现的功能通可以过一个业务功能来实现,从而使得客户端在需要请求数据进行仓储仓容监控的过程中,只需与分派器进行交互,进程间通信数量缩减为1,而不再与任何其他接口进行通信,从而能减少进程间通信的使用,提高进程间通信效率,保证系统高速运行;通过对客户端请求分派器建立连接的校验,从而能确保符合权限要求的客户端与分派器进行连接和服务请求,进一步保证系统的有效运行。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的提升进程间通信协调效率的方法的主要步骤示意图;
图2是根据本发明实施例的提升进程间通信协调效率的方法改进前后的对比示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的提升进程间通信协调效率的方法的主要步骤示意图。
如图1所示,本发明实施例的提升进程间通信协调效率的方法主要包括:
步骤S11:向分派器注册多个服务器。
在本发明实施例中,在客户端和服务器之间增加一分派器。将服务器注册到分派器中。除了服务器本身信息之外,还包括将服务器可实现的业务接口信息也注册到分派器中。
在本发明实施例中,将服务器及相关信息注册在分派器中是采用webserver的方式实现的。Web Server中文名称叫网页服务器或web服务器。WEB服务器也称为WWW(WORLDWIDE WEB)服务器,主要功能是提供网上信息浏览服务。
Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。
通俗地讲,Web服务器传送页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切地:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。
在本发明实施例中,采用webserver方式进行服务器的注册,注册过程中,需填写服务器信息(IP、名称、端口)、服务器调用策略(每天调用次数上限)、服务器调用方法(采用什么方式调用、调用地址等)以及对接口信息的描述等信息。
在本步骤的服务器注册之后,从步骤S12开始处理。
步骤S12:根据注册的信息,将与业务需求相关联的一个或多个业务整合为业务功能。
在本发明实施例中,为了提升系统运行效率,减少进程间通信能秏,因此,将服务器可实现的业务接口注册到分派器中,由分派器根据业务需求将多个紧密协作的业务提取出来,放到一个新的业务功能里,这样,在实现业务功能的过程中,调用方仅调用一次该业务功能的接口就能满足业务需求。
现有技术中各业务接口是呈树形结构分布,作为监控模块的客户端在监控过程中,对需要紧密协作才能完成的业务需要调用各接口,当这些业务接口不在同一子树上时,不可避免要要调用多个子树,这就会导致占用的进程间通信增多,一旦业务量剧增或者面临大型促销活动时,整个业务的响应速度和业务量成反比。
例如,在不同子树中分别有仓储接口、订单接口和ERP接口,其中,供应商接口位于仓储接口的子树下,商品详情接口位于订单接口子树下,用户信息接口位于ERP接口的子树下,当因业务需要,同时需要用户信息、商品详情和供应商信息的时候,而它们的接口又不在子树下,此时需调用这三个接口,就会产生多个进程间通信,造成调用方调用压力,如图2原来部分所示。
有鉴于此,在本发明的实施例中,根据业务需求将多个紧密协作的业务提取出来,放到一个新的业务功能里,调用方仅调用一次该业务功能的接口就能满足业务需求,例如,将用户信息接口、商品详情接口、供应商接口整合到业务功能一中,如图2改进后部分所示,就减少了在作为监控模块的客户端对多个业务接口的反复调用。
在根据业务需求将原属多个业务整合后,将整合后可以实现的业务功能保留在分派器中。
通过分派器管理服务器所能实现的业务功能资源,达到业务整合的目的。另外,通过分派器,达到分派器和服务器,分派器和接口调用方形成管道。在管道中,实现最小的进程间通信数量。
步骤S13:根据由客户端发送的建立连接请求,建立进程通道,并且在通过所述进程通道从所述客户端接收到业务请求之后,仅通过调用与所述业务请求相对应的业务功能就能够向所述客户端返回针对所述业务请求的结果。
在本发明的具体实施方式中,客户端请求分派器提供服务、建立连接,以获取所能实现的业务功能的数据。
在本发明的一个优选实施例中,分派器根据客户端发送的提供服务、建立连接的请求在建立连接用进程通道之前,需要首先进行校验,判断客户端是否有权连接此分派器。判断规则如下:一方面判断客户端IP是否存在于分派器中;另一方面判断是否是属于跨机房,或者应用群组。在后一方面的判断中采用正则表达式的校验规则进行判断。判断之后,对于符合权限要求的,建立连接用进程通道,并将连接返回给客户端,若不符合权限要求,则返回异常,通知所述客户端校验失败。
在判断权限之后,通过socket(英文原义是“孔”或“插座”,在计算机专业术语中通常称为“套接字”,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信)建立进程通道。
由此,形成在客户端与分派器之间建立起进程通道,以为客户端通过该进程通道进行数据请求提供方便。
在通过所述进程通道从所述客户端接收到业务请求之后,仅通过调用与所述业务请求相对应的业务功能就能够向所述客户端返回针对所述业务请求的结果。
通过客户端与分派器之间的交互,使得进程间通信数量缩减为1,在仓储仓容监控平台应用中作为监控模块的客户端不再与任何接口进行通信,从而减少进程间通信的占用,提升系统运行效率。
根据上述提升进程间通信协调效率的方法的主要步骤可以得出,通过在客户端与服务器之间增加一分派器,将服务器及能够实现的业务注册在分派器内,并根据业务需求将原来的多个业务进行整合,能够使得需要调用多个紧密协作的业务的才能实现的功能通可以过一个业务功能来实现,从而使得客户端在需要请求数据进行仓储仓容监控的过程中,只需与分派器进行交互,进程间通信数量缩减为1,而不再与任何其他接口进行通信,从而能减少进程间通信的使用,提高进程间通信效率,保证系统高速运行;通过对客户端请求分派器建立连接的校验,从而能确保符合权限要求的客户端与分派器进行连接和服务请求,进一步保证系统的有效运行。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (5)
1.一种提升进程间通信协调效率的方法,其特征在于,包括:
向分派器注册多个服务器;
根据注册的信息,将与业务需求相关联的一个或多个业务整合为业务功能;
根据由客户端发送的建立连接请求,建立进程通道,并且在通过所述进程通道从所述客户端接收到业务请求之后,仅通过调用与所述业务请求相对应的业务功能就能够向所述客户端返回针对所述业务请求的结果。
2.根据权利要求1所述的方法,其特征在于,向分派器注册多个服务器还包括:采用网页服务器技术进行注册。
3.根据权利要求1所述的方法,其特征在于,所述注册的信息包括:与服务器信息、服务器调用策略、服务器调用方法以及业务接口相关的信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在根据由客户端发送的建立连接请求,建立进程通道之前,对所述建立连接请求进行校验,以判断所述客户端是否有权限连接所述分派器,
若符合权限要求,则建立所述进程通道;
若不符合权限要求,则返回异常,通知所述客户端校验失败。
5.根据权利要求1所述的方法,其特征在于,其中根据由客户端发送的建立连接请求,建立进程通道还包括:
由所述分派器通过socket建立所述进程通道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510505938.3A CN106470221B (zh) | 2015-08-18 | 2015-08-18 | 一种提升进程间通信协调效率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510505938.3A CN106470221B (zh) | 2015-08-18 | 2015-08-18 | 一种提升进程间通信协调效率的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106470221A CN106470221A (zh) | 2017-03-01 |
CN106470221B true CN106470221B (zh) | 2019-12-31 |
Family
ID=58214195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510505938.3A Active CN106470221B (zh) | 2015-08-18 | 2015-08-18 | 一种提升进程间通信协调效率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106470221B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811717A (zh) * | 2006-01-10 | 2006-08-02 | 杭州东信灵通电子实业公司 | 通用进程间通信实现方法 |
US7526557B2 (en) * | 2004-06-30 | 2009-04-28 | Signiant, Inc. | System and method for transferring data in high latency firewalled networks |
CN102065143A (zh) * | 2010-12-21 | 2011-05-18 | 华为技术有限公司 | 基于http的通信方法及系统、http服务器、http客户端 |
CN102103526A (zh) * | 2011-02-14 | 2011-06-22 | 博视联(苏州)信息科技有限公司 | 服务端和客户端间通过服务管理进行进程间通信的方法及系统 |
CN102591726A (zh) * | 2011-12-31 | 2012-07-18 | 青岛海信宽带多媒体技术有限公司 | 一种多进程通信方法 |
CN104268025A (zh) * | 2014-09-30 | 2015-01-07 | 珠海市君天电子科技有限公司 | 一种进程间通信的方法及系统、服务器 |
-
2015
- 2015-08-18 CN CN201510505938.3A patent/CN106470221B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7526557B2 (en) * | 2004-06-30 | 2009-04-28 | Signiant, Inc. | System and method for transferring data in high latency firewalled networks |
CN1811717A (zh) * | 2006-01-10 | 2006-08-02 | 杭州东信灵通电子实业公司 | 通用进程间通信实现方法 |
CN100392599C (zh) * | 2006-01-10 | 2008-06-04 | 杭州东信灵通电子实业公司 | 通用进程间通信实现方法 |
CN102065143A (zh) * | 2010-12-21 | 2011-05-18 | 华为技术有限公司 | 基于http的通信方法及系统、http服务器、http客户端 |
CN102103526A (zh) * | 2011-02-14 | 2011-06-22 | 博视联(苏州)信息科技有限公司 | 服务端和客户端间通过服务管理进行进程间通信的方法及系统 |
CN102591726A (zh) * | 2011-12-31 | 2012-07-18 | 青岛海信宽带多媒体技术有限公司 | 一种多进程通信方法 |
CN104268025A (zh) * | 2014-09-30 | 2015-01-07 | 珠海市君天电子科技有限公司 | 一种进程间通信的方法及系统、服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN106470221A (zh) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284197B (zh) | 基于智能合约的分布式应用平台及实现方法 | |
US9794242B2 (en) | Method, apparatus and application platform for realizing logon to an application service website | |
US11175796B2 (en) | Menu management method, server, and system | |
US10929114B2 (en) | Static asset containers | |
CN105245373A (zh) | 一种容器云平台系统的搭建及运行方法 | |
CN105979009A (zh) | 一种针对云应用容器的增加负载自动均衡方法 | |
CN107707622A (zh) | 一种访问桌面云虚拟机的方法、装置及桌面云控制器 | |
CN108063813B (zh) | 一种集群环境下密码服务网络并行化的方法与系统 | |
US20240095082A1 (en) | Method and system for multiple services to share same gpu, and device and medium | |
CN103064960A (zh) | 数据库查询方法及设备 | |
US9591079B2 (en) | Method and apparatus for managing sessions of different websites | |
US11768890B2 (en) | Method and server apparatus for dynamically identifying pop-out links in networked applications via lookup | |
CN101964763A (zh) | 消息处理方法 | |
CN105808763A (zh) | 一种数据处理方法和装置 | |
CN104618388A (zh) | 快速注册登录方法及对应的重置服务器、信息服务器 | |
CN114285659B (zh) | 一种反向代理方法、装置、设备及存储介质 | |
US10225358B2 (en) | Page push method, device, server and system | |
CN115022408A (zh) | 基于服务网格的数据传输方法及装置、电子设备 | |
Moreno‐Vozmediano et al. | Elastic management of web server clusters on distributed virtual infrastructures | |
CN112527376A (zh) | 基于反向代理服务实现DevOps自动化的方法 | |
CN110378494B (zh) | 远程面签方法、装置、存储介质及计算机设备 | |
CN106470221B (zh) | 一种提升进程间通信协调效率的方法 | |
CN102148869B (zh) | Java应用程序向本地传递信息的方法及设备 | |
US20060117321A1 (en) | Interface for application components | |
CN109618016B (zh) | 一种dns请求的发送处理方法、相关方法及相关装置 |
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 |