CN113453340A - Service method, server cluster and LoRaWAN network system - Google Patents
Service method, server cluster and LoRaWAN network system Download PDFInfo
- Publication number
- CN113453340A CN113453340A CN202010215305.XA CN202010215305A CN113453340A CN 113453340 A CN113453340 A CN 113453340A CN 202010215305 A CN202010215305 A CN 202010215305A CN 113453340 A CN113453340 A CN 113453340A
- Authority
- CN
- China
- Prior art keywords
- server
- physical
- logical
- servers
- uplink message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 claims abstract description 59
- 238000012423 maintenance Methods 0.000 claims description 19
- 238000011144 upstream manufacturing Methods 0.000 claims description 2
- 238000002955 isolation Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 230000007246 mechanism Effects 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
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/52—Allocation or scheduling criteria for wireless resources based on load
-
- 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/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/53—Allocation or scheduling criteria for wireless resources based on regulatory allocation policies
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
A service method, a server cluster and a LoRaWAN network system are disclosed. The server cluster is used for receiving uplink messages sent by LoRa nodes, wherein the server cluster comprises a plurality of physical servers, the physical servers are divided into a plurality of logical servers, each logical server comprises one or a plurality of physical servers, the logical servers correspond to one or a plurality of clients, the clients subscribe to one or a plurality of LoRa nodes, and the physical servers forward the uplink messages or data obtained by analyzing the uplink messages to the logical servers corresponding to the clients subscribing to the LoRa nodes sending the uplink messages under the condition that the LoRa nodes corresponding to the received uplink messages do not belong to the LoRa nodes subscribed to the logical servers corresponding to the logical servers where the physical servers are located. Therefore, the tenant isolation effect can be achieved, and meanwhile the resource occupation of the server is reduced.
Description
Technical Field
The present disclosure relates to the field of communications, and in particular, to a service method, a server cluster, and a LoRaWAN network system.
Background
The communication network generally consists of an access network, a bearer network and a core network. The access network is a window and is responsible for receiving uplink data sent by the terminal node; the carrying network is a truck and is responsible for sending data; the core network is the "management hub" responsible for managing data. Further, the core network mainly provides connection and management of the network and completes bearer for the application, and provides an interface to an external network as a bearer network.
Taking a LoRaWAN network as an example, the LoRa base station is equivalent to an access network, and is configured to receive an uplink packet sent by the LoRa node and forward the uplink packet to a core network through a WiFi, 4G, 5G, or other bearer network. The user can acquire data of the LoRa node through the subscription service. For example, a user may subscribe to data of the LoRa node through a subscription service provided by a particular platform, where the user may grant the platform access to its Message Queue (MQ). When the LoRa node sends an uplink message, the core network transfers the relevant data stream to the MQ of the user.
In the above process, the core network may create a Producer for the user to send the message. As the number of users gradually increases with time, a large number of producers exist in the core network system. Each Producer creates multiple threads (occupying system resources), resulting in a very large total number of threads in the core network.
Since the uplink message of the LoRa node randomly requests any one of the servers in the core network, each server creates a Producer for the user to send data to the user. When the number of users develops to a certain extent, the system resources occupied by creating the Producer will exceed the performance limit of the core network, resulting in the crash of the core network system.
Therefore, a service scheme capable of reducing resource occupation of the servers in the core network is needed.
Disclosure of Invention
One technical problem to be solved by the present disclosure is to provide a service scheme capable of reducing resource occupation of a server in a core network.
According to a first aspect of the present disclosure, a server cluster is provided, configured to receive an upstream packet sent by a LoRa node, wherein the server cluster comprises a plurality of physical servers divided into a plurality of logical servers, each of the logical servers comprising one or more physical servers, the logical server corresponds to one or more clients, the clients subscribe to one or more LoRa nodes, when the LoRa node corresponding to the received uplink packet does not belong to the LoRa node subscribed by the client corresponding to the logical server where the physical server is located, and the physical server forwards the uplink message or the data obtained by analyzing the uplink message to a logic server corresponding to a client subscribing to the LoRa node sending the uplink message.
According to a second aspect of the present disclosure, there is also provided a LoRaWAN network system, including: a LoRa node; an LoRa gateway; the LoRa gateway is configured to forward an uplink packet sent by the LoRa node to a physical server in the server cluster.
According to the third aspect of the present disclosure, there is also provided a server cluster, configured to receive an uplink packet sent by a terminal node, wherein the server cluster comprises a plurality of physical servers divided into a plurality of logical servers, each of the logical servers comprising one or more physical servers, the logical server corresponds to one or more clients, the clients are subscribed to one or more terminal nodes, when the terminal node corresponding to the received uplink message does not belong to the terminal node subscribed by the client corresponding to the logical server where the physical server is located, and the physical server forwards the uplink message or the data obtained by analyzing the uplink message to a logic server corresponding to a client subscribing the terminal node sending the uplink message.
According to a fourth aspect of the present disclosure, there is also provided a service method, including: dividing a plurality of physical servers into a plurality of logical servers, each of the logical servers including one or more physical servers; configuring one or more clients for each logic server, wherein the clients subscribe to one or more LoRa nodes; and under the condition that the LoRa node corresponding to the received uplink message by the physical server does not belong to the LoRa node subscribed by the client corresponding to the logical server where the physical server is located, controlling the physical server to forward the uplink message or the data obtained by analyzing the uplink message to the logical server corresponding to the client subscribing to the LoRa node sending the uplink message.
According to a fifth aspect of the present disclosure, there is also provided a service method, including: dividing a plurality of physical servers into a plurality of logical servers, each of the logical servers including one or more physical servers; configuring one or more clients for each logic server, wherein the clients subscribe to one or more terminal nodes; and under the condition that the terminal node corresponding to the received uplink message by the physical server does not belong to the terminal node subscribed by the client corresponding to the logical server where the physical server is located, controlling the physical server to forward the uplink message or the data obtained by analyzing the uplink message to the logical server corresponding to the client subscribing to the terminal node sending the uplink message.
According to a sixth aspect of the present disclosure, there is provided a computing device comprising: a processor; and a memory having executable code stored thereon, which when executed by the processor, causes the processor to perform the method of the fourth or fifth aspect as described above.
According to a seventh aspect of the present disclosure, there is provided a non-transitory machine-readable storage medium having stored thereon executable code which, when executed by a processor of an electronic device, causes the processor to perform the method of the fourth or fifth aspect as described above.
Therefore, the server cluster is divided into the logic servers corresponding to the specific clients, and directional circulation is performed among the servers, so that the tenant isolation effect is achieved, the user quantity is linearly increased through horizontal expansion, and the resource occupation of the servers is reduced.
Drawings
The above and other objects, features and advantages of the present disclosure will become more apparent by describing in greater detail exemplary embodiments thereof with reference to the attached drawings, in which like reference numerals generally represent like parts throughout.
Fig. 1 shows a schematic diagram of a service method according to an embodiment of the present disclosure.
Fig. 2 shows a schematic structural diagram of a server cluster according to an embodiment of the present disclosure.
Fig. 3 shows a schematic diagram of the heartbeat times of the logical servers and the physical servers within the logical servers recorded by the state maintenance device.
FIG. 4 shows a schematic structural diagram of a computing device according to an embodiment of the present disclosure.
Detailed Description
Preferred embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While the preferred embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The core network in a communication network comprises a plurality of servers, which may be referred to as a server cluster or a core network cluster. Uplink data (such as an uplink message) sent by the terminal node can be received by the access network and sent to the core network by the access network through the bearer network, wherein the uplink data can be randomly sent to any one server in the server cluster.
Taking a LoRaWAN network as an example, the terminal node mentioned in the present disclosure is an LoRa node, the access network is an LoRa base station, and the bearer network may be, but is not limited to, WiFi, 4G, 5G, etc. A client (i.e., a user) may subscribe to one or more LoRa nodes through a specific platform, so that the core network sends data of the LoRa nodes to the client.
In order to reduce resource occupation of the servers in the server cluster, the present disclosure proposes that a plurality of servers (which may be physical servers for convenience of differentiation) in the server cluster are divided into a plurality of logical servers by a client (that is, a client subscribing to the LoRa node) which may provide a service to the client as needed, where each logical server corresponds to one or more clients.
As an example, the physical servers in a client cluster may be partitioned according to client priority. For example, a user corresponding to a client may be divided into an important client and a general client, for the important client, a logical server composed of a first number of physical servers may be set, for the general client, a logical server composed of a second number of physical servers may be set, and the first number is greater than the second number.
In the present disclosure, each logical server includes one or more physical servers. A physical server refers to a real and independent server, and a logical server is composed of one or more physical servers. Different logical servers may share one or more of the same physical servers.
An access network (such as an LoRa base station) may randomly send an uplink packet sent by a terminal node (such as an LoRa node) to any physical server in a server cluster through a bearer network (such as WiFi, 4G, etc.).
After receiving the uplink packet, the physical server may determine whether the uplink packet is sent by a terminal node subscribed by a client corresponding to the logical server where the physical server is located.
When the terminal node corresponding to the received uplink packet belongs to the terminal node subscribed by the client corresponding to the logical server where the physical server is located, the physical server may send the uplink packet or data obtained by analyzing the uplink packet to the client. As an example, the physical server may send the uplink packet or data obtained by parsing the uplink packet to a Message Queue (MQ) corresponding to the client. The specific platform can maintain a message queue for the client, and the server can send the uplink message or the data obtained by analyzing the uplink message to the message queue corresponding to the client through communication with the specific platform. The method also supports data disaster tolerance, can perform data backup on the data in the MQ, and can continuously retry according to the backup when the MQ is unavailable.
When the terminal node corresponding to the received uplink packet does not belong to the terminal node subscribed by the client corresponding to the logical server where the physical server is located, the physical server may forward the uplink packet or data obtained by analyzing the uplink packet to the logical server corresponding to the client subscribing to the terminal node that sends the uplink packet.
As an example, the physical server may transfer the uplink packet or the data stream obtained by analyzing the uplink packet to the corresponding logical server in a push mode (push) and/or a pull mode (pull). Alternatively, the request may be directed preferentially through a push mode, which is automatically downgraded to a pull mode upon failure.
Push mode is a technique based on a client/server mechanism, where the server actively sends information to the client, and can be implemented by RPC framework (e.g. Dubbo, HSF). For example, the physical server may publish the uplink packet or data obtained by analyzing the uplink packet to a logical server corresponding to a client subscribing to the LoRa node that sends the uplink packet.
Pull mode is the opposite of push mode, and is a transaction initiated by the client on its own initiative. For example, the physical server may store the uplink packet or the data obtained by analyzing the uplink packet to a predetermined address (e.g., a database queue), and the logical server corresponding to the client of the LoRa node that sends the uplink packet obtains the uplink packet or the data obtained by analyzing the uplink packet from the predetermined address.
Compared with the scheme of creating the Producer for each client on each server, the method and the system have the advantages that the server cluster is divided into the logic servers corresponding to the specific clients, directional circulation is carried out among the servers, the tenant isolation effect is achieved, the user quantity is linearly increased through horizontal expansion, and the resource occupation of the servers is reduced. The tenant isolation means that a multi-tenant technology is used for guaranteeing the logic isolation of the machine, and clients do not interfere with each other.
Fig. 1 shows a schematic diagram of a service method according to an embodiment of the present disclosure.
As shown in fig. 1, the server cluster includes a physical server 10.0.0.1, a physical server 10.0.0.2, a physical server 10.0.0.3, and a physical server 10.0.0.4, and the clients include a client a, a client B, and a client C. The user corresponding to the client a may be a key client, and the users corresponding to the clients B and C may be ordinary clients.
Two physical servers 10.0.0.1 and 10.0.0.3 can be divided for the key client, and a single physical server 10.0.0.2 and a single physical server 10.0.0.4 are respectively divided for the common client. That is, the physical servers 10.0.0.1 and 10.0.0.3 may be divided into logical servers a corresponding to the clients a. The physical server 10.0.0.2 is divided into a logical server B corresponding to the client B, and the physical server 10.0.0.4 is divided into a logical server C corresponding to the client C.
When the uplink packet of the node a subscribed by the client a is received by the physical server 10.0.0.2, the logical server B does not serve the client a because the physical server 10.0.0.2 belongs to the logical server B. Therefore, the physical server 10.0.0.2 may forward the uplink packet or the data obtained by parsing the uplink packet to the logical server a. The physical server 10.0.0.2 may forward the uplink packet or the data obtained by analyzing the uplink packet to any or all physical servers in the logical server a.
Similarly, when the uplink message of node B subscribed by client B is received by physical server 10.0.0.4, logical server C does not serve client B because physical server 10.0.0.4 belongs to logical server C. Therefore, the physical server 10.0.0.4 may forward the uplink packet or the data obtained by parsing the uplink packet to the logical server B (i.e., the physical server 10.0.0.2).
The present disclosure may also set a state maintenance device in the server cluster. The physical server may periodically send a message to the state maintenance device, and the state maintenance device may determine whether the physical server in the logical server is available according to a message receiving condition. For example, the state maintaining device may record the time when the physical server last sent the message, determine whether the time duration between the time and the current time is greater than a first threshold, and determine that the physical server is unavailable when the time duration between the time and the current time is greater than the first threshold. Thus, the state maintenance device can determine the availability state of each physical server in the logical server.
The state maintaining device may be a hardware device that exists independently, or may be a functional module installed in the hardware device. For example, a physical server in a server cluster may be set as a state maintenance device, such as may be enabled by deploying software on the physical server. Optionally, elections can be performed on physical servers in the server cluster, a Master node is selected through voting (distributed consistency protocol such as Raft or Paxos), and the Master node serves as a state maintenance device.
If the LoRa node corresponding to the uplink message received by a certain physical server does not belong to the LoRa node subscribed by the client corresponding to the logical server where the physical server is located, and the physical server in the logical server corresponding to the client of the LoRa node sending the uplink message is unavailable. The physical server receiving the uplink message can forward the uplink message or the data obtained by analyzing the uplink message to a proper logical server according to the load condition of the logical server. For example, the uplink message or the data obtained by analyzing the uplink message may be forwarded to the logic server with the smallest load, and the physical server in the logic server is responsible for sending the uplink message or the data obtained by analyzing the uplink message to the corresponding client. Thus, when a logical server is not available, data can be migrated to the less loaded available logical server through route migration.
Optionally, the logical service may be composed of a plurality of physical servers, which may not only avoid the situation that the logical server is unavailable due to a single machine failure, but also avoid frequent route migration.
Fig. 2 shows a schematic structural diagram of a server cluster according to an embodiment of the present disclosure.
As shown in fig. 2, the physical server 10.0.0.1 and the physical server 10.0.0.2 constitute a logical server LN1, the physical server 10.0.0.2 and the physical server 10.0.0.3 constitute a logical server LN2, and the physical server 10.0.0.4 constitutes a logical server LN 3.
The physical server may periodically send heartbeat packets to the state maintenance device. The state maintenance device may record the last heartbeat time of each logical server and the last heartbeat time of each physical server within the logical server. The state maintenance device can judge whether each physical server in the logic server is disconnected or not according to whether the time interval between the recorded time and the current time exceeds a preset threshold value or not, and judge whether the logic server is available or not.
Fig. 3 shows a schematic diagram of the heartbeat times of the logical servers and the physical servers within the logical servers recorded by the state maintenance device.
As shown in fig. 3, the last heartbeat time of the logical servers LN1, LN2, and LN3 recorded by the initial time state maintenance device is T0. At time T1, when the state maintenance device receives the heartbeat packet sent by the physical server 10.0.0.1, the latest heartbeat time of the logical server LN1 is updated to T1, and the latest heartbeat time of the physical server 10.0.0.1 in the LN1 is updated to T1. At time T2, when the state maintenance apparatus receives the heartbeat packet sent by the physical server 10.0.0.2, the latest heartbeat time of each of the logical servers LN1 and LN2 is updated to T2, and the latest heartbeat time of the physical server 10.0.0.2 of LN1 and LN2 is updated to T2. At time T3, when the state maintenance device receives the heartbeat packet sent by the physical server 10.0.0.3, the latest heartbeat time of the logical server LN2 is updated to T3, and the latest heartbeat time of the physical server 10.0.0.3 in the LN2 is updated to T3. At time T4, when the state maintenance device receives the heartbeat packet sent by the physical server 10.0.0.4, the latest heartbeat time of the logical server LN3 is updated to T4, and the latest heartbeat time of the physical server 10.0.0.4 in the LN3 is updated to T4.
Taking the core network as an example to transfer data to the customer MQ, as shown in the upper diagram, the user a is a key customer, and the user B and the user C are common customers. The core network cluster divides 10.0.0.1 and 10.0.0.3 machines for key customers and 10.0.0.2 and 10.0.0.4 machines for common users, wherein 10.0.0.1 and 10.0.0.3 are taken as logical hosts. User B is bound to a 10.0.0.2 machine and user C is bound to a 10.0.0.4 machine. When the terminal node uplink message of the user B requests 10.0.0.4, 10.0.0.4 will forward the request to the 10.0.0.2 machine.
The server in the cluster is used as a physical host, a plurality of physical hosts can form a logical host, and nodes in the logical host form a copy set. The physical host sends heartbeat to the registration center periodically, the registration center maintains the state of the whole cluster, and once the heartbeat of the node is over time, the node is considered to be off-line.
As shown in the above figure, 10.0.0.1 and 10.0.0.2 constitute logical host LN1, 10.0.0.2 and 10.0.0.3 constitute logical host LN2, and 10.0.0.4 serves as both a physical host and a logical host. The registry maintains the last heartbeat time for each logical host and the last heartbeat time for each physical host in the logical host.
Requests of the same type are routed to the same logical host, and the duplicate sets can avoid frequent migration of the routes due to machine restart or single point failure. If the heartbeat of the logic host is overtime, the bound route can be migrated to the online logic host with the minimum load, and the load balance among the logic hosts is ensured. If the physical host receiving the request does not belong to the logical host of the current route, the request needs to be directionally forwarded. The directional request has two modes of a push mode and a pull mode, the directional request is mainly carried out through the push mode, and once a fault occurs, the directional request is automatically degraded into the pull mode. Push mode: and directly calling through an RPC framework, and distinguishing between the logic hosts by service grouping. Such as Dubbo, HSF. A pull mode: and packaging the request into a data message and storing the data message into a database queue, and simultaneously monitoring a machine group queue and a logic host queue by the logic host.
The present disclosure may be implemented as a LoRaWAN network system, including: the system comprises the LoRa node, the LoRa gateway and the above mentioned server cluster, wherein the LoRa gateway is used for forwarding the uplink message sent by the LoRa node to a physical server in the server cluster.
The present disclosure may also be implemented as a service method, comprising: dividing a plurality of physical servers into a plurality of logical servers, each logical server comprising one or more physical servers; configuring one or more clients for each logical server, wherein the clients subscribe to one or more terminal nodes (such as LoRa nodes); and under the condition that the terminal node corresponding to the received uplink message by the physical server does not belong to the terminal node subscribed by the client corresponding to the logical server where the physical server is located, controlling the physical server to forward the uplink message or the data obtained by analyzing the uplink message to the logical server corresponding to the client subscribing to the terminal node sending the uplink message. For details related to the method, see the above description, and are not repeated herein.
Fig. 4 shows a schematic structural diagram of a computing device that can be used to implement the service method according to an embodiment of the present disclosure.
Referring to fig. 4, computing device 400 includes memory 410 and processor 420.
The processor 420 may be a multi-core processor or may include a plurality of processors. In some embodiments, processor 420 may include a general-purpose host processor and one or more special coprocessors such as a Graphics Processor (GPU), a Digital Signal Processor (DSP), or the like. In some embodiments, processor 420 may be implemented using custom circuits, such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA).
The memory 410 may include various types of storage units, such as system memory, Read Only Memory (ROM), and permanent storage. Wherein the ROM may store static data or instructions that are required by the processor 420 or other modules of the computer. The persistent storage device may be a read-write storage device. The persistent storage may be a non-volatile storage device that does not lose stored instructions and data even after the computer is powered off. In some embodiments, the persistent storage device employs a mass storage device (e.g., magnetic or optical disk, flash memory) as the persistent storage device. In other embodiments, the permanent storage may be a removable storage device (e.g., floppy disk, optical drive). The system memory may be a read-write memory device or a volatile read-write memory device, such as a dynamic random access memory. The system memory may store instructions and data that some or all of the processors require at runtime. Further, the memory 410 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), magnetic and/or optical disks, may also be employed. In some embodiments, memory 410 may include a removable storage device that is readable and/or writable, such as a Compact Disc (CD), a read-only digital versatile disc (e.g., DVD-ROM, dual layer DVD-ROM), a read-only Blu-ray disc, an ultra-density optical disc, a flash memory card (e.g., SD card, min SD card, Micro-SD card, etc.), a magnetic floppy disc, or the like. Computer-readable storage media do not contain carrier waves or transitory electronic signals transmitted by wireless or wired means.
The memory 410 has stored thereon executable code that, when processed by the processor 420, causes the processor 420 to perform the service methods described above.
The service method, the server cluster, and the LoRaWAN network system according to the present invention have been described in detail above with reference to the accompanying drawings.
Furthermore, the method according to the invention may also be implemented as a computer program or computer program product comprising computer program code instructions for carrying out the above-mentioned steps defined in the above-mentioned method of the invention.
Alternatively, the invention may also be embodied as a non-transitory machine-readable storage medium (or computer-readable storage medium, or machine-readable storage medium) having stored thereon executable code (or a computer program, or computer instruction code) which, when executed by a processor of an electronic device (or computing device, server, etc.), causes the processor to perform the steps of the above-described method according to the invention.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems and methods according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Having described embodiments of the present invention, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Claims (13)
1. A server cluster is used for receiving uplink messages sent by LoRa nodes, wherein the server cluster comprises a plurality of physical servers, the physical servers are divided into a plurality of logical servers, each logical server comprises one or more physical servers, the logical servers correspond to one or more clients, and the clients subscribe to one or more LoRa nodes,
and under the condition that the LoRa node corresponding to the received uplink message does not belong to the LoRa node subscribed by the client corresponding to the logical server where the physical server is located, the physical server forwards the uplink message or the data obtained by analyzing the uplink message to the logical server corresponding to the client subscribing to the LoRa node sending the uplink message.
2. The server cluster of claim 1,
and when the LoRa node corresponding to the received uplink message belongs to the LoRa node subscribed by the client corresponding to the logic server where the physical server is located, the physical server sends the uplink message or the data obtained by analyzing the uplink message to the client.
3. The server cluster of claim 2,
and the physical server sends the uplink message or the data obtained by analyzing the uplink message to a message queue corresponding to the client.
4. The server cluster of claim 1, further comprising: a state maintaining device for maintaining the state of the device,
the physical server periodically sends a message to the state maintenance device,
and the state maintenance device judges whether a physical server in the logic server is available according to the message receiving condition.
5. The server cluster of claim 4,
the state maintenance device records the time when the physical server sends the message last time, judges whether the time length between the time and the current time is greater than a first threshold value, and judges that the physical server is unavailable under the condition that the time length between the time and the current time is greater than the first threshold value.
6. The server cluster of claim 4,
and under the condition that physical servers in the logical servers corresponding to the clients of the LoRa nodes sending the uplink messages are unavailable, the physical servers forward the uplink messages or the data obtained by analyzing the uplink messages to proper logical servers according to the load condition of the logical servers.
7. The server cluster of claim 1,
the physical server issues the uplink message or data obtained by analyzing the uplink message to a logical server corresponding to a client subscribing to the LoRa node sending the uplink message, or
And the physical server stores the uplink message or the data obtained by analyzing the uplink message to a preset address, and the logic server corresponding to the client of the LoRa node sending the uplink message obtains the uplink message or the data obtained by analyzing the uplink message from the preset address.
8. A LoRaWAN network system, comprising:
a LoRa node;
an LoRa gateway; and
the server cluster of any one of claims 1 to 7, wherein the LoRa gateway is configured to forward an upstream packet sent by the LoRa node to a physical server in the server cluster.
9. A server cluster is used for receiving uplink messages sent by terminal nodes, wherein the server cluster comprises a plurality of physical servers, the physical servers are divided into a plurality of logical servers, each logical server comprises one or more physical servers, the logical servers correspond to one or more clients, and the clients subscribe to one or more terminal nodes,
and under the condition that the terminal node corresponding to the received uplink message does not belong to the terminal node subscribed by the client corresponding to the logical server where the physical server is located, the physical server forwards the uplink message or the data obtained by analyzing the uplink message to the logical server corresponding to the client subscribing to the terminal node sending the uplink message.
10. A method of servicing, comprising:
dividing a plurality of physical servers into a plurality of logical servers, each of the logical servers including one or more physical servers;
configuring one or more clients for each logic server, wherein the clients subscribe to one or more LoRa nodes;
and under the condition that the LoRa node corresponding to the received uplink message by the physical server does not belong to the LoRa node subscribed by the client corresponding to the logical server where the physical server is located, controlling the physical server to forward the uplink message or the data obtained by analyzing the uplink message to the logical server corresponding to the client subscribing to the LoRa node sending the uplink message.
11. A method of servicing, comprising:
dividing a plurality of physical servers into a plurality of logical servers, each of the logical servers including one or more physical servers;
configuring one or more clients for each logic server, wherein the clients subscribe to one or more terminal nodes;
and under the condition that the terminal node corresponding to the received uplink message by the physical server does not belong to the terminal node subscribed by the client corresponding to the logical server where the physical server is located, controlling the physical server to forward the uplink message or the data obtained by analyzing the uplink message to the logical server corresponding to the client subscribing to the terminal node sending the uplink message.
12. A computing device, comprising:
a processor; and
a memory having executable code stored thereon, which when executed by the processor, causes the processor to perform the method of claim 10 or 11.
13. A non-transitory machine-readable storage medium having stored thereon executable code, which when executed by a processor of an electronic device, causes the processor to perform the method of claim 10 or 11.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010215305.XA CN113453340B (en) | 2020-03-24 | 2020-03-24 | Service method, server cluster and LoRaWAN network system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010215305.XA CN113453340B (en) | 2020-03-24 | 2020-03-24 | Service method, server cluster and LoRaWAN network system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113453340A true CN113453340A (en) | 2021-09-28 |
CN113453340B CN113453340B (en) | 2024-08-20 |
Family
ID=77807465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010215305.XA Active CN113453340B (en) | 2020-03-24 | 2020-03-24 | Service method, server cluster and LoRaWAN network system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113453340B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114527995A (en) * | 2021-12-29 | 2022-05-24 | 浙江中控技术股份有限公司 | Graphical deployment and state monitoring integrated system and method |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030167293A1 (en) * | 2000-12-29 | 2003-09-04 | Min Zhu | Fault tolerant server architecture for collaborative computing |
WO2006049117A1 (en) * | 2004-11-05 | 2006-05-11 | Matsushita Electric Industrial Co., Ltd. | Information processing device, information processing system, information processing method, and program |
US20060184653A1 (en) * | 2005-02-16 | 2006-08-17 | Red Hat, Inc. | System and method for creating and managing virtual services |
CN1960521A (en) * | 2006-11-30 | 2007-05-09 | 华为技术有限公司 | Method and system of increasing system capacity of multimedia message service |
JP2008167359A (en) * | 2007-01-05 | 2008-07-17 | Fujitsu Ltd | Subdivision method, file update method and IP telephone system in IP telephone system |
CN101984632A (en) * | 2010-11-15 | 2011-03-09 | 中兴通讯股份有限公司 | Load distributing method, device and server in distributed cache system |
US20110202667A1 (en) * | 2010-02-18 | 2011-08-18 | Microsoft Corporation | Database Virtualization |
JP2012252602A (en) * | 2011-06-03 | 2012-12-20 | Nippon Telegr & Teleph Corp <Ntt> | Server management system, server management device, server management method and server management program |
US20140207920A1 (en) * | 2013-01-22 | 2014-07-24 | Hitachi, Ltd. | Virtual server migration plan making method and system |
US20140298444A1 (en) * | 2013-03-28 | 2014-10-02 | Fujitsu Limited | System and method for controlling access to a device allocated to a logical information processing device |
WO2015102511A1 (en) * | 2013-12-30 | 2015-07-09 | Limited Liability Company Mail.Ru | Systems and methods for fingerprinting operating systems |
CN105827687A (en) * | 2015-11-17 | 2016-08-03 | 广东亿迅科技有限公司 | Cluster management method and management system thereof |
CN105827584A (en) * | 2015-11-18 | 2016-08-03 | 广东亿迅科技有限公司 | Interaction method of third-party application server with client background system, and background system |
WO2017036409A1 (en) * | 2015-09-01 | 2017-03-09 | 腾讯科技(深圳)有限公司 | Site acquisition method, server, client and system |
CN106603319A (en) * | 2017-03-02 | 2017-04-26 | 腾讯科技(深圳)有限公司 | Fault processing method, management server, and logic server |
KR20170059788A (en) * | 2015-11-23 | 2017-05-31 | 에스케이텔레콤 주식회사 | Method and apparatus for controlling data transmission |
CN106936907A (en) * | 2017-03-09 | 2017-07-07 | 腾讯科技(深圳)有限公司 | A kind of document handling method, logical server, access server and system |
CN107046503A (en) * | 2017-04-24 | 2017-08-15 | 新华三技术有限公司 | A kind of message transmitting method, system and its apparatus |
CN108881066A (en) * | 2017-05-10 | 2018-11-23 | 腾讯科技(深圳)有限公司 | A kind of method of route requests, access server and storage equipment |
CN109586976A (en) * | 2018-12-28 | 2019-04-05 | 万能 | A kind of LoRa server |
-
2020
- 2020-03-24 CN CN202010215305.XA patent/CN113453340B/en active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030167293A1 (en) * | 2000-12-29 | 2003-09-04 | Min Zhu | Fault tolerant server architecture for collaborative computing |
WO2006049117A1 (en) * | 2004-11-05 | 2006-05-11 | Matsushita Electric Industrial Co., Ltd. | Information processing device, information processing system, information processing method, and program |
US20060184653A1 (en) * | 2005-02-16 | 2006-08-17 | Red Hat, Inc. | System and method for creating and managing virtual services |
CN1960521A (en) * | 2006-11-30 | 2007-05-09 | 华为技术有限公司 | Method and system of increasing system capacity of multimedia message service |
JP2008167359A (en) * | 2007-01-05 | 2008-07-17 | Fujitsu Ltd | Subdivision method, file update method and IP telephone system in IP telephone system |
US20110202667A1 (en) * | 2010-02-18 | 2011-08-18 | Microsoft Corporation | Database Virtualization |
CN101984632A (en) * | 2010-11-15 | 2011-03-09 | 中兴通讯股份有限公司 | Load distributing method, device and server in distributed cache system |
JP2012252602A (en) * | 2011-06-03 | 2012-12-20 | Nippon Telegr & Teleph Corp <Ntt> | Server management system, server management device, server management method and server management program |
US20140207920A1 (en) * | 2013-01-22 | 2014-07-24 | Hitachi, Ltd. | Virtual server migration plan making method and system |
US20140298444A1 (en) * | 2013-03-28 | 2014-10-02 | Fujitsu Limited | System and method for controlling access to a device allocated to a logical information processing device |
WO2015102511A1 (en) * | 2013-12-30 | 2015-07-09 | Limited Liability Company Mail.Ru | Systems and methods for fingerprinting operating systems |
WO2017036409A1 (en) * | 2015-09-01 | 2017-03-09 | 腾讯科技(深圳)有限公司 | Site acquisition method, server, client and system |
CN105827687A (en) * | 2015-11-17 | 2016-08-03 | 广东亿迅科技有限公司 | Cluster management method and management system thereof |
CN105827584A (en) * | 2015-11-18 | 2016-08-03 | 广东亿迅科技有限公司 | Interaction method of third-party application server with client background system, and background system |
KR20170059788A (en) * | 2015-11-23 | 2017-05-31 | 에스케이텔레콤 주식회사 | Method and apparatus for controlling data transmission |
CN106603319A (en) * | 2017-03-02 | 2017-04-26 | 腾讯科技(深圳)有限公司 | Fault processing method, management server, and logic server |
CN106936907A (en) * | 2017-03-09 | 2017-07-07 | 腾讯科技(深圳)有限公司 | A kind of document handling method, logical server, access server and system |
CN107046503A (en) * | 2017-04-24 | 2017-08-15 | 新华三技术有限公司 | A kind of message transmitting method, system and its apparatus |
CN108881066A (en) * | 2017-05-10 | 2018-11-23 | 腾讯科技(深圳)有限公司 | A kind of method of route requests, access server and storage equipment |
CN109586976A (en) * | 2018-12-28 | 2019-04-05 | 万能 | A kind of LoRa server |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114527995A (en) * | 2021-12-29 | 2022-05-24 | 浙江中控技术股份有限公司 | Graphical deployment and state monitoring integrated system and method |
Also Published As
Publication number | Publication date |
---|---|
CN113453340B (en) | 2024-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170279674A1 (en) | Method and apparatus for expanding high-availability server cluster | |
RU2507703C2 (en) | Resource pooling in electronic board cluster switching centre server | |
WO2017097130A1 (en) | Method and apparatus for switching service nodes of distributed storage system | |
WO2023280127A1 (en) | Message communication method and apparatus | |
US9917884B2 (en) | File transmission method, apparatus, and distributed cluster file system | |
US8103754B1 (en) | Reserving a shared volume in a multiple node data storage system | |
CN110764963B (en) | Service exception handling method, device and equipment | |
CN112804332A (en) | Message processing system, method, device, equipment and computer readable storage medium | |
US8832215B2 (en) | Load-balancing in replication engine of directory server | |
US20200142759A1 (en) | Rest gateway for messaging | |
CN112291082A (en) | Disaster recovery processing method, terminal and storage medium for computer room | |
CN114422569A (en) | Message pushing method and device of cloud desktop | |
CN115277727A (en) | Data disaster recovery method, system, device and storage medium | |
CN116996376A (en) | Method, device, equipment and storage medium for updating configuration of fixed network terminal | |
CN113453340B (en) | Service method, server cluster and LoRaWAN network system | |
HK40059936A (en) | Service method, server cluster and lorawan network system | |
CN111459416B (en) | Distributed storage-based thermal migration system and migration method thereof | |
CN115632947B (en) | A configuration sending method and device | |
CN113821334A (en) | Method, device and system for configuring edge side equipment | |
TW201828087A (en) | Service node switching method and device for distributed storage system providing logical judgment and data statistics to enhance service availability | |
CN114579338B (en) | Dual-machine distributed arbitration system and arbitration method thereof | |
US12361017B2 (en) | Nodal redundancy storage decisions | |
JP2019207546A (en) | Information processing system, information processing device, and method for controlling information processing system | |
CN113098914B (en) | Message bus system, message transmission method and device, and electronic equipment | |
CN114461141B (en) | ETCD system, node arbitration method and system |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40059936 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |