CN113434622A - gPC-based distributed electronic chart information system and information interaction method - Google Patents
gPC-based distributed electronic chart information system and information interaction method Download PDFInfo
- Publication number
- CN113434622A CN113434622A CN202110721634.6A CN202110721634A CN113434622A CN 113434622 A CN113434622 A CN 113434622A CN 202110721634 A CN202110721634 A CN 202110721634A CN 113434622 A CN113434622 A CN 113434622A
- Authority
- CN
- China
- Prior art keywords
- maritime
- data
- service
- electronic chart
- space
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000003993 interaction Effects 0.000 title claims abstract description 13
- 238000004458 analytical method Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000009826 distribution Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 3
- 230000008520 organization Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 12
- 238000004364 calculation method Methods 0.000 abstract description 6
- 238000013500 data storage Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000007474 system interaction Effects 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 108091026890 Coding region Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000009395 breeding Methods 0.000 description 1
- 230000001488 breeding effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012732 spatial analysis Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Traffic Control Systems (AREA)
Abstract
The invention discloses a distributed electronic chart information system based on a gPC (graphics guide PC) and an information interaction method. Aiming at various maritime affair space-time data, a distributed space-time data engine is constructed based on a space-time index, a NoSQL database and a distributed memory calculation engine; the electronic chart application client calls a maritime service process through the gRPC and obtains a calling result; the maritime service end is a service end process constructed based on the gRPC; the maritime data server side registers the service in the service registration center and generates a corresponding service registration table, and the electronic chart application client side can subscribe to a corresponding service address through service discovery. The invention can realize the distributed cross-process processing of the maritime space-time big data, greatly improves the distributed analysis capability of the maritime space-time big data, and provides powerful information support for the efficient supervision of maritime departments.
Description
Technical Field
The invention relates to the technical field of electronic charts, in particular to a distributed electronic chart information system based on a gPC (graphics guide PC) and an information interaction method.
Background
The electronic chart display and information system ECDIS is a chart display system conforming to international standards, and is an application system specially used for displaying official electronic chart ENC (electronic Navigation charts), wherein ENC is used as a standard chart data format storage file, and chart data information is manufactured by an official authorized channel measuring unit. The ENC not only contains the chart information for ensuring the safe navigation of the ship, but also contains other necessary additional information, and supplements the information of the paper chart. The electronic chart expresses the spatial distribution and the mutual relation of ocean areas based on means such as mathematics, a symbolic system, drawing and the like, forms an ocean information carrier, guarantees the effective transmission of ocean information, and provides a basis for ocean analysis.
At present, due to the limitation of a programming language framework, a chart application program is separated from other platform analysis application programs (such as an AIS track prediction program based on TensorFlow, an AIS track database based on HBase and the like) across processes and is difficult to organically form a whole, and data storage and analysis programs such as AIS massive ship tracks and ocean geographic information become mature. How to effectively integrate the chart application program and various analysis application programs into an organic whole provides an electronic chart display and information system which takes an electronic chart as a core and interacts with different analysis functional units (namely analysis services) in a unified and universal way for users, and becomes a problem to be solved urgently.
Disclosure of Invention
In view of this, the invention aims to provide a gRPC-based distributed electronic chart information system and an information interaction method, which can realize distributed cross-process processing of maritime space-time big data, display big data processing based on the intuitive advantages of an electronic chart, provide powerful information support for efficient supervision of maritime departments, and provide a servitized information system for space-time analysis, data production and visual aid decision of maritime big data.
Therefore, the invention provides the following technical scheme:
the invention provides a distributed electronic chart information system based on gRPC, comprising:
calling a maritime service process through the gRPC and obtaining an electronic chart application client of a calling result; the electronic chart application client comprises a chart application program or a chart data analysis program which takes the electronic chart as a core;
a distributed maritime spatiotemporal data engine for providing various maritime spatiotemporal data;
the maritime data server is used for providing various maritime services based on the maritime space-time data in the distributed maritime space-time data engine; the maritime data server is a server process constructed based on gRPC; and the number of the first and second groups,
and the service registration center is used for registering the marine service by the marine data service terminal and receiving the application of the electronic chart application client terminal and discovering the marine service.
Further, still include: and the proxy server is used for proxying the calling marine service request of the electronic chart application client to the marine data server and proxying the calling result of the marine data server to the electronic chart application client.
Further, the establishment of the distributed maritime space-time data engine comprises:
the marine big data is divided into ENC space data, ENC attribute data, ship registration data, AIS navigation data, hydrological meteorological data and tide data by analyzing the composition of the actual navigation environment elements of the ship;
designing indexes aiming at various data types, and constructing a maritime affair time-space database facing NoSQL;
a conversion operator supporting JTS topology is designed based on a Spark distributed memory computing engine, so that a maritime space-time data operation function is constructed, and a maritime space-time data engine is finally formed.
Further, the index includes a spatio-temporal element index and a non-spatio-temporal element index; designing an index for each data type, including:
aiming at the space-time element index, designing a point index in the maritime data based on a Z-Ordering filling curve; designing a line index and a face index in the marine data based on the XZ-Ordering filling curve;
aiming at non-space-time element indexes, designing according to an index method based on the characteristics of the elements, wherein the index method comprises at least one of the following steps: a combination key method, partial key scan, bloom filter.
Further, the maritime data service includes at least one of: the method comprises the steps of speed distribution analysis, ship quantity distribution analysis, ship traffic organization, ship space distribution analysis and ship track prediction.
The invention also provides a gPRC-based distributed electronic chart information interaction method, which is applied to the gPRC-based distributed electronic chart information system and comprises the following steps:
the maritime data server side calls the maritime space-time data engine to generate various maritime services;
the maritime data server registers various maritime services generated by the maritime data server to the service registration center;
the electronic chart application client inquires the required maritime affair service from the service registration center;
the registration service center analyzes the maritime service required by the query, and then distributes a service port to the electronic chart application client;
after receiving the service port information returned from the service registration center, the electronic chart application client sends a maritime service calling request comprising the service port information to the maritime data server;
after receiving the maritime service calling request, the maritime data server processes the maritime service calling request and returns a calling result to the electronic chart application client;
and the electronic chart application client receives the calling result.
Further, the sending, by the electronic chart application client, the marine service call request including the service port information to the marine data service end includes:
the electronic chart application client sends a maritime service calling request comprising service port information to the maritime data server through the proxy server;
correspondingly, the marine data server returns the calling result to the electronic chart application client, and the method comprises the following steps:
and the maritime data server returns the calling result to the electronic chart application client through the proxy server.
Further, after receiving the call result, the electronic chart application client further includes: and displaying the calling result.
According to the technical scheme, the distributed cross-process processing of the maritime space-time big data is realized by adopting the gPC distributed framework, and an information system taking electronic charts such as electronic chart information display, port information application, AIS application, navigation mark application and the like as cores is constructed, so that powerful information support can be provided for the maritime department to efficiently supervise, and the service information can be provided for the space-time analysis, data production and visual auxiliary decision of the maritime big data.
Drawings
In order to more clearly illustrate the embodiments of the present invention 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, and it is obvious that the drawings in the following description are some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is an architecture diagram of a gRPC-based distributed electronic chart information system in an embodiment of the present invention;
FIG. 2 is a diagram of elements of a maritime space-time database in accordance with an embodiment of the present invention;
FIG. 3 is a schematic view of a Z-ordering curve in an embodiment of the present invention;
in fig. 3, (a) represents Z-Ordering (r ═ 1); (b) represents Z-Ordering (r ═ 2); (c) represents Z-Ordering (r ═ 3);
FIG. 4 is a schematic view of XZ-Ordering in an embodiment of the present invention; (a) a schematic diagram representing an expanded cell; (b) represents XZ-Ordering;
FIG. 5 is a diagram of a maritime spatiotemporal data engine architecture in an embodiment of the present invention;
FIG. 6 is a schematic diagram of spatial analysis of SpatialRDD according to an embodiment of the present invention;
fig. 7 is a flowchart of a distributed electronic chart information interaction method in the embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, 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 invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
In order to solve the problem of communication among program processes such as chart-like programs, analysis and prediction, Remote Procedure Call (RPC) realizes communication among different application program processes through a network. The gPC is a modern, open-source, high-performance Remote Procedure Call (RPC) framework that can be run anywhere, and enables two applications, namely a client and a server, to transparently communicate, and enables a connected system to be easily constructed, which provides possibility for the implementation of a distributed electronic chart information system. At present, related research on gRPC is less, and most of the research focuses on identity verification, load balancing, log recording, monitoring and the like. Based on the above, the invention provides a distributed electronic chart information system based on gRPC, which is mainly used for fusion and processing of maritime space-time big data taking an electronic chart as a core, provides service information for space-time analysis, data production and visual aid decision-making of the maritime big data, and can be used in the fields of maritime traffic, maritime fishing and breeding industry, ocean resource development, ocean engineering construction, ocean scientific research and the like.
Referring to fig. 1, a gRPC-based distributed electronic chart information system in an embodiment of the present invention is shown, including: the system comprises an electronic chart application client, a distributed maritime space-time data engine, a maritime data server and a service registration center. The electronic chart application client calls a maritime service process from the maritime data server through the gRPC and obtains a calling result, and meanwhile, the electronic chart application client also comprises a corresponding client stub to realize the message receiving and sending and unpacking of the client; interaction on different electronic chart application clients can be realized based on the gRPC; the electronic chart application client comprises a chart application program or chart data analysis program which takes the electronic chart as a core; the distributed maritime space-time data engine is used for providing various maritime space-time data; the maritime data server is used for providing various maritime services based on maritime space-time data in the distributed maritime space-time data engine, is a server process constructed based on gRPC, and simultaneously comprises a corresponding server stub to realize message receiving and sending and unpacking of the server; the service registration center is used for the marine data service side to register the marine service and receive the application of the electronic chart application client side and discover the marine service.
Preferably, in another embodiment, in addition to the above components, the system further includes a proxy server, configured to proxy the calling marine service request of the electronic chart application client to the marine data server, and further configured to proxy the calling result of the marine data server to the electronic chart application client.
For specific implementation, the gRPC-based distributed electronic chart information system can be divided into three parts, including: maritime space-time data engine, maritime data service and gPC-based electronic chart information interaction.
Maritime space-time data engine
The construction of a maritime space-time data engine is the primary link of a distributed electronic chart information system, maritime big data is divided into 6 categories of ENC space data, ENC attribute data, ship registration data, AIS (automatic identification system) navigation data, hydrological meteorological data, tidal data and the like by analyzing the composition of actual navigation environment elements of a ship, each data source passes through design points, lines and a time-space index, so that a maritime space-time database facing NoSQL is constructed, a conversion operator supporting JTS (joint test set) topology is designed on the basis of a Spark distributed memory computing engine, so that a maritime space-time data operating function is constructed, and the maritime space-time data engine is finally formed.
As shown in fig. 2, a maritime space-time data engine, which is divided into two parts from bottom to top, includes: (1) the bottom layer takes a NoSQL database as data storage and takes Spark as a calculation engine; (2) the upper layer drives Spark downwards to read and write the NoSQL database, and maritime space-time data storage and indexing are achieved. Designing an RDD providing program, providing a maritime space-time data basic read-write unit, realizing maritime space-time data storage and query operation, and providing an RDD calculation program interface externally.
Firstly, storing the 6 types of data into a bottom NoSQL database, and designing a space-time element index and a non-space-time element index to improve the data query efficiency. The spatiotemporal index is an index for data such as a time stamp and a geographical position in the marine data, and the non-spatiotemporal index is an index for non-spatiotemporal features such as a ship attribute in the marine data.
The space-time element index of the maritime data is based on Z-order filling curve design maritime affairsIndexes of relevant points such as ship tracks and target objects of Z2-Point (x, y) and Z3- (Point (x, y) and TimeStamp (t)) in the data, and XZ2-Line (p) in the maritime data are designed based on XZ-Ordering filling curves1,p2,…,pn)、XZ3-(Line(p1,p2,…,pn) The ship track line, water depth line, etc. of TimeStamp (t) and XZ2-Polygon (l)1,l2,…,ln)、XZ2-(Polygon(l1,l2,…,ln) The anchor of TimeStamp (t), the index of the relevant surface such as the navigation channel. The specific method comprises the following steps:
1. spatial point indexing:
as shown in FIG. 3, the Z-ordering curve divides the quadrant into four sub-quadrants based on the recursive idea, and the number relationship of the sub-quadrants is as follows: subqn=2r+1(r∈N*)。
Numbered from 0 to 3 as shown in fig. 3(a), and recursively encodes all sub-quadrants in turn.
The coding sequence, again as shown in fig. 3(b), is digitized based on the dichotomy concept, i.e. each binary code is used in a series of divisions, considering one bit at a time, proceeding bit by bit from left to right. For latitude values, the spacing of-90 to +90 is divided by 2, yielding two spacings-90 to 0 and 0 to + 90. Since the first bit is a 1, the higher interval is selected and becomes the current interval. This process is repeated for all bits in the code. Finally, the latitude value is the center of the result interval. Longitudes are handled in the same way, with an initial interval of-180 to + 180. Its binary sequence can be obtained.
Referring again to the code sequence shown in fig. 3(c), when r is 3, the number of sub-quadrants subqn=2416, it can be seen that as r increases, the number of sub-quadrants increases exponentially, so that a high-precision coding sequence can be formed for global key sea areas, especially ocean key sea areas, for distributed index design, and efficient query for ocean key sea areas and other ocean map interest points is realized.
2. Line \ surface index:
for line elements such as a water depth line and a ship trajectory line in a chart and plane elements such as an anchor ground and a berth, the two types of space expansion objects generally have length and area attributes, so that the space expansion objects cannot be uniquely represented by longitude and latitude. If the indexing is continued by using the above-mentioned Z-Ordering curve, the correct index coding cannot be determined when the smaller line and plane elements appear at the very center of the space. To this end, an XZ-Ordering curve is introduced which satisfies:
(1) the basic cell is a Z-Ordering cell that extends 50% in the right up and right directions. As shown in fig. 4 (a).
(2) The number of elements and the number of cells coincide, i.e. the border also extends outwards.
(3) When the XZ curve is used for storing the elements, redundant storage is not carried out, namely, a single element is only stored in one element.
According to the above method, O in FIG. 4(b)1The object is indexed by "303", O2The water depth is determined by the "00" cell.
The non-spatio-temporal element index of the marine data is designed based on the characteristics of the elements, and the characteristics comprise: ship MMSI, ship manufacturing date, etc. In order to avoid the read-write hot spot problem of the distributed database and improve the query efficiency, the following indexing method is provided:
(1) high table first. Namely, the index is constructed based on the combination key method, for example: reverse (mmsi) -timemap, propellerNums + mmsi, draught + mmsi, etc.
(2) Partial key scan. For example: reverse (mmsi) as start key (scan all records for a given mmsi), propellernus as start key (scan all records for a given propellernus), draught as start key (scan all records for a given draught).
(3) And a bloom filter. In some marine data query scenes, whether a given mmi exists or not is queried, but relevant attributes corresponding to the mmi are not needed, whether a Boolean value exists or not can be obtained more quickly based on a bloom filter, and system performance can be greatly improved.
Secondly, the above process is modeled by an architecture (taking MongoDB as an example), the modeling framework is as shown in fig. 5, and the bottom layer takes a MongoDB distributed node as a storage node and combines a Spark distributed computing engine as a computing driver. The upper layer is packaged based on the principle of high cohesion and low coupling, and three layers of metadata, indexes and query plans related to data storage are used as three support modules of a data storage layer, wherein a metadata management module is mainly responsible for managing maritime big data metadata, an index layer is mainly responsible for managing the adaptation of the related indexes to a bottom storage node, and a query plan layer is responsible for realizing the report summarization of an index query process. And further designing an RDD providing program downwards, providing a maritime space-time data basic read-write unit, realizing maritime space-time data storage query operation, and providing an RDD read-write calculation program interface for the storage of a bottom database. And further providing maritime space-time data analysis API service upwards and providing a maritime space-time data analysis interface outwards.
Finally, an RDD operator calculation program is further provided based on the above basis, and the provided RDD operator is subjected to intermediate conversion such as difference, intersection, union, buffering, and the like, and the specific flow is shown in fig. 6. The whole process is divided into three parts: the MongoDB space RDD provides programs (MongoDBPatialRDDProvider), RDD operator operation and analysis results. The MongoDBPatialRDDProvider is a development interface facing to the highest coupling of MongoDB, realizes operations such as CRUD, a connection pool, a query plan and the like of the MongoDB, further encapsulates a Spark-oriented distributed RDD related interface on the basis, and realizes the conversion from a MongoDB document to an RDD, thereby integrating a distributed memory computing framework for the MongoDB document. The RDD operator operation mainly comprises an input operator, a transformation operator and an action operator, wherein the input operator is an initial result of the MongoDB document after being converted by the MongoDBPatialRDDProvider, JTS space operations such as difference, intersection, combination, buffering and the like are further packaged to form a JTS topological component, the JTS topological component is used as a relay node of the action operator as the transformation operator, the relay node of the action operator is an analysis result, and the action operator is mainly responsible for inductive calculation of a series of transformation operation topological graphs formed by the transformation operator, finally forms summary and distributes calculation resources for calculation.
Maritime data service
The maritime data service is a necessary link of the distributed electronic chart information system, and the maritime data service end is based on a maritime space-time data engine to construct various maritime data service forms based on codes (such as C + +, Java, Python and the like) locally at the service end. The maritime space-time data engine is used for realizing services such as ship speed distribution analysis, ship quantity distribution analysis, ship traffic organization, ship space distribution analysis, ship track prediction and the like, so that diversified data analysis mining services are provided for the client. The electronic chart client can call the maritime affairs services through the gRPC and obtain the calling result, so as to endow the maritime affairs space-time data with practical meaning to the service-oriented computing architecture. The specific contents of the service are as follows:
TABLE 3
TABLE 4
TABLE 5
TABLE 6
TABLE 7
TABLE 8
(III) gPC-based electronic chart information system interaction
The gRPC-based electronic chart information system interaction is the final form of a distributed electronic chart information system, and the electronic chart information system interaction process comprises the following steps: (1) the maritime service terminal calls a maritime space-time data engine to construct a maritime service and registers the maritime service to the service registration center; (2) the service registration center receives the application of the electronic chart application client and discovers the service; (3) the electronic chart application client obtains the operation result of the server through gRPC calling and displays the operation result locally.
Referring to fig. 7, the interaction process of the gRPC-based distributed electronic chart information system in the embodiment of the present invention mainly includes the following steps:
s1, the maritime data server side calls a maritime space-time data engine to generate various maritime services;
s2, the maritime data server side registers various maritime services generated by the service registration center;
in S1-S2, the maritime data server generates a distributed maritime service at the server by using a maritime space-time data engine, that is, the same service is deployed on multiple nodes of the server to adapt to possible concurrency scenarios; the same service shares one port, and the proxy server manages a plurality of ports; the maritime data server side registers the maritime services in the service registration center and generates a corresponding service registration table, and the electronic chart application client side can subscribe to a corresponding service address through discovering services. The decoupling of the marine data service end and the electronic chart application client is realized through the service registration center, the load of the marine data service end is reduced, and the marine service end can register the existing service name and the port number of the service to the service registration center so that the service registration center can discover the service. The service registration center is responsible for marine data service discovery, and service calculation processing and application of marine space-time data are achieved through effective contact between a middle-layer service registration center server side and a client side. The maritime data server in the embodiment of the invention has the advantages of strong expandability, high application efficiency, capability of coping with the change of the relevant space data of the future ship and good flexibility.
S3, the electronic chart application client inquires the required service from the service registry;
s4, the registration service center analyzes and inquires the needed maritime service, and distributes a service port to the electronic chart application client;
in S3-S4, the service registry is responsible for discovering services, and after receiving the request of the electronic chart application client, the service registry analyzes the maritime service required by the query, and then allocates a connection port to the electronic chart application client. For example: when receiving a request message of an electronic chart application client for ship track prediction, a service registration center needs to analyze the received message to determine that the ship track prediction service is needed, and the registration service center inquires port information of the ship track prediction service registered by a maritime affairs service end and returns the port information to the electronic chart application client.
S5, after receiving information such as a service port returned from the service registration center, the electronic chart application client packs the relevant information by the client stub and sends the information to the proxy server, and the client stub starts to block and then is positively proxied to the maritime data server by the proxy server;
s6, the maritime data server receives the request;
s7, processing the request by the marine data service terminal;
s8, after the server end finishes processing, returning the result;
in S5-S8, the information sent by the client stub includes service port information obtained by the electronic chart client and data provided by the user, after the server port receives a request, the server proxy server realizes load balancing to ensure high concurrency of the maritime data server, and after the service operation is finished, the server proxy server reversely proxies the calling result to the electronic chart application client. The introduction of the proxy server realizes the forward proxy of the electronic chart application client request (such as gPRC calling and discovery service) to the target port, and simultaneously realizes the reverse proxy of the marine data server, thereby ensuring the high concurrency and high security of the marine data server. Continuing to use the above example, when accessing to the service port requesting the ship track prediction, the service-side proxy server reasonably allocates the service nodes, calls the ship track prediction Python program on the corresponding service node, and returns the response message of the operation result to the client.
S9, the proxy server receives the processing result returned by the marine data server and returns the processing result to the corresponding electronic chart application client, and the client stub ends the blocking;
and S10, the electronic chart application client receives and displays the processing result.
The embodiment of the invention adopts a gPC distributed framework, can realize distributed cross-process processing of maritime space-time big data, constructs an information system taking electronic nautical charts such as electronic nautical chart information display, port information application, AIS application, navigation mark application and the like as cores, can provide powerful information support for efficient supervision of maritime departments, and provides service information for space-time analysis, data production and visual auxiliary decision of maritime big data.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.
Claims (8)
1. A distributed electronic chart information system based on gRPC is characterized in that the system mainly comprises:
calling a maritime service process through the gRPC and obtaining an electronic chart application client of a calling result; the electronic chart application client comprises a chart application program or a chart data analysis program which takes the electronic chart as a core;
a distributed maritime spatiotemporal data engine for providing various maritime spatiotemporal data;
the maritime data server is used for providing various maritime services based on the maritime space-time data in the distributed maritime space-time data engine; the maritime data server is a server process constructed based on gRPC; and the number of the first and second groups,
and the service registration center is used for registering the marine service by the marine data service terminal and receiving the application of the electronic chart application client terminal and discovering the marine service.
2. A gRPC-based distributed electronic chart information system according to claim 1, further comprising: and the proxy server is used for proxying the calling marine service request of the electronic chart application client to the marine data server and proxying the calling result of the marine data server to the electronic chart application client.
3. A gRPC-based distributed electronic chart information system according to claim 1, wherein the establishment of the distributed maritime space-time data engine includes:
the marine big data is divided into ENC space data, ENC attribute data, ship registration data, AIS navigation data, hydrological meteorological data and tide data by analyzing the composition of the actual navigation environment elements of the ship;
designing indexes aiming at various data types, and constructing a maritime affair time-space database facing NoSQL;
a conversion operator supporting JTS topology is designed based on a Spark distributed memory computing engine, so that a maritime space-time data operation function is constructed, and a maritime space-time data engine is finally formed.
4. A gRPC-based distributed electronic chart information system according to claim 3, wherein the index includes a spatiotemporal element index and a non-spatiotemporal element index; designing an index for each data type, including:
aiming at the space-time element index, designing a point index in the maritime data based on a Z-Ordering filling curve; designing a line index and a face index in the marine data based on the XZ-Ordering filling curve;
aiming at non-space-time element indexes, designing according to an index method based on the characteristics of the elements, wherein the index method comprises at least one of the following steps: a combination key method, partial key scan, bloom filter.
5. A gRPC-based distributed electronic chart information system according to claim 1, wherein the maritime data services include at least one of: the method comprises the steps of speed distribution analysis, ship quantity distribution analysis, ship traffic organization, ship space distribution analysis and ship track prediction.
6. A gPRC-based distributed electronic chart information interaction method is applied to the gPRC-based distributed electronic chart information system according to any one of claims 1-5, and comprises the following steps:
the maritime data server side calls the maritime space-time data engine to generate various maritime services;
the maritime data server registers various maritime services generated by the maritime data server to the service registration center;
the electronic chart application client inquires the required maritime affair service from the service registration center;
the registration service center analyzes the maritime service required by the query, and then distributes a service port to the electronic chart application client;
after receiving the service port information returned from the service registration center, the electronic chart application client sends a maritime service calling request comprising the service port information to the maritime data server;
after receiving the maritime service calling request, the maritime data server processes the maritime service calling request and returns a calling result to the electronic chart application client;
and the electronic chart application client receives the calling result.
7. The gRPC-based distributed electronic chart information interaction method of claim 6, wherein the electronic chart application client sends a marine service call request including service port information to the marine data service, including:
the electronic chart application client sends a maritime service calling request comprising service port information to the maritime data server through the proxy server;
correspondingly, the marine data server returns the calling result to the electronic chart application client, and the method comprises the following steps:
and the maritime data server returns the calling result to the electronic chart application client through the proxy server.
8. The gRPC-based distributed electronic chart information interaction method of claim 6, wherein after the electronic chart application client receives the call result, the method further comprises: and displaying the calling result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110721634.6A CN113434622A (en) | 2021-06-28 | 2021-06-28 | gPC-based distributed electronic chart information system and information interaction method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110721634.6A CN113434622A (en) | 2021-06-28 | 2021-06-28 | gPC-based distributed electronic chart information system and information interaction method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113434622A true CN113434622A (en) | 2021-09-24 |
Family
ID=77755195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110721634.6A Pending CN113434622A (en) | 2021-06-28 | 2021-06-28 | gPC-based distributed electronic chart information system and information interaction method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113434622A (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1746913A (en) * | 2005-07-21 | 2006-03-15 | 大连海事大学 | Ship state symbol identification system based electronic sea chart |
CN202257669U (en) * | 2011-08-26 | 2012-05-30 | 中华人民共和国深圳海事局 | VTS system comprehensive information platform |
US20180020056A1 (en) * | 2015-03-04 | 2018-01-18 | Furuno Electric Co., Ltd. | Data processing system and method to use the data processing system |
CN108509282A (en) * | 2018-02-08 | 2018-09-07 | 厦门快商通信息技术有限公司 | Across the language call service administering methods of rpc based on golang reflection technologies |
CN112862321A (en) * | 2021-02-08 | 2021-05-28 | 国家海洋信息中心 | Ocean transportation statistical system based on AIS big data and statistical method thereof |
-
2021
- 2021-06-28 CN CN202110721634.6A patent/CN113434622A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1746913A (en) * | 2005-07-21 | 2006-03-15 | 大连海事大学 | Ship state symbol identification system based electronic sea chart |
CN202257669U (en) * | 2011-08-26 | 2012-05-30 | 中华人民共和国深圳海事局 | VTS system comprehensive information platform |
US20180020056A1 (en) * | 2015-03-04 | 2018-01-18 | Furuno Electric Co., Ltd. | Data processing system and method to use the data processing system |
CN108509282A (en) * | 2018-02-08 | 2018-09-07 | 厦门快商通信息技术有限公司 | Across the language call service administering methods of rpc based on golang reflection technologies |
CN112862321A (en) * | 2021-02-08 | 2021-05-28 | 国家海洋信息中心 | Ocean transportation statistical system based on AIS big data and statistical method thereof |
Non-Patent Citations (1)
Title |
---|
周毅仪: "基于多源海道测绘数据库的海事空间信息服务研究", 《测绘通报》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309264A (en) | The method and apparatus of knowledge based map acquisition geographic products data | |
CN101866345A (en) | Be used to exchange the method and system of the location conten data under the different data format | |
Moshrefzadeh et al. | Towards a distributed digital twin of the agricultural landscape | |
CN111190982B (en) | Big data-based shared bicycle management method and system | |
CN102184311A (en) | Mobile personal digital assistant (PDA) field emergency command system | |
CN104539681A (en) | Distributed GIS accelerating system and GIS service processing method | |
CN102469112B (en) | Position tracking implementation method, Apparatus and system | |
Zhou et al. | An efficient access model of Massive spatiotemporal Vehicle trajectory data in Smart City | |
CN111402400A (en) | Pipeline engineering display method, device, equipment and storage medium | |
CN111245945A (en) | Marine oil spilling supervisory systems based on buoy and unmanned aerial vehicle control | |
CN1787521B (en) | Method for registration of web covering service coordinate based on web map service | |
CN117407951A (en) | BIM model processing method, server and storage medium | |
CN111949706A (en) | Land big data distributed mining analysis-oriented storage method | |
CN113434622A (en) | gPC-based distributed electronic chart information system and information interaction method | |
CN116383328A (en) | Fusion processing method for surveying and mapping geographic multivariate data | |
CN103595968A (en) | Video sensor access method based on geographical position | |
Jobst et al. | Accessing spatial knowledge networks with maps | |
CN115408406A (en) | High-density ship position dynamic rendering system based on map service | |
CN1787522B (en) | Method for registration of web key element service coordinate based on web map service | |
Chen et al. | A dynamic classification pattern of spatial statistical services using formal concept analysis | |
Yang et al. | Research on Domain Variable Identification among Different Data Cubes | |
Guigoz et al. | SCOPED‐W: SCalable Online Platform for extracting Environmental Data and Water‐related model outputs | |
Nativi et al. | Enabling interoperability for Digital Earth: Earth Science coverage access services | |
Bhattacharya et al. | Distributed GIS for automated natural hazard zonation mapping Internet-SMS warning towards sustainable society | |
Rustad et al. | Exposing military sensor data using SpatioTemporal Asset Catalog (STAC) |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210924 |