CN112887756B - Multi-input multi-output communication system and method for multimedia micro-service - Google Patents
Multi-input multi-output communication system and method for multimedia micro-service Download PDFInfo
- Publication number
- CN112887756B CN112887756B CN202110029264.XA CN202110029264A CN112887756B CN 112887756 B CN112887756 B CN 112887756B CN 202110029264 A CN202110029264 A CN 202110029264A CN 112887756 B CN112887756 B CN 112887756B
- Authority
- CN
- China
- Prior art keywords
- server
- http request
- storage
- data
- mesh component
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 33
- 238000004891 communication Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 80
- 238000004364 calculation method Methods 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims description 18
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000002085 persistent effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- 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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The invention discloses a multi-input multi-output communication system and a method of multimedia micro service, wherein the method comprises the following steps: step S1, a service gateway sends an http request to an upstream server; s2, a mesh component corresponding to an upstream server receives the http request and sends the http request to the upstream server, and when receiving the multi-output message returned by the upstream, the mesh component transmits the packed data in the received multi-output message to a storage server, acquires the storage information returned by the storage server and returns the storage information to the service gateway; s3, after receiving the returned storage information, the service gateway sends an http request containing the storage information to the downstream; and S4, the mesh component corresponding to the downstream receives the http request and transmits the http request to the downstream, intercepts the downstream data downloading request, acquires corresponding data from the storage server and transmits the corresponding data to the downstream, and returns a calculation result fed back by the downstream server to the service gateway after receiving the calculation result.
Description
Technical Field
The invention relates to the technical field of multimedia, in particular to a multi-input multi-output communication system and a multi-input multi-output communication method of multimedia micro service based on mesh and object storage.
Background
In a multimedia processing scenario, data often needs to be processed through multiple processing flows to complete final processing, in system design, each processing flow is often encapsulated in a single service, and services are connected in series through a service gateway, that is, the output of a service a can be converted to a service B through a service gateway stream to serve as the input of the service B
In a conventional multimedia system, as shown in fig. 1, a general a-service output is a single file, for example, after an a-service (App a) performs mp4 transcoding, the output is a single mp4 file, in a single-input single-output scenario, a concatenation between http-based (http request and response one-to-one) micro-services is simple and direct, and a communication process thereof is as follows:
1. the service gateway sends an http request (http request) to a service App A;
2. after the service App A calculates according to the http request, returning a calculation result through the http response;
3. the service gateway puts the result of the http response received in the last step into an http request sent to a B service App B, and sends the http request to the B service App B;
4. and after the calculation of the service B App B is finished, returning a calculation result to the service gateway through http response.
With the development of multimedia technology, in a multimedia processing scene, a situation of multiple outputs begins to emerge, for example, after a video file is converted into a hls (HTTP-based streaming media network transport protocol proposed by apple inc.), such multiple outputs pose a challenge to the concatenation between services, that is, under a micro-service system based on HTTP communication, what format and protocol an upstream service can efficiently transmit outputs downstream, so that a downstream service can efficiently read the multiple outputs upstream.
For the problem, a general solution in the prior art is to let the upstream and downstream of the service perceive such a special data processing scenario and perform special operations on it, for example, when the upstream of the service knows that it will do a multi-output, it will write a specific code to do so, and each multi-output service module needs to be connected and stored with itself, which has a disadvantage that each service will have similar multi-output processing codes, and there will be a lot of repetitions, and will also aggravate the development of multimedia services.
Disclosure of Invention
To overcome the above-mentioned deficiencies of the prior art, the present invention provides a mimo communication system and method for multimedia microservices, which is used to implement mimo communication for multimedia microservices based on mesh and object storage.
To achieve the above and other objects, the present invention provides a mimo communication system for multimedia microservice, comprising:
the service gateway correspondingly sends an http request to the upstream server, sends the http request containing the storage information to the downstream server after receiving the storage information returned by the storage server returned by the mesh component corresponding to the upstream server, and receives a calculation response result of the downstream server through the mesh component corresponding to the downstream server;
the Mesh component is arranged corresponding to each server, and when the Mesh component is used as a Mesh component corresponding to an upstream server, the Mesh component receives an http request sent by the service gateway and sends the http request to the upstream server; receiving a multi-output message returned by an upstream server, transmitting the packed data in the received multi-output message to a storage server for storage, acquiring storage information returned by the storage server and returning the storage information to a service gateway; when the gateway is used as a mesh component corresponding to a downstream server, receiving an http request carrying storage information sent by the service gateway and directly transmitting the http request to the downstream server, intercepting a data downloading request of the downstream server, acquiring corresponding data from the storage server according to the data downloading request, sending the corresponding data to the downstream server, and returning a calculation result fed back by the downstream server to the service gateway after receiving the calculation result;
the upstream server is used for receiving the http request sent by the mesh component, processing the http request to obtain a calculation result of a multi-output file structure, and sending the calculation result of the multi-output file structure to the mesh component through a multi-output message;
the storage server is used for receiving the data sent by the mesh component, performing persistent storage on the received data and returning corresponding storage information to the mesh component;
and the downstream server acquires the http request which is forwarded by the mesh component and contains the storage information, initiates a corresponding data downloading request according to the http request, downloads and acquires corresponding data from the storage server through the mesh component, performs multi-input calculation after the data acquisition is completed, and returns a calculation result to the service gateway through the mesh component.
Preferably, the Mesh component further comprises:
and the upstream http request receiving and checking module is used for receiving the http request sent by the service gateway, checking whether the http request conforms to a preset rule, and sending the http request to the upstream server after checking that the http request conforms to the rule.
The multi-output message receiving and processing module is used for receiving an http response of a multi-output message which is returned by the upstream server and contains a plurality of data files and a summary file, and transmitting data in the http response to the storage server;
the storage result response module is used for receiving the storage information fed back by the storage server and returning the storage information to the service gateway as a response result of the http request;
a downstream http request receiving and processing module, configured to receive an http request that includes storage information and is sent by the service gateway, check whether the http request conforms to a preset rule, forward the http request to the downstream server after checking that the http request conforms to the rule, intercept a data download request of the downstream server for the storage information, forward the data download request to a certain storage service instance of the storage server through a balancing algorithm, obtain a summary file at the storage server, parse the summary file to obtain addresses of other data files, and obtain corresponding data from the storage server and send the corresponding data to the downstream server;
and the calculation result response module is used for receiving the calculation result response of the downstream server and feeding back the calculation result response to the service gateway.
Preferably, the calculation result of the http request by the upstream server is a multi-output file structure, the multi-output file structure includes a plurality of data files and a summary file of an application layer protocol, the data files and the summary file are in a unified directory hierarchy, and the summary file enumerates each used address to the data file by using an http relative path.
Preferably, the upstream server packs the multiple data files and the summary file according to a streaming multi-file packaging protocol, and returns the packed data files and the summary file as a request result to the mesh component.
Preferably, the http message returned by the upstream server includes a multi-output message identifier to tell that the message is a multi-output message and a summary file name thereof.
Preferably, the http message format returned by the upstream server includes http header, x-dora-multioutput-manifest: < summary file name >.
Preferably, after receiving the data sent by the mesh component, the storage server creates a virtual bucket, stores the received data in the virtual bucket, and returns the domain name corresponding to the virtual bucket to the mesh component after the storage is completed.
Preferably, the http request sent by the service gateway to the downstream server includes the domain name/summary file name fed back by the upstream server.
In order to achieve the above object, the present invention further provides a multimedia microservice mimo communication method, comprising the steps of:
step S1, a service gateway sends an http request to an upstream server;
s2, a mesh component corresponding to the upstream server receives an http request sent by the service gateway and sends the upstream server, when receiving a multi-output message returned by the upstream server, the mesh component transfers the packed data in the received multi-output message to a storage server for storage, acquires the storage information returned by the storage server and returns the storage information to the service gateway;
s3, after receiving the storage information returned by the mesh component, the service gateway sends an http request containing the storage information to a downstream server;
and S4, receiving an http request carrying storage information sent by the service gateway and directly transmitting the http request to the downstream server corresponding to the mesh component of the downstream server, intercepting a data downloading request of the downstream server, acquiring corresponding data from the storage server according to the data downloading request, sending the corresponding data to the downstream server, and returning a calculation result fed back by the downstream server to the service gateway after receiving the calculation result.
Preferably, step S2 further comprises:
step S200, receiving an http request sent by a service gateway, checking whether the http request accords with a preset rule, and sending the http request to an upstream server after checking that the http request accords with the rule;
step S201, receiving an http response of a multi-output message which is returned by an upstream server and contains a plurality of data files and a summary file, and transmitting data in the http response to a storage server;
and step S202, receiving the storage information fed back by the storage server, and returning the storage information to the service gateway as a response result of the http request.
Compared with the prior art, the invention has the following beneficial effects:
1. according to the invention, when multiple output requirements exist, the multiple output files are only required to be packaged and returned according to the protocol format, and the packaging result can be used by downstream calculation without paying attention to storage service, so that an application developer only needs to pay attention to the core algorithm of the application without paying attention to the operation environment and how to perform upstream cooperation specifically;
2. the invention is compatible with the http rpc protocol, and can enable App service to expand multi-output and multi-input capability under the original communication protocol
3. The invention adopts the stream type packaging protocol, and the storage service can rapidly store data
4. The invention adopts the mesh component to ensure the communication between the services, only packed data needs to be spit back when the App uploads, the common communication problems of the distributed system such as which storage service instance is sent to and how to process if the storage is wrong do not need to be concerned, only downloading needs to be initiated to the mesh component when the App downloads, and the common communication problems of the distributed system also do not need to be concerned
5. The invention adopts the object storage as the bottom storage in the year, thereby realizing the horizontal expansion in the aspects of storage space, storage data access amount and the like, conveniently converting the data in the object storage into the external serviceable http address through the s3 protocol, and facilitating the App to read the data.
Drawings
FIG. 1 is a diagram illustrating a communication process of a multimedia microservice single input and single output in the prior art;
FIG. 2 is a block diagram of a preferred embodiment of a MIMO communication system for multimedia microservice in accordance with the present invention;
FIG. 3 is a flowchart illustrating steps of a method for MIMO communication with multimedia microservice according to the present invention.
Detailed Description
Other advantages and capabilities of the present invention will be readily apparent to those skilled in the art from the present disclosure by describing the embodiments of the present invention with specific embodiments thereof in conjunction with the accompanying drawings. The invention is capable of other and different embodiments and its several details are capable of modification in various other respects, all without departing from the spirit and scope of the present invention.
Fig. 2 is a system architecture diagram of a mimo communication system for multimedia microservice according to the present invention.
As shown in fig. 2, the present invention provides a mimo communication system for multimedia microservice, comprising:
the service gateway 10 sends an http request to the upstream server 30, sends an http request containing storage information to the downstream server 50 after receiving the storage information returned by the storage server 40 returned by the mesh component 20 corresponding to the upstream server 30, and receives a calculation response result of the downstream server 50 through the mesh component 20 corresponding to the downstream server 50.
The Mesh component 20 is arranged corresponding to each server, and when the Mesh component is a Mesh component corresponding to an upstream server, receives an http request sent by the service gateway 10 and sends the http request to the upstream server 30; receiving the multi-output message returned by the upstream server 30, transmitting the packed data in the received multi-output message to the storage server 40 for storage, acquiring the storage information returned by the storage server 40 and returning the storage information to the service gateway 10; when the mesh component is a mesh component corresponding to the downstream server, the http request carrying the storage information sent by the service gateway 10 is received and sent to the downstream server 50, the data download request of the downstream server 50 is intercepted, the corresponding data is obtained from the storage server 40 according to the data download request and sent to the downstream server 50, and the calculation result fed back by the downstream server 50 is received and returned to the service gateway 10.
Specifically, the mesh component 20 further includes:
an upstream http request receiving and checking module, configured to receive an http request sent by a service gateway 10, check whether the http request meets a preset rule, and send the http request to an upstream server 30 after checking that the http request meets the rule, where the http request generally includes data to be processed and a processing command, for example, under a seven-cow fop multimedia processing protocol, the http request is: POST/handlercmd = xxx & url = yyy wherein xxx after cmd represents a processing command and url represents a data address to be processed.
Specifically, after receiving the http request sent by the service gateway 10, the upstream http request receiving and checking module first checks whether the http request is a valid http request, and when the http request is a valid http request, further checks whether the http request is a request sent to the upstream server 30, and if so, considers that the http request conforms to the rule and sends the rule to the upstream server 30. Preferably, the upstream http request receiving checking module may further check whether the initiator of the request has a right to send the request to the upstream server.
And the multi-output message receiving and processing module is configured to receive an http response of the multi-output message, which includes a plurality of data files and a summary file, returned by the upstream server 30, and transmit data in the http response to the storage server.
That is, after receiving the http request sent by the http request receiving and checking module, the upstream server 30 processes and calculates the http request, and the calculation result is a multi-output file structure including a plurality of data files and a summary file of an application layer protocol, for example, a video file in mp4 format is subjected to calculation of trans-encapsulation to hls format, or a video is subjected to screenshot according to a specified time interval so as to output a batch of screenshots, and the calculation result is packaged and returned to the mesh component 20 as a multi-output message.
And a storage result response module, configured to receive the storage information fed back by the storage server 40, and return the storage information to the service gateway 10 as a response result of the http request.
Specifically, after the storage server 40 receives the data sent by the Mesh component 20, the received data is persistently stored, the storage information is returned to the Mesh component 20, the Mesh component 20 returns the storage information to the service gateway 10, so that the corresponding data file can be accessed through the storage information through the storage server 40, for example, after the storage server 40 persistently stores the data sent by the Mesh component, a domain name corresponding to the storage file is returned, such as http:// media.example.example.com// media.m.3u8, and the Mesh component 20 returns a summary file address http:// media.example.com// sample.m.3u8 to the service gateway 10
The downstream http request receiving and processing module is configured to receive an http request including storage information sent by the service gateway 10, check whether the http request conforms to a preset rule, forward the http request to the downstream server 50 after checking that the http request conforms to the rule, intercept a service request of the downstream server to the storage information, forward the service request to a certain storage service instance of the storage server 40 through a specific balancing algorithm, obtain a summary file, and analyze the summary file to obtain addresses of other data files, thereby obtaining corresponding data from the storage server 40, and send the corresponding data to the downstream server 50.
For example, the service gateway 10 sends an http request including storage information to a downstream server through the Mesh component, when the Mesh component 20 receives an http request including storage information (e.g., address information) sent by the service gateway 10, the http request is checked to meet a preset rule and then directly forwarded to the downstream server, after the downstream server receives the http request including the address information, the downstream server initiates a service request for the address information, the Mesh component 20 intercepts a data download request of the downstream server for the address, the Mesh component ensures that such a request is correctly processed in the distributed system, such as load balancing and error retry, that is, the Mesh component 20 forwards the data download request to a certain storage service instance through a specific load balancing algorithm, obtains a summary file and parses the summary file to obtain addresses of other data files, thereby obtaining corresponding data from the storage server 40 and sending the data to the downstream server, and when a network error occurs, the Mesh component can identify retry, thereby ensuring reliability of data download.
In the specific embodiment of the present invention, the http request of the service gateway to the downstream server 50 includes upstream output, that is, addresses of storage information "domain name/summary file name", for example, the request includes addresses of several summary files, that is, http:// media.example. Com/example. M3u8, as input of calculation, the Mesh component 20 forwards the http request to the downstream server, the downstream server initiates a data download request for the "domain name/summary file name", the Mesh component 20 intercepts the data download request and forwards the data download request to a certain storage service instance through a load balancing algorithm, acquires a corresponding summary file from the storage server 40 according to the "domain name/summary file name", and acquires addresses of other data files by analyzing the content of the summary file, thereby acquiring the data from the storage server 40.
And a calculation result response module, configured to receive a calculation result response of the downstream server 50, and feed the calculation result response back to the service gateway 10.
That is, when the downstream server 50 finishes acquiring the data, the multi-input calculation is completed, and the result is returned to the service gateway 10 through the mesh component 20.
The upstream server 30 is configured to receive an http request sent by the mesh component 20, process the http request to obtain a calculation result of a multi-output file structure, and send the calculation result of the multi-output file structure to the mesh component 20 through a multi-output packet.
In the embodiment of the present invention, the calculation result of the upstream server 30 is a multi-output file structure, that is, a summary file including a plurality of data files and an application layer protocol, for example, in the hls format, the data file is each ts, the summary file is m3u8, and the summary file application layer defines an m3u8 summary file in the hls format as an example:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXTINF:9.009,
/first.ts
#EXTINF:9.009,
/second.ts
#EXTINF:3.003,
/third.ts
it can be seen that there are three subfiles in this summary file, which are:
/first.ts
/second.ts
/third.ts
in the embodiment of the present invention, the upstream server 30 packages the plurality of data files and the summary file according to a streaming multi-file packaging protocol (such as tar), that is, packages the example.m3u8 file and the three ts files, and returns the packaged data files and the summary file as a request result to the mesh component 30. In the embodiment of the present invention, the http message returned by the upstream server 30 may include a multi-output message identifier, such as an http header, an x-dora-multi-output-manifest < summary file name >, to tell the external that the message is a multi-output message and its summary file name.
And the storage server 40 is configured to receive data sent by the mesh component 20, perform persistent storage on the received data, and return corresponding storage information to the mesh component 20.
Specifically, the Mesh component 20 stores the 4 files into the storage server 40 after receiving the files, and the storage server 40 creates a virtual bucket after receiving the data sent by the Mesh component 20 and stores the data in the virtual bucket; after the storage is finished, the storage server 40 returns the domain name corresponding to the virtual bucket, such as http:// media. Example. Com, to the mesh component 20, so that the summarized file can be accessed through the storage server 40 by "domain name/summarized file name", and the data file can be accessed by "domain name/data file name". The mesh returns the summary file address http:// media. Example. Com/example. M. 3u8 to the gateway
In the present invention, since the data of the upstream server 20 is uploaded in a package by using a streaming protocol, the storage server 40 can persist into the object store after a single subfile is stored, without waiting for all data to be received into the object store.
The downstream server 50 acquires the http request containing the storage information forwarded by the mesh component 20, initiates a corresponding data downloading request according to the http request, downloads and acquires corresponding data from the storage server 40 through the mesh component 20, performs multi-input calculation after the data acquisition is completed, and returns a calculation result to the service gateway 10 through the mesh component 20.
FIG. 3 is a flowchart illustrating steps of a method for MIMO communication with multimedia microservice according to the present invention. As shown in fig. 3, the present invention provides a multimedia microservice mimo communication method, comprising the following steps:
and S1, the service gateway sends an http request to an upstream server.
And S2, the mesh component corresponding to the upstream server receives the http request sent by the service gateway and sends the http request to the upstream server, and when receiving the multi-output message returned by the upstream server, the mesh component transmits the packed data in the received multi-output message to the storage server for storage, acquires the storage information returned by the storage server and returns the storage information to the service gateway.
Specifically, step S2 further includes:
and step S200, receiving an http request sent by the service gateway, checking whether the http request conforms to a preset rule, and sending the http request to an upstream server after checking that the http request conforms to the rule.
Step S201, receiving an http response of a multi-output message including a plurality of data files and a summary file returned by an upstream server, and transmitting data in the http response to a storage server.
That is, after receiving the http request sent by the http request receiving and checking module, the upstream server processes and calculates the http request, and the calculation result is a multi-output file structure including a plurality of data files and a summary file of an application layer protocol, and packages the calculation result and returns a multi-output message to the mesh component.
And step S202, receiving the storage information fed back by the storage server, and returning the storage information to the service gateway as a response result of the http request.
And after the storage server receives the data sent by the mesh component, the received data is subjected to persistent storage, the storage information is returned to the mesh component, and the mesh component returns the storage information to the service gateway, so that the corresponding data file can be accessed through the storage information through the storage server.
Specifically, after receiving data sent by the mesh component, the storage server creates a virtual bucket and stores the data in the virtual bucket; after the storage is finished, the storage server 40 returns the domain name corresponding to the virtual bucket to the mesh component 20, so that the summarized file can be accessed through the storage server 40 by using the "domain name/summarized file name", and the data file can be accessed by using the "domain name/data file name".
And S3, after receiving the storage information returned by the mesh component, the service gateway sends an http request containing the storage information to a downstream server.
And S4, receiving an http request carrying storage information sent by the service gateway corresponding to the mesh component of the downstream server, directly transmitting the request to the downstream server, intercepting a data downloading request of the downstream server, acquiring corresponding data from the storage server according to the data downloading request, sending the corresponding data to the downstream server, and returning a calculation result fed back by the downstream server to the service gateway after receiving the data downloading request.
Examples
In this embodiment, an upstream server is App a, a downstream server is App B, and a mesh component is added to each service to perform inter-service traffic management, where the mesh component may perform traffic management of a normal http rpc request and may also serve a multi-output scene, and specifically, a communication process of a multi-input multi-output communication system of multimedia micro-service is as follows:
step 1, a service gateway sends an http request to App A through a mesh component, the mesh component checks an entry request, and if a request is matched with a rule, the request is sent to App A;
and 2, after the App A calculates according to the http request, according to the request requirement, the calculation result is a multi-output file structure which is a summary file of a plurality of data files and an application layer protocol, for example, in the hls format, the data files are ts, the summary file is m3u8, the data files and the summary file are in a unified directory hierarchy, the summary file adopts an http relative path to enumerate the address of each used data file, the App A returns the data files and the summary file to a mesh component according to a streaming multi-file packaging protocol (for example, tar) and takes the data files as the request result, and the returned http header contains an x-dora < multicast-request:summaryfile name > and is used for telling that the summary file is a multi-output and the name of the summary file.
Take the m3u8 summary file in the hls format defined by the summary file application layer as an example:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXTINF:9.009,
/first.ts
#EXTINF:9.009,
/second.ts
#EXTINF:3.003,
/third.ts
it can be seen that there are three subfiles in this summary file, which are:
/first.ts
/second.ts
/third.ts
after downloading and parsing the summary m3u8 file, the downstream server can download and process these subfiles via the above addresses, for example, the addresses of the m3u8 file are http:// media.example.com/example.m3u8, and the addresses of these subfiles are:
http://media.example.com/first.ts
http://media.example.com/second.ts
http://media.example.com/third.ts
when the upstream server side App A packs and outputs an example.m3u8 file and three ts files.
And 3, after receiving the multi-output message, the mesh component transmits the packed data in the received http response (http response) to the storage service.
After receiving the data, the storage service creates a virtual socket and stores the data in the virtual socket; after the storage is finished, the storage service returns the domain name corresponding to the virtual bucket, so that the summary file can be accessed through the storage service by the 'domain name/summary file name'; the data file may be accessed by a "domain name/data file name". Because the data is uploaded in a streaming protocol package, the storage service can persist into the object store after a single subfile is stored, without waiting for all data to be received in the re-persisted track object store.
And 4, after the storage is finished, the mesh component returns the domain name/summary file name as a result to the service gateway.
Taking the above example as an example, the Mesh component stores the 4 files into the storage service after receiving the files, the storage service returns the domain name corresponding to the stored file, such as http:// media.example.com, and the Mesh component returns the summarized file address http:// media.example.com/example.m3u8 to the service gateway
And step 5, after receiving the result, the service gateway comprises an upstream output, namely a domain name/summary file name, in the request to the downstream App B, and the upstream output is used as the input of calculation.
The service gateway sends a request to a downstream server side App B through a mesh component, wherein the request comprises the addresses of several summary files of http:// media.
And 6, app B can acquire the domain name/summary file name through the proxy service of the proxy Mesh component, and can acquire the addresses of other data files by analyzing the content of the file, so that the data can be read.
And 7, finally completing multi-input calculation by App B after reading the data, and returning the result to the service gateway through the mesh component.
The foregoing embodiments are merely illustrative of the principles and utilities of the present invention and are not intended to limit the invention. Modifications and variations can be made to the above-described embodiments by those skilled in the art without departing from the spirit and scope of the present invention. Therefore, the scope of the invention should be determined from the following claims.
Claims (10)
1. A multiple-input multiple-output communication system for multimedia microservices, comprising:
the service gateway correspondingly sends an http request to the upstream server, sends the http request containing the storage information to the downstream server after receiving the storage information returned by the storage server corresponding to the mesh component of the upstream server, and receives a calculation response result of the downstream server through the mesh component corresponding to the downstream server;
the Mesh component is arranged corresponding to each server, and when the Mesh component is taken as a Mesh component corresponding to an upstream server, the Mesh component receives an http request sent by the service gateway and sends the http request to the upstream server; receiving a multi-output message returned by an upstream server, transmitting packed data in the received multi-output message to a storage server for storage, acquiring storage information returned by the storage server and returning the storage information to a service gateway; when the gateway is used as a mesh component corresponding to a downstream server, receiving an http request carrying storage information sent by the service gateway and directly transmitting the http request to the downstream server, intercepting a data downloading request of the downstream server, acquiring corresponding data from the storage server according to the data downloading request, sending the corresponding data to the downstream server, and returning a calculation result fed back by the downstream server to the service gateway after receiving the calculation result;
the upstream server is used for receiving the http request sent by the mesh component, processing the http request to obtain a calculation result of a multi-output file structure, and sending the calculation result of the multi-output file structure to the mesh component through a multi-output message;
the storage server is used for receiving the data sent by the mesh component, and returning corresponding storage information to the mesh component after the received data is subjected to persistent storage;
and the downstream server acquires the http request which is forwarded by the mesh component and contains the storage information, initiates a corresponding data downloading request according to the http request, downloads and acquires corresponding data from the storage server through the mesh component, performs multi-input calculation after the data acquisition is completed, and returns a calculation result to the service gateway through the mesh component.
2. The multi-input multi-output communication system of multimedia microservice of claim 1, wherein the Mesh component further comprises:
the upstream http request receiving and checking module is used for receiving an http request sent by the service gateway, checking whether the http request meets a preset rule or not, and sending the http request to the upstream server after checking that the http request meets the rule;
the multi-output message receiving and processing module is used for receiving an http response of a multi-output message which comprises a plurality of data files and a summary file and is returned by the upstream server, and transmitting data in the http response to the storage server;
the storage result response module is used for receiving the storage information fed back by the storage server and returning the storage information to the service gateway as a response result of the http request;
a downstream http request receiving and processing module, configured to receive an http request including storage information sent by the service gateway, check whether the http request conforms to a preset rule, forward the http request to the downstream server after checking that the http request conforms to the rule, intercept a data download request of the downstream server for the storage information, forward the data download request to a certain storage service instance of the storage server through a balancing algorithm, obtain a summary file at the storage server, parse the summary file to obtain addresses of other data files, and obtain corresponding data from the storage server and send the data to the downstream server;
and the calculation result response module is used for receiving the calculation result response of the downstream server and feeding back the calculation result response to the service gateway.
3. The MIMO communication system of claim 2, wherein the calculation result of the http request by the upstream server is a multi-output file structure, the multi-output file structure comprises a plurality of data files and a summary file of an application layer protocol, the data files and the summary file are in a unified directory hierarchy, and the summary file uses http relative paths to enumerate each used address to the data file.
4. The MIMO communication system of claim 3, wherein the upstream server packs the data files and the summary file according to a stream-oriented multi-file packaging protocol and returns the packed data files and the summary file as a request result to the mesh component.
5. The MIMO communication system of claim 4, wherein the http message returned from the upstream server contains a MIMO packet ID to tell the outside that the message is a MIMO packet and its summarized file name.
6. The MIMO communication system of the multimedia microservice according to claim 5, wherein the http message format returned by the upstream server comprises http header, x-dora-multioutput-manifest: < summary filename >.
7. The MIMO communication system of multimedia microservice according to claim 5, wherein the storage server establishes a virtual bucket after receiving the data sent by the mesh component, stores the received data in the virtual bucket, and returns the domain name corresponding to the virtual bucket to the mesh component after the storage is finished.
8. The MIMO communication system of the multimedia microservice of claim 7, wherein the http request sent by the service gateway to the downstream server comprises the domain name/summary file name fed back by the upstream server.
9. A multimedia micro-service multiple-input multiple-output communication method comprises the following steps:
step S1, a service gateway sends an http request to an upstream server;
s2, a mesh component corresponding to the upstream server receives an http request sent by the service gateway and sends the http request to the upstream server, and when receiving a multi-output message returned by the upstream server, the mesh component transmits packed data in the received multi-output message to a storage server for storage, acquires storage information returned by the storage server and returns the storage information to the service gateway;
s3, after receiving the storage information returned by the mesh component, the service gateway sends an http request containing the storage information to a downstream server;
and S4, receiving an http request carrying storage information sent by the service gateway and directly transmitting the http request to the downstream server corresponding to the mesh component of the downstream server, intercepting a data downloading request of the downstream server, acquiring corresponding data from the storage server according to the data downloading request, sending the corresponding data to the downstream server, and returning a calculation result fed back by the downstream server to the service gateway after receiving the calculation result.
10. The method of claim 9, wherein the step S2 further comprises:
step S200, receiving an http request sent by a service gateway, checking whether the http request accords with a preset rule, and sending the http request to an upstream server after checking that the http request accords with the rule;
step S201, receiving an http response of a multi-output message which is returned by an upstream server and contains a plurality of data files and a summary file, and transmitting data in the http response to a storage server;
and step S202, receiving the storage information fed back by the storage server, and returning the storage information to the service gateway as a response result of the http request.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110029264.XA CN112887756B (en) | 2021-01-11 | 2021-01-11 | Multi-input multi-output communication system and method for multimedia micro-service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110029264.XA CN112887756B (en) | 2021-01-11 | 2021-01-11 | Multi-input multi-output communication system and method for multimedia micro-service |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112887756A CN112887756A (en) | 2021-06-01 |
CN112887756B true CN112887756B (en) | 2023-02-07 |
Family
ID=76047712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110029264.XA Active CN112887756B (en) | 2021-01-11 | 2021-01-11 | Multi-input multi-output communication system and method for multimedia micro-service |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887756B (en) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7114180B1 (en) * | 2002-07-16 | 2006-09-26 | F5 Networks, Inc. | Method and system for authenticating and authorizing requestors interacting with content servers |
KR20120071565A (en) * | 2010-12-23 | 2012-07-03 | 숭실대학교산학협력단 | Gateway device and method for providing network service using the same |
CN103037361A (en) * | 2012-12-12 | 2013-04-10 | 深圳市汇川控制技术有限公司 | Internet protocol (IP) distribution system in wireless Mesh network based on Ad-hoc and IP distribution method in the wireless Mesh network based on the Ad-hoc |
CN104081731A (en) * | 2012-01-30 | 2014-10-01 | 日本电气株式会社 | Network system and topology management method |
US9210200B1 (en) * | 2010-02-15 | 2015-12-08 | Insors Integrated Communications | Methods, systems and program products for connecting users to operating nodes |
KR20180060743A (en) * | 2016-11-29 | 2018-06-07 | 주식회사 엔엑스테크놀로지 | Method for providing gateway and time synchronization service for analyzing using pattern by time |
CN108833135A (en) * | 2018-05-04 | 2018-11-16 | 深圳市共进电子股份有限公司 | A kind of Mesh networking management method, management equipment and extender |
CN109474718A (en) * | 2018-12-29 | 2019-03-15 | 杭州迪普科技股份有限公司 | Domain name analytic method and device |
CN109672612A (en) * | 2018-12-13 | 2019-04-23 | 中国电子科技集团公司电子科学研究院 | API gateway system |
CN110913011A (en) * | 2019-12-05 | 2020-03-24 | 东软集团股份有限公司 | Session keeping method, session keeping device, readable storage medium and electronic equipment |
CN111108730A (en) * | 2017-06-21 | 2020-05-05 | 苹果公司 | Conflict handling for Synchronization Signal (SS) blocks |
CN111683109A (en) * | 2020-08-17 | 2020-09-18 | 烽火通信科技股份有限公司 | Micro-service architecture |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060081714A1 (en) * | 2004-08-23 | 2006-04-20 | King Martin T | Portable scanning device |
CN102394866A (en) * | 2011-10-09 | 2012-03-28 | 中兴通讯股份有限公司 | Methods for sharing data and applications in near-field communication network and near-field communication network |
CN107454007A (en) * | 2016-06-01 | 2017-12-08 | 中兴通讯股份有限公司 | A kind of processing method and processing device of gateway service |
-
2021
- 2021-01-11 CN CN202110029264.XA patent/CN112887756B/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7114180B1 (en) * | 2002-07-16 | 2006-09-26 | F5 Networks, Inc. | Method and system for authenticating and authorizing requestors interacting with content servers |
US9210200B1 (en) * | 2010-02-15 | 2015-12-08 | Insors Integrated Communications | Methods, systems and program products for connecting users to operating nodes |
KR20120071565A (en) * | 2010-12-23 | 2012-07-03 | 숭실대학교산학협력단 | Gateway device and method for providing network service using the same |
CN104081731A (en) * | 2012-01-30 | 2014-10-01 | 日本电气株式会社 | Network system and topology management method |
CN103037361A (en) * | 2012-12-12 | 2013-04-10 | 深圳市汇川控制技术有限公司 | Internet protocol (IP) distribution system in wireless Mesh network based on Ad-hoc and IP distribution method in the wireless Mesh network based on the Ad-hoc |
KR20180060743A (en) * | 2016-11-29 | 2018-06-07 | 주식회사 엔엑스테크놀로지 | Method for providing gateway and time synchronization service for analyzing using pattern by time |
CN111108730A (en) * | 2017-06-21 | 2020-05-05 | 苹果公司 | Conflict handling for Synchronization Signal (SS) blocks |
CN108833135A (en) * | 2018-05-04 | 2018-11-16 | 深圳市共进电子股份有限公司 | A kind of Mesh networking management method, management equipment and extender |
CN109672612A (en) * | 2018-12-13 | 2019-04-23 | 中国电子科技集团公司电子科学研究院 | API gateway system |
CN109474718A (en) * | 2018-12-29 | 2019-03-15 | 杭州迪普科技股份有限公司 | Domain name analytic method and device |
CN110913011A (en) * | 2019-12-05 | 2020-03-24 | 东软集团股份有限公司 | Session keeping method, session keeping device, readable storage medium and electronic equipment |
CN111683109A (en) * | 2020-08-17 | 2020-09-18 | 烽火通信科技股份有限公司 | Micro-service architecture |
Non-Patent Citations (2)
Title |
---|
Geodesic-based robust blind watermarking method for three-dimensional mesh animation by using mesh segmentation and vertex trajectory;Jen-Sheng Tsai;《 2012 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)》;20120830;全文 * |
无线Mesh网络中认知路由协议的研究;牛亚军;《CNKI优秀硕士学位论文电子期刊》;20180415;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112887756A (en) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2557145C (en) | System, apparatus and method for communicating asynchronously with synchronous web services using a mediator service | |
EP1091536B1 (en) | Methods and systems for conversion of data format | |
US7448043B2 (en) | System and method of compact messaging in network communications by removing tags and utilizing predefined message definitions | |
CN111818158B (en) | Gateway control method, device, electronic equipment and storage medium | |
CN104301443A (en) | Method and system for calling end capacity ports on web page | |
CN103685381B (en) | Method, system and device for downloading webpage resources | |
CN106549989B (en) | Data transmission method and system, user terminal and application server | |
US20060064494A1 (en) | Content delivery system | |
CN104717647A (en) | Service capability authentication method, equipment and system | |
CN101771928A (en) | Method and system and proxy server for Webpage transmitting | |
CN110475215B (en) | Message editing, transmitting and displaying method, server and terminal thereof | |
CN112887756B (en) | Multi-input multi-output communication system and method for multimedia micro-service | |
US20110276444A1 (en) | Method and devices for service rating | |
CN107517247B (en) | System and method for converting socket interface into http interface applied to financial industry | |
CN101472290B (en) | Flow control method and apparatus for mobile data business platform performance test | |
CN101964742B (en) | Method, system and device for using network open ability | |
CN111597020B (en) | Application programming interface API debugging method and debugging terminal | |
CN116506526B (en) | Satellite data processing method and system based on configurable protocol parser | |
CN102438048B (en) | Method and system for calling remote service from Internet | |
KR101295864B1 (en) | System and method of improving transmitting data rate for web image | |
US20090024755A1 (en) | Method And Apparatus For Transferring Large Quantities Of Data | |
CN101917476B (en) | Hyper text transmission protocol (HTTP) message processing method and client system thereof | |
CN112532534B (en) | Data transmission method, device and computer readable storage medium | |
CN113918245A (en) | Data calling method, device, equipment and computer readable storage medium | |
US9756129B2 (en) | WSDL/WADL reference definition integration |
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 |