CN109002362B - Service method, device and system and electronic equipment - Google Patents

Service method, device and system and electronic equipment Download PDF

Info

Publication number
CN109002362B
CN109002362B CN201710424962.3A CN201710424962A CN109002362B CN 109002362 B CN109002362 B CN 109002362B CN 201710424962 A CN201710424962 A CN 201710424962A CN 109002362 B CN109002362 B CN 109002362B
Authority
CN
China
Prior art keywords
service
requested
integration layer
engine
script
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
CN201710424962.3A
Other languages
Chinese (zh)
Other versions
CN109002362A (en
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201710424962.3A priority Critical patent/CN109002362B/en
Publication of CN109002362A publication Critical patent/CN109002362A/en
Application granted granted Critical
Publication of CN109002362B publication Critical patent/CN109002362B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

The application discloses a service method, a service device, a service system and electronic equipment. The method comprises the following steps: receiving a service request based on a general DSL protocol sent by a client; analyzing the service request to obtain an identifier and parameters of the service requested by the client; calling a corresponding service execution engine through a service integration layer according to the identifier and the parameter of the requested service to execute the requested service; wherein, the service integration layer is used for managing the registration information of each service which can be provided. By using the embodiment of the application, the registration information of each service can be uniformly managed through the service integration layer based on the request of the general DSL protocol specification so as to effectively realize service integration and reduce hard coding, thereby being beneficial to reducing errors and improving service efficiency.

Description

Service method, device and system and electronic equipment
Technical Field
The present application relates to the field of computer software technologies, and in particular, to a service method, device, system, and electronic device.
Background
Service Oriented Architecture (SOA) is a mainstream Architecture of current enterprise software, and SOA is a distributed Architecture, which abstracts business logic into distributed services, and these services can generally communicate with each other through Web Service.
Fig. 1 is an architectural diagram of a web system under an SOA distributed architecture in the prior art. In fig. 1, a web system integrates services such as data acquisition and operation of a backend service system, and provides a corresponding data interface for a client so that the client requests to acquire the services.
In the prior art, the web system mainly has two service integration schemes. Firstly, integrating Remote Procedure Call Protocol (RPC) services for services required by each web page, and packaging a data interface of a HyperText Transfer Protocol (HTTP) in a web system, which is a typical implementation scheme for providing data acquisition and operation services for a page (which may be called a page end) of a client in the current web system; secondly, a data acquisition and operation interface is provided for a page side by using a restful style request, the scheme integrates a plurality of restful frames in a web system, and an RPC service is provided for a client side in the restful style interface by integrating the RPC service in the frames.
However, with the first solution, an HTTP request needs to be provided for each data interface, and a certain amount of hard coding is required for each new request, which brings about problems including: the request is not standardized, the name of a Uniform Resource Locator (URL), the format of parameters and the like are based on the convention of developers, and the communication and debugging cost is increased; and each time one RPC service request is exposed, coding is needed, the workload is large, and errors are easy to occur. The second scheme is improved on the basis of the first scheme, and supports the URL specification at the programming style and framework level, but still performs corresponding hard coding for each data interface.
Therefore, the prior art has the problems of easy error, low service efficiency and the like caused by the non-normative request and hard coding.
Disclosure of Invention
The embodiment of the application provides a service method, a service device, a service system and electronic equipment, which are used for solving the following technical problems: in a web system under an SOA distributed architecture in the prior art, the request is not standardized, and some hard codes cause the problems of high error probability, low service efficiency and the like.
In order to solve the above technical problem, the embodiment of the present application is implemented as follows:
the service method provided by the embodiment of the application comprises the following steps:
receiving a service request based on a general Domain Specific Language (DSL) protocol sent by a client;
analyzing the service request to obtain an identifier and parameters of the service requested by the client;
calling a corresponding service execution engine through a service integration layer according to the identifier and the parameter of the requested service to execute the requested service;
wherein, the service integration layer is used for managing the registration information of each service which can be provided.
The embodiment of the application provides a service device, including:
the receiving module is used for receiving a service request based on a general DSL protocol sent by a client;
the analysis module is used for analyzing the service request to obtain the identification and the parameters of the service requested by the client;
the service module calls a corresponding service execution engine through a service integration layer according to the identifier and the parameter of the requested service to execute the requested service;
wherein, the service integration layer is used for managing the registration information of each service which can be provided.
An embodiment of the present application provides a service system, including: a unified gateway, a DSL engine, a service integration layer, one or more service execution engines;
the unified gateway receives a service request based on a general DSL protocol sent by a client;
the unified gateway passing the service request to the DSL engine;
the DSL engine analyzes the service request to obtain the identification and the parameters of the service requested by the client so as to call the service integration layer;
the service integration layer calls a corresponding service execution engine to execute the requested service according to the registration information of each service which can be provided and managed by the service integration layer and the identification and the parameter of the requested service transmitted when the DSL engine calls;
wherein the registration information of each service includes: metadata, and/or scripts that contain logical orchestration information for multiple services.
An electronic device provided in an embodiment of the present application includes:
at least one processor; and the number of the first and second groups,
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to:
receiving a service request based on a general DSL protocol sent by a client;
analyzing the service request to obtain an identifier and parameters of the service requested by the client;
calling a corresponding service execution engine through a service integration layer according to the identifier and the parameter of the requested service to execute the requested service;
wherein, the service integration layer is used for managing the registration information of each service which can be provided.
The embodiment of the application adopts at least one technical scheme which can achieve the following beneficial effects: the request can be normalized based on a general DSL protocol, and the registration information of each service can be uniformly managed through a service integration layer so as to effectively realize service integration, and the hard coding can be reduced, so that errors can be reduced, the service efficiency can be improved, and the problems in the prior art can be partially or completely solved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without any creative effort.
FIG. 1 is a schematic diagram of an architecture of a web system under a SOA distributed architecture in the prior art;
fig. 2 is a schematic flowchart of a service method according to an embodiment of the present application;
fig. 3 is an architectural diagram of a web system under an SOA distributed architecture according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of a service system corresponding to fig. 2 according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a service device corresponding to fig. 2 according to an embodiment of the present disclosure.
Detailed Description
The embodiment of the application provides a service method, a service device, a service system and electronic equipment.
In order to make those skilled in the art better understand the technical solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
For ease of understanding, the core ideas of the scheme of the present application are explained: based on general DSL protocol, the request in the prior art can be normalized, the architecture of the web service end can be adjusted, a service integration layer is added, and the service integration layer manages the registration information of each service which can be provided, so as to realize the service integration efficiently.
It should be noted that the scheme of the present application is not only applicable to a web system under an SOA distributed architecture, but also applicable to other systems having a service demander (which may be a client or another server) and a server.
Based on the above core concept, the following describes the scheme of the present application in detail.
Fig. 2 is a schematic flowchart of a service method according to an embodiment of the present application. From the program perspective, the execution subject of the flow may be a program on a server or a terminal, such as a web server, an application on a terminal, and the like. From the device perspective, the execution subject of the flow includes, but is not limited to, at least one of the following devices that can be a server or a terminal: personal computers, medium-sized computers, computer clusters, mobile phones, tablet computers, intelligent wearable devices, car machines and the like.
The flow in fig. 2 may include the following steps:
s201: and receiving a service request based on the general DSL protocol sent by the client.
In this embodiment of the present application, a unified DSL protocol may be predefined for the web server and the client, and as the general DSL protocol, the web server and the client perform data interaction based on the general DSL protocol, where the data interaction includes but is not limited to: the client requests the web server for obtaining service, the web server issues service to the client, and the like. The service request contains an identification of the requested service and a parameter, wherein the parameter may also be null.
For example, a generic DSL protocol based service request may be in the following format, for example:
“getuser(id:123456){user Id,userName,email,address}”
the service request contains an identification of the requested service "getuiser" and a parameter "id 123456", the service request is for a user requesting to obtain id 123456, and the requested service belongs to a data acquisition service.
S202: and analyzing the service request to obtain the identifier and the parameter of the service requested by the client.
In this embodiment of the present application, the received service request may be correspondingly analyzed based on the generic DSL protocol to obtain the identifier and the parameter of the requested service.
S203: calling a corresponding service execution engine through a service integration layer according to the identifier and the parameter of the requested service to execute the requested service; wherein, the service integration layer is used for managing the registration information of each service which can be provided.
In the embodiment of the present application, the service may be a local service or a remote service. Generally, in a web system under the SOA distributed architecture, the service is specifically an RPC service.
The configured service related information can be registered in the service integration layer and used as the registration information of the service to realize service integration, and the service related information can be manually configured or can be automatically generated and configured by a machine through a certain strategy.
The service-related information may include metadata of the service and/or a script containing logical orchestration information for a plurality of services. The metadata is used to uniformly describe the service; the script is used for assembling and arranging a plurality of services to form a composite service, which is beneficial to supporting more complex service scenes, and for example, the logic sequence of the plurality of services, the information of metadata of the plurality of services and the like can be specified in the script; in addition, in order to be flexibly arranged to form various composite services, the multiple services can be fine-grained services, such as atomic services and the like.
The service related information may further include a service execution engine or information thereof, and the metadata or the script may have a corresponding relationship with the service execution engine, in which case, a service corresponding to different metadata may be acquired by a different service execution engine, and a service corresponding to the metadata and a service corresponding to the script may be acquired by a different service execution engine.
In practical applications, the service integration layer may also directly integrate the functions of the service execution engine, and then the service integration layer may directly call the requested service to provide to the client.
The requested service may be performed in particular by a remote call or a local call.
In the embodiment of the application, the registration information of the service can be published to the client, and the client can know the service which can be acquired from the web service side.
The execution subjects of the operations in fig. 2 may be the same device or the same program, or may be different devices or different programs. For example, the execution subjects of steps S201 to S203 are all some web servers; for another example, the execution subject of step S201 is a gateway device, and the execution subjects of steps S202 to S203 are servers connected to the gateway device; and so on.
By the method of fig. 2, the request can be normalized based on the general DSL protocol, and the registration information of each service can be uniformly managed by the service integration layer, so as to effectively implement service integration, and the hard coding described above can be reduced, thereby being beneficial to reducing errors and improving service efficiency, and being capable of partially or completely solving the problems in the prior art.
Moreover, compared with hard coding in the prior art, the scheme of the application can integrate and release the service based on the metadata or the script of the service, is not only simple, but also supports dynamic integration and release, and is beneficial to improving the development, operation and maintenance efficiency of the system.
Based on the method of fig. 2, the examples of the present application also provide some specific embodiments of the method, and further embodiments, which are described below.
In order to implement the method of fig. 2, a corresponding improvement to the prior art system is required, and a specific improvement is illustrated with reference to fig. 3.
Fig. 3 is an architectural diagram of a web system under an SOA distributed architecture provided in an embodiment of the present application, and the method in fig. 2 may be implemented in the system in fig. 3.
The main change of fig. 3 compared to fig. 1 is in the web server side. The web server in fig. 3 mainly includes: the service integration layer is used for integrating the service execution engine, the service metadata and the service script, wherein the last two items can be dynamically configured and possibly not configured. The use of these items is described below in connection with certain examples.
In this embodiment of the application, for step S201, the receiving a service request based on a generic DSL protocol sent by a client specifically includes: receiving, by a unified gateway, a service request based on a generic DSL protocol sent by a client, where the generic DSL protocol may be defined by the unified gateway.
Data interaction between each client and the web server can be carried out through the unified gateway, and services can be issued to each client through the unified gateway.
In this embodiment of the application, as for step S202, the analyzing the service request may specifically include: parsing the service request through a DSL engine. After the DSL engine parses the request, the services uniformly described by the service integration layer may be invoked according to the identifiers and parameters of the services obtained by the parsing.
In the embodiment of the present application, the service integration layer is responsible for defining and managing the services that can be provided. Specifically, each service may be registered in the service integration layer, and the service integration layer directly or indirectly invokes the corresponding service according to each registration information.
Taking the case that the service integration layer indirectly invokes the service as an example, for step S203, the invoking, according to the identifier and the parameter of the requested service, the corresponding service execution engine through the service integration layer may specifically include:
sending the identification and the parameters of the requested service to a service integration layer; for example, the DSL engine may send the parsed identifier and parameter to the service integration layer, or the unified gateway may parse the service request and send the parsed identifier and parameter to the service integration layer; and the like;
the service integration layer determines the registration information of the requested service in the registration information of each service which can be provided and managed by the service integration layer according to the identification and the parameter of the requested service, and calls a corresponding service execution engine by transmitting the identification and the parameter of the requested service according to the registration information of the requested service.
In a more specific example, the metadata or the script may be stored in a container, and the container may package the metadata or the script and the corresponding service execution engine or information thereof together, and register as a data acquirer at the service integration layer; furthermore, after receiving the identifier and the parameter of the requested service, the service integration layer can directly locate the corresponding data acquirer according to the identifier, and then execute the service by the service execution engine corresponding to the data acquirer.
In this embodiment of the present application, the corresponding service execution engine may be: a Service Invoker (Service Invoker) that can invoke atomic services, and/or a Script Engine (Script Engine) that can invoke the Service Invoker through Script nesting. Of course, if the service invoker also has a script parsing function, the script engine is not necessarily used as the service execution engine.
In the embodiment of the present application, for an atomic service, the atomic service may generally be directly executed by a service invoker, and for a composite service composed of multiple atomic services, a script engine may generally first parse a corresponding script, determine which atomic services the composite service is composed of, and determine a logical order of the atomic services, and then invoke the service invoker to execute each atomic service (which is equivalent to executing the composite service).
In the embodiment of the present application, for step S203, the registration information includes metadata; when the corresponding service execution engine is a service invoker that can invoke atomic services, the executing the requested service may specifically include:
the service invoker obtains the metadata of the requested service and the identifier and the parameters of the requested service transmitted when the service integration layer invokes the service; and the service invoker invokes the requested service according to the metadata of the requested service and the identification and the parameters of the requested service.
The metadata used by the service invoker may be retrieved from the container by the service invoker itself or passed through by the service integration layer.
In this embodiment of the present application, for step S203, the registration information of each service includes: a script containing logical orchestration information for a plurality of services; when the corresponding service execution engine is a script engine that can invoke the service invoker through script nesting, the service execution engine executes the requested service, which may specifically include:
the script engine obtains the script corresponding to the requested service and the identifier and the parameter of the requested service transmitted when the service integration layer is called; the script engine calls the service caller by executing the script; the service invoker invokes the plurality of services as the requested service according to the logical orchestration information based on the invocation of the script engine.
In the embodiment of the application, due to the dynamic configuration of the metadata and the script, the dynamic registration and the publishing of new atomic services or composite services can be realized correspondingly.
Still taking the architecture in fig. 3 as an example, for a new atomic service, corresponding metadata may be configured in the container and registered in the service integration layer, and for a new composite service, corresponding metadata may be configured in the container and used to arrange a script for obtaining the composite service, and registered in the service integration layer. And further, issuing the corresponding service to a unified gateway so that the client can request the corresponding service.
In combination with the above description, the main features and effects of the solution of the present application are summarized as follows:
through the unified gateway and the request definition based on the general DSL protocol, the interactive standard of the front end and the back end is standardized, the request content is more semantization and standardization, and the communication and joint debugging cost during the development of a web system can be reduced;
the atomic service can be issued to the unified gateway based on the metadata registered in the service integration, for the scene that the atomic service is only issued to the client, the metadata is configured instead of the hard coding, so that the issuing service is simpler, the error probability is reduced, the dynamic issuing capability is brought by developing the form of configuration data instead of codes, and the developing efficiency can be improved;
the atomic service is assembled and arranged by writing the script, so that not only can the service scene of a single atomic service be supported, but also more complex service scenes assembled and arranged based on a plurality of atomic services can be supported, and the completeness of the support of the service scenes can be improved.
In addition, it should be noted that many of the above embodiments are described based on the architecture in fig. 3, and in practical applications, the architecture in fig. 3 is not the only architecture capable of implementing the solution of the present application, but is only an exemplary architecture. For example, the functions of the unified gateway, the DSL engine, the service integration layer, the service execution engine, and the like in fig. 3 may be recombined or split, so as to form another architecture that can implement the solution of the present application, and the architecture is not necessarily the architecture of the web system under the SOA distributed architecture.
Based on the same inventive concept, the embodiment of the present application further provides a schematic structural diagram of a service system corresponding to fig. 2 in an actual application scenario, as shown in fig. 4.
The system in fig. 4 comprises: a unified gateway 401, a DSL engine 402, a service integration layer 403, one or more service execution engines 404;
the unified gateway 401 receives a service request based on a general DSL protocol sent by a client;
the unified gateway 401 passes the service request to the DSL engine 402;
the DSL engine 402 parses the service request to obtain an identifier and parameters of the service requested by the client, so as to invoke the service integration layer 403;
the service integration layer 403 invokes a corresponding service execution engine 404 to execute the requested service according to the registration information of each service that can be provided and managed by the service integration layer, and the identifier and parameters of the requested service transferred when the DSL engine 402 invokes;
wherein the registration information of each service includes: metadata, and/or scripts that contain logical orchestration information for multiple services.
Based on the same inventive concept, the embodiment of the present application further provides a device corresponding to the method in fig. 2, as shown in fig. 5.
Fig. 5 is a schematic structural diagram of a service device corresponding to fig. 2 provided in an embodiment of the present application, where a dashed box represents an optional module, and the service device may be located on an execution main body of the process in fig. 2, and includes:
a receiving module 501, configured to receive a service request based on a generic DSL protocol sent by a client;
the analysis module 502 is used for analyzing the service request to obtain the identifier and the parameters of the service requested by the client;
the service module 503 calls a corresponding service execution engine through a service integration layer according to the identifier and the parameter of the requested service to execute the requested service;
wherein, the service integration layer is used for managing the registration information of each service which can be provided.
Optionally, the receiving module 501 includes a unified gateway, and the receiving module 501 receives a service request based on a generic DSL protocol sent by a client, specifically includes:
the unified gateway receives a service request based on a universal DSL protocol sent by a client, wherein the universal DSL protocol is defined by the unified gateway.
Optionally, the parsing module 502 includes a DSL engine, and the parsing module 502 parses the service request, which specifically includes:
the DSL engine parses the service request.
Optionally, the corresponding service execution engine is: a service invoker that can invoke an atomic service, and/or a script engine that can invoke the service invoker through script nesting.
Optionally, the service module 503 includes a service integration layer and a service execution engine, and the service module 503 calls the corresponding service execution engine through the service integration layer according to the identifier and the parameter of the requested service, which specifically includes:
the receiving module 501 sends the identifier and the parameter of the requested service to the service integration layer;
the service integration layer determines the registration information of the requested service in the registration information of each service which can be provided and managed by the service integration layer according to the identification and the parameter of the requested service, and calls a corresponding service execution engine by transmitting the identification and the parameter of the requested service according to the registration information of the requested service.
Optionally, the registration information includes metadata;
when the corresponding service execution engine is a service invoker that can invoke atomic services, the service module 503 executes the requested service, which specifically includes:
the service invoker obtains the metadata of the requested service and the identifier and the parameters of the requested service transmitted when the service integration layer invokes the service;
and the service invoker invokes the requested service according to the metadata of the requested service and the identification and the parameters of the requested service.
Optionally, the registration information of each service includes: a script containing logical orchestration information for a plurality of services;
when the corresponding service execution engine is a script engine that can invoke the service invoker through script nesting, the service execution engine executes the requested service, specifically including:
the script engine obtains the script corresponding to the requested service and the identifier and the parameter of the requested service transmitted when the service integration layer is called;
the script engine calls the service caller by executing the script;
the service invoker invokes the plurality of services as the requested service according to the logical orchestration information based on the invocation of the script engine.
Optionally, the apparatus further comprises:
and the registration issuing module 504 is used for registering metadata of the service and/or a script containing logic arrangement information of a plurality of services in the service integration layer and issuing the corresponding service to the unified gateway.
Optionally, the service is an RPC service.
Based on the same inventive concept, the embodiment of the present application further provides a corresponding electronic device, including:
at least one processor; and the number of the first and second groups,
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to:
receiving a service request based on a general DSL protocol sent by a client;
analyzing the service request to obtain an identifier and parameters of the service requested by the client;
calling a corresponding service execution engine through a service integration layer according to the identifier and the parameter of the requested service to execute the requested service;
wherein, the service integration layer is used for managing the registration information of each service which can be provided.
Based on the same inventive concept, embodiments of the present application further provide a corresponding non-volatile computer storage medium, in which computer-executable instructions are stored, where the computer-executable instructions are configured to:
receiving a service request based on a general DSL protocol sent by a client;
analyzing the service request to obtain an identifier and parameters of the service requested by the client;
calling a corresponding service execution engine through a service integration layer according to the identifier and the parameter of the requested service to execute the requested service;
wherein, the service integration layer is used for managing the registration information of each service which can be provided.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the embodiments of the apparatus, the system, the electronic device, and the non-volatile computer storage medium, since they are substantially similar to the embodiments of the method, the description is simple, and the relevant points can be referred to the partial description of the embodiments of the method.
The apparatus, the system, the electronic device, the nonvolatile computer storage medium and the method provided in the embodiment of the present application correspond to each other, and therefore, the apparatus, the system, the electronic device, and the nonvolatile computer storage medium also have beneficial technical effects similar to those of the corresponding method.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually making an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as abel (advanced Boolean Expression Language), ahdl (alternate Hardware Description Language), traffic, pl (core universal Programming Language), HDCal (jhdware Description Language), lang, Lola, HDL, laspam, hardward Description Language (vhr Description Language), vhal (Hardware Description Language), and vhigh-Language, which are currently used in most common. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (18)

1. A method of servicing, comprising:
receiving a service request based on a generic domain specific language DSL protocol sent by a client, specifically comprising: receiving a service request based on a universal DSL protocol sent by a client through a unified gateway, wherein the universal DSL protocol is defined by the unified gateway;
analyzing the service request to obtain an identifier and parameters of the service requested by the client;
calling a corresponding service execution engine through a service integration layer according to the identifier and the parameter of the requested service to execute the requested service;
wherein, the service integration layer is used for managing the registration information of each service which can be provided.
2. The method of claim 1, wherein the parsing the service request specifically comprises:
parsing the service request through a DSL engine.
3. The method of claim 1, the corresponding service execution engine being: a service invoker that can invoke an atomic service, and/or a script engine that can invoke the service invoker through script nesting.
4. The method of claim 1, wherein the invoking a corresponding service execution engine through a service integration layer according to the identifier and the parameter of the requested service specifically comprises:
sending the identification and the parameters of the requested service to a service integration layer;
the service integration layer determines the registration information of the requested service in the registration information of each service which can be provided and managed by the service integration layer according to the identification and the parameter of the requested service, and calls a corresponding service execution engine by transmitting the identification and the parameter of the requested service according to the registration information of the requested service.
5. The method of claim 4, the registration information comprising metadata;
when the corresponding service execution engine is a service invoker capable of invoking atomic services, executing the requested service specifically includes:
the service invoker obtains the metadata of the requested service and the identifier and the parameters of the requested service transmitted when the service integration layer invokes the service;
and the service invoker invokes the requested service according to the metadata of the requested service and the identification and the parameters of the requested service.
6. The method of claim 4, the registration information for the services comprising: a script containing logical orchestration information for a plurality of services;
when the corresponding service execution engine is a script engine that can invoke the service invoker through script nesting, the service execution engine executes the requested service, specifically including:
the script engine obtains the script corresponding to the requested service and the identifier and the parameter of the requested service transmitted when the service integration layer is called;
the script engine calls the service caller by executing the script;
the service invoker invokes the plurality of services as the requested service according to the logical orchestration information based on the invocation of the script engine.
7. The method of claim 1, further comprising:
and registering metadata of the service and/or a script containing logic arrangement information of a plurality of services in the service integration layer, and issuing the corresponding service to the unified gateway.
8. The method of any one of claims 1 to 7, wherein the service is a remote procedure call protocol (RPC) service.
9. A service device, comprising:
the receiving module receives a service request based on a general-purpose-domain dedicated language DSL protocol sent by a client, and specifically includes: the unified gateway receives a service request based on a universal DSL protocol sent by a client, wherein the universal DSL protocol is defined by the unified gateway;
the analysis module is used for analyzing the service request to obtain the identification and the parameters of the service requested by the client;
the service module calls a corresponding service execution engine through a service integration layer according to the identifier and the parameter of the requested service to execute the requested service;
wherein, the service integration layer is used for managing the registration information of each service which can be provided.
10. The apparatus of claim 9, wherein the parsing module comprises a DSL engine, and the parsing module parses the service request, specifically comprising:
the DSL engine parses the service request.
11. The apparatus of claim 9, the corresponding service execution engine to: a service invoker that can invoke an atomic service, and/or a script engine that can invoke the service invoker through script nesting.
12. The apparatus of claim 9, wherein the service module includes a service integration layer and a service execution engine, and the service module calls the corresponding service execution engine through the service integration layer according to the identifier and the parameter of the requested service, specifically including:
the receiving module sends the identification and the parameters of the requested service to the service integration layer;
the service integration layer determines the registration information of the requested service in the registration information of each service which can be provided and managed by the service integration layer according to the identification and the parameter of the requested service, and calls a corresponding service execution engine by transmitting the identification and the parameter of the requested service according to the registration information of the requested service.
13. The apparatus of claim 12, the registration information comprising metadata;
when the corresponding service execution engine is a service invoker capable of invoking atomic services, the service module executes the requested service, specifically including:
the service invoker obtains the metadata of the requested service and the identifier and the parameters of the requested service transmitted when the service integration layer invokes the service;
and the service invoker invokes the requested service according to the metadata of the requested service and the identification and the parameters of the requested service.
14. The apparatus of claim 12, the registration information for the services comprising: a script containing logical orchestration information for a plurality of services;
when the corresponding service execution engine is a script engine that can invoke the service invoker through script nesting, the service execution engine executes the requested service, specifically including:
the script engine obtains the script corresponding to the requested service and the identifier and the parameter of the requested service transmitted when the service integration layer is called;
the script engine calls the service caller by executing the script;
the service invoker invokes the plurality of services as the requested service according to the logical orchestration information based on the invocation of the script engine.
15. The apparatus of claim 9, the apparatus further comprising:
and the registration issuing module registers the metadata of the service and/or the script containing the logic arrangement information of a plurality of services in the service integration layer and issues the corresponding service to the unified gateway.
16. The apparatus of any of claims 9 to 15, the service being a remote procedure call protocol, RPC, service.
17. A service system, comprising: a unified gateway, a domain specific language DSL engine, a service integration layer, one or more service execution engines;
the unified gateway receives a service request based on a universal DSL protocol sent by a client, wherein the universal DSL protocol is defined by the unified gateway;
the unified gateway passing the service request to the DSL engine;
the DSL engine analyzes the service request to obtain the identification and the parameters of the service requested by the client so as to call the service integration layer;
the service integration layer calls a corresponding service execution engine to execute the requested service according to the registration information of each service which can be provided and managed by the service integration layer and the identification and the parameter of the requested service transmitted when the DSL engine calls;
wherein the registration information of each service includes: metadata, and/or scripts that contain logical orchestration information for multiple services.
18. An electronic device, comprising:
at least one processor; and the number of the first and second groups,
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to:
receiving a service request based on a generic domain specific language DSL protocol sent by a client, specifically comprising: the unified gateway receives a service request based on a universal DSL protocol sent by a client, wherein the universal DSL protocol is defined by the unified gateway. (ii) a
Analyzing the service request to obtain an identifier and parameters of the service requested by the client;
calling a corresponding service execution engine through a service integration layer according to the identifier and the parameter of the requested service to execute the requested service;
wherein, the service integration layer is used for managing the registration information of each service which can be provided.
CN201710424962.3A 2017-06-06 2017-06-06 Service method, device and system and electronic equipment Active CN109002362B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710424962.3A CN109002362B (en) 2017-06-06 2017-06-06 Service method, device and system and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710424962.3A CN109002362B (en) 2017-06-06 2017-06-06 Service method, device and system and electronic equipment

Publications (2)

Publication Number Publication Date
CN109002362A CN109002362A (en) 2018-12-14
CN109002362B true CN109002362B (en) 2021-12-24

Family

ID=64573993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710424962.3A Active CN109002362B (en) 2017-06-06 2017-06-06 Service method, device and system and electronic equipment

Country Status (1)

Country Link
CN (1) CN109002362B (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109753370A (en) * 2018-12-28 2019-05-14 北京东方国信科技股份有限公司 A kind of low time delay, the high remote procedure calling (PRC) method handled up
CN109669679B (en) * 2018-12-28 2022-04-29 北京微播视界科技有限公司 Service detection and processing method and device and electronic equipment
CN109857572B (en) * 2018-12-29 2022-03-01 阿波罗智能技术(北京)有限公司 Method, device and equipment for realizing remote calling and computer readable storage medium
CN110365751B (en) * 2019-06-26 2020-10-27 口碑(上海)信息技术有限公司 Service processing method, device and equipment of gateway system
CN110430255A (en) * 2019-07-31 2019-11-08 阿里巴巴集团控股有限公司 The processing method of service request, system and electronic equipment in distributed type assemblies
CN110674355B (en) * 2019-09-25 2022-07-01 上海依图信息技术有限公司 DSL application system for describing data labeling task and method thereof
CN110928712B (en) * 2019-11-28 2023-03-28 广州华资软件技术有限公司 Method for forming standard by connecting RPC service interface through visual database
CN111371684B (en) * 2020-03-02 2022-08-09 中国邮政储蓄银行股份有限公司 Routing processing method and device and double-activity data center system
CN111427634A (en) * 2020-03-30 2020-07-17 深圳前海微众银行股份有限公司 Atomic service scheduling method and device
CN111770348B (en) * 2020-05-13 2024-03-15 视联动力信息技术股份有限公司 Menu adapting method, device and readable storage medium
CN111694679B (en) * 2020-06-05 2024-01-30 北京字跳网络技术有限公司 Message processing method and device and electronic equipment
CN113821331A (en) * 2020-06-18 2021-12-21 北京字节跳动网络技术有限公司 Service acquisition method, device, terminal equipment and medium
CN113971121B (en) * 2020-07-24 2024-06-14 阿里巴巴集团控股有限公司 Service state checking and controlling method and device
CN112035218A (en) * 2020-09-09 2020-12-04 马上消费金融股份有限公司 Method, device and equipment for providing model service
CN112243032B (en) * 2020-10-15 2022-11-04 江苏云坤信息科技有限公司 Service calling method and system based on access gateway
CN114490101B (en) * 2020-10-27 2024-07-05 上海交通大学 Cross-platform remote command execution control system and method
CN112671754B (en) * 2020-12-21 2023-05-02 龙存(成都)科技有限公司 Method and system for processing different server functions by single pipeline
CN112631696B (en) * 2020-12-29 2021-10-22 智慧神州(北京)科技有限公司 Service arranging method, arranging device, processor and service arranging system
CN113055393B (en) * 2021-03-26 2022-08-26 支付宝(杭州)信息技术有限公司 Security service method, device and equipment
CN114238028A (en) * 2021-12-22 2022-03-25 中国建设银行股份有限公司大连市分行 Front-end data collection system and method
CN114610461B (en) * 2022-03-17 2023-06-09 北京火山引擎科技有限公司 Task processing method and device
CN114780265A (en) * 2022-05-18 2022-07-22 壹沓科技(上海)有限公司 Cross-system service calling method, device and related equipment based on DSL

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020062A (en) * 2011-09-20 2013-04-03 佳都新太科技股份有限公司 Front end and server interaction realization method based on XML-RPC (Extensive Makeup Language-Remote Procedure Calling)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110126197A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US9229787B2 (en) * 2012-12-13 2016-01-05 Software Ag Method and system for propagating modification operations in service-oriented architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020062A (en) * 2011-09-20 2013-04-03 佳都新太科技股份有限公司 Front end and server interaction realization method based on XML-RPC (Extensive Makeup Language-Remote Procedure Calling)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
针对SOA的消息类型架构;糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖哈哈;《CSDN博客》;20090730;全文 *

Also Published As

Publication number Publication date
CN109002362A (en) 2018-12-14

Similar Documents

Publication Publication Date Title
CN109002362B (en) Service method, device and system and electronic equipment
CN110704037B (en) Rule engine implementation method and device
CN111176626B (en) Cross-programming-language code calling method and device, medium and equipment
US20200192646A1 (en) Compiler and method for compiling business rules for a serverless runtime environment
CN106354481B (en) Method and equipment for uniformly mapping HTTP (hyper text transport protocol) request
US8996714B2 (en) State-dependent entity based implementation of a service oriented architected application
CN112162915B (en) Test data generation method, device, equipment and storage medium
CN106339237B (en) For the plug-in unit loading frame and method of the field JavaEE WEB application
CN107506181A (en) Business processing, data processing method, device and electronic equipment
CN109831466B (en) Micro-service business processing method and nginx server
US10397051B1 (en) Configuration and testing of network-based service platform resources using a service platform specific language
CN104821954A (en) Cross-platform remote procedure call method
CN110058864A (en) The dispositions method and device of micro services
CN108170430B (en) Interface display method and system
US10831565B2 (en) Fault tolerant adapter system to consume database as a service
CN105743955A (en) Method for JavaScript object expansion
CN116483859A (en) Data query method and device
CN112612460A (en) Interface packaging and calling method, electronic device and storage medium
CN111796864A (en) Data verification method and device
CN112491943A (en) Data request method, device, storage medium and electronic equipment
CN109343970B (en) Application program-based operation method and device, electronic equipment and computer medium
CN109005163B (en) HTTP dynamic request service calling method
CN112579212A (en) Cross-language calling method, calling party device and called party device
CN113626001B (en) API dynamic arrangement method and device based on script
CN109816546A (en) A kind of farm farming management platform and method based on J2EE framework

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant