WO2021128039A1 - Centerless ad hoc network-based voice conference communication method and device - Google Patents

Centerless ad hoc network-based voice conference communication method and device Download PDF

Info

Publication number
WO2021128039A1
WO2021128039A1 PCT/CN2019/128182 CN2019128182W WO2021128039A1 WO 2021128039 A1 WO2021128039 A1 WO 2021128039A1 CN 2019128182 W CN2019128182 W CN 2019128182W WO 2021128039 A1 WO2021128039 A1 WO 2021128039A1
Authority
WO
WIPO (PCT)
Prior art keywords
time slot
node
service time
occupancy status
voice
Prior art date
Application number
PCT/CN2019/128182
Other languages
French (fr)
Chinese (zh)
Inventor
赵松
郝增盈
Original Assignee
鹤壁天海电子信息系统有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 鹤壁天海电子信息系统有限公司 filed Critical 鹤壁天海电子信息系统有限公司
Priority to PCT/CN2019/128182 priority Critical patent/WO2021128039A1/en
Publication of WO2021128039A1 publication Critical patent/WO2021128039A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling

Definitions

  • This application relates to the field of communication, and in particular to a communication method and device based on a voice conference in a centerless ad hoc network.
  • the centerless ad hoc network is a network that combines mobile communication and computer network.
  • the information exchange of the network adopts the packet exchange mechanism in the computer network, and the node is a portable terminal that can be moved, such as a radio station.
  • the node is a portable terminal that can be moved, such as a radio station.
  • the call mode of radio stations in a non-centered ad hoc network is usually one-to-many or one-to-one.
  • a similar conference mode allows users of multiple radio stations to speak at the same time, while the number of listeners in a non-centered ad hoc network is not Limitation is a more practical and urgent scenario demand.
  • This application provides a communication method and device based on a voice conference in a centerless ad hoc network, and aims to provide a communication method and device that allows multiple parties to speak at the same time similar to a conference.
  • This application provides a voice conference communication method based on a centerless ad hoc network, which is applied to access any node in the centerless ad hoc network, including:
  • the service time slot is a part of the service time slot in the preset MAC frame, and other service time slots in the MAC frame are used for other node broadcasting voice;
  • the MAC frame includes a target number of single frames
  • the target number is a value obtained by rounding up the quotient obtained by dividing the number of nodes in the centerless ad hoc network by a first value, and the first value is the number of control slots in the single frame Quantity
  • the target number single frames are the previous target number single frames in the single frame sequence, and the single frame sequence is composed of a single frame arrangement with frame numbers in an order from small to large.
  • the method further includes:
  • the control time slot occupied by the node is determined.
  • the node records a service time slot occupancy status table;
  • the service time slot occupancy status table includes: the occupancy status of each service time slot in the MAC frame and the MAC of the node occupying the service time slot address;
  • the node After the node determines the occupied control time slot, it also includes:
  • the service time slot is broadcast in the control time slot occupied by the node according to the preset period Occupy status message.
  • it also includes:
  • the node After receiving the service time slot occupancy status message broadcast by a one-hop neighbor node, the node compares the received service time slot occupancy status message with the occupancy status of each service time slot in the service time slot occupancy status table recorded by the node , Determine whether there is a conflicting service time slot; the conflicting service time slot is a service time slot occupied by two nodes with different MAC addresses at the same time;
  • the conflicting service time slot exists, from the two different MAC addresses corresponding to the conflicting service time slot, it is determined that the node with the smaller MAC address is the node that succeeds in the competition; the node that succeeds in the competition indicates that it can continue to occupy all the nodes. The node of the conflicting service time slot.
  • the method further includes:
  • a service time slot occupancy status message is broadcast in the control time slot occupied by the node.
  • it also includes:
  • the received voice is played.
  • it also includes:
  • the node In the case of receiving a voice broadcast by another node, if the node is a relay node of the other node, the node selects a service time slot from the MAC frame to broadcast the received voice.
  • This application also provides a voice conference communication device based on a non-central ad hoc network, which is applied to access any node in the non-central ad hoc network, including:
  • the selection module is used to select a service time slot when a trigger request for broadcast voice is received; the service time slot is a part of the service time slot in a preset MAC frame, and other service time slots in the MAC frame Used for other nodes to broadcast voice;
  • the first broadcast module is used to broadcast voice in the selected service time slot.
  • the MAC frame includes a target number of single frames
  • the target number is a value obtained by rounding up the quotient obtained by dividing the number of nodes in the non-centered ad hoc network by a first value, and the first value is a control time in the single frame
  • the number of slots; the target number of single frames is the previous target number of single frames in the single frame sequence, and the single frame sequence is composed of single frames arranged in order of frame numbers from small to large.
  • it also includes:
  • An obtaining module configured to obtain a MAC address allocated for the node after the node accesses the centerless ad hoc network, the MAC address being determined according to the number uniquely corresponding to any control time slot in the MAC frame;
  • the first determining module is configured to determine the control time slot occupied by the node according to the MAC address.
  • it also includes:
  • the second broadcast module is used to broadcast a service time slot occupancy status message in the control time slot occupied by the node when the occupancy status of any service time slot in the service time slot occupancy status table recorded by the node changes;
  • the third broadcast module is used to control the occupancy of the node according to the preset period when the occupancy status of the service time slot in the service time slot occupancy status table recorded by the node has not changed, and the service time slot is not all free The broadcast service time slot occupancy status message in the time slot.
  • it also includes:
  • the comparison module is used to, after receiving the service time slot occupancy status message broadcast by a one-hop neighbor node, the node will compare the received service time slot occupancy status message with each service time slot in the service time slot occupancy status table recorded by the node Compare the occupancy status of the two nodes to determine whether there is a conflicting service time slot; the conflicting service time slot is a service time slot occupied by two nodes with different MAC addresses at the same time;
  • the second determining module is configured to determine, from two different MAC addresses corresponding to the conflicting service time slots, that the node with the smaller MAC address is the node that succeeds in the competition if the conflicting service time slot exists; the competition is successful A node indicates a node that can continue to occupy the conflicting service time slot.
  • it also includes:
  • the update module is used to update the service recorded by the node after the second determining module determines that the node with the smaller MAC address is the node that succeeds in the competition, according to the MAC address of the node that succeeds in the competition and the MAC address of the node that succeeds in the competition.
  • the occupancy status of the conflicting service time slot in the time slot occupancy status table, the MAC address corresponding to the conflicting service time slot, and the mark in the service time slot occupancy status table that the conflicting service time slot has a smaller MAC address The node is occupied, and the updated service time slot occupancy status table is obtained;
  • the third broadcasting module is configured to broadcast a service time slot occupancy status message in the control time slot occupied by the node according to the updated service time slot occupancy status table.
  • it also includes:
  • the first sound playing module is used to play the received voice if the node and the node that initially broadcast the received voice belong to the same preset group when the voice broadcast by other nodes is received.
  • it also includes:
  • the first playback module is used to, in the case of receiving the voice broadcast by another node, if the node is a relay node of the other node, the node selects the service time slot from the MAC frame and broadcasts the received Voice.
  • the communication method based on the voice conference in the centerless ad hoc network described in this application selects the service time slot when the trigger request of the broadcast voice is received; wherein, the service time slot is a preset MAC frame Part of the service time slot of the MAC frame, other service time slots in the MAC frame are used for other source nodes to broadcast voice, and broadcast voice in the selected service time slot; because the service time slot selected by the source node is the preset MAC frame Part of the service time slots, and other service time slots in the MAC frame are used for other nodes to broadcast voice, so that the communication method of the present application can enable the process of multiple nodes in the centerless ad hoc network to broadcast voice simultaneously.
  • FIG. 1 is a schematic diagram of an application scenario of a voice conference communication method and device based on a centerless ad hoc network provided by this application;
  • FIG. 2 is a schematic diagram of a frame structure of a TDMA-based MAC frame provided by this application;
  • FIG. 3 is a schematic structural diagram of any time slot in a MAC frame provided by this application.
  • FIG. 4(a) is a schematic diagram of the frame structure of a TDMA-based MAC frame provided by this application;
  • Figure 4(b) is a schematic structural diagram of any time slot in a MAC frame provided by this application.
  • FIG. 5 is a flowchart of a MAC address allocation process provided by this application.
  • FIG. 6 is a flowchart of an embodiment of a voice broadcasting method provided by this application.
  • FIG. 7 is a flowchart of an embodiment of a method for processing a node provided by this application after receiving a service time slot to be occupied;
  • FIG. 8 is a flowchart of an embodiment of a voice receiving method provided by this application.
  • FIG. 9 is a flowchart of an embodiment of a method for processing a service time slot occupancy status conflict provided by this application.
  • FIG. 10 is a schematic structural diagram of an embodiment of a communication device for a voice conference without a central ad hoc network provided by this application.
  • Figure 1 is a schematic diagram of the application scenario of a voice conference communication method and device based on a centerless ad hoc network provided by this application, including: accessing multiple radio stations in the centerless ad hoc network and connecting to each radio station through WIFI
  • an intelligent terminal device which configures preset initial parameters for the radio station connected to the non-central ad hoc network.
  • the smart terminal device may be a PC, or a tablet computer, etc.
  • the communication device based on a voice conference based on a centerless ad hoc network provided in this application can be applied to any radio station in the above application scenarios, and can also be set independently.
  • a communication device based on a voice conference based on a non-central ad hoc network provided by this application is to achieve: for a node accessing a non-central ad hoc network during a voice conference, a plurality of nodes in the non-central ad hoc network The process of node broadcasting voice can be carried out at the same time.
  • the process of broadcasting voices by a preset number of nodes is allowed to be performed at the same time, wherein the preset number can be performed according to actual needs.
  • the preset number is generally any one of 1 to 3; of course; ,
  • the number of nodes that specifically allow the ad hoc network to broadcast voice at the same time is not specifically limited in this embodiment.
  • the embodiment of the application provides the frame structure of the Media Access Control (MAC) frame used by the voice conference device when broadcasting or forwarding voice, and the centerless self The process of any node in the network broadcasting, receiving and forwarding voice.
  • MAC Media Access Control
  • Fig. 2 is a schematic diagram of a frame structure of a TDMA-based MAC frame provided by this application.
  • a TDMA-based MAC frame is composed of multiple time slots, including control time slots and service time slots.
  • the control time slot is used for time slot synchronization, neighbor discovery, route maintenance, and service time slot occupancy broadcasting, etc.;
  • the service time slot is used for broadcasting voice.
  • control time slots and service time slots in order from left to right.
  • Each control time slot is configured with a number, and each service time slot is also configured with a number.
  • any time slot in the MAC frame is shown in Figure 3, including six parts, arranged in order from left to right, where the leftmost part is the first part, and the first and sixth parts are protected Function; the second part is preamble (preamble), used for physical layer synchronization, to ensure that the receiving node can receive data such as signaling or voice from the sending node; the third part is MAC Head (MAC header), used to carry the frame The frame number, time slot number, MAC ID of the sending node and other information are mainly used for time slot synchronization; the fourth part is Payload (load), which is used for custom signaling or voice and other data; the fifth part is forward Error correction (Forward Error Correction, FEC) is used for forward error detection and correction.
  • FEC Forward Error Correction
  • the parameters involved in the frame structure of the TDMA-based MAC frame include: the length of a single frame, the length of each time slot in a single frame, the number of control time slots and service time slots in a single frame, and so on.
  • the goals that need to be achieved include: voice conferences for nodes accessing a non-central ad hoc network During the process, the process of broadcasting voices by multiple nodes in the non-central ad hoc network can be carried out simultaneously; for any node in the preset number of nodes, other nodes in the non-central ad hoc network can receive the data of the node. Broadcast voice; and, the node can also receive voice broadcast by other nodes during the process of broadcasting voice.
  • the first condition the sum of the length of a single frame and the voice transmission duration of a time slot is not greater than 300ms.
  • the sum of the length of a single frame and the voice transmission duration of a time slot indicates the interval between the voices received twice in the process of receiving the voice broadcast by the same node.
  • the first condition that is, when the sum of the length of a single frame and the voice transmission duration of a time slot is not greater than 300ms
  • the interval between two adjacent receptions of the voice broadcast by the same node can be different. It is greater than 300ms, and since the interval between two adjacent voices received is not greater than 300ms, the user can aurally feel that the voices heard twice adjacent to each other are without delay. Therefore, this condition can enable the user to achieve the effect of no delay in hearing.
  • the duration between two consecutive broadcasts in the occupied service time slot can be set to the collection duration of N voices, where N is a positive integer; and, because two consecutive broadcasts in the occupied service time slot
  • the duration between voices is the length of a single frame. Therefore, in the embodiment of the present application, the length of a single frame can be set to the collection duration of N voices collected.
  • the duration of one collection needs to be determined according to the parameters of the node device. This embodiment does not limit the specific value of N, as long as the value of N is determined, the length of a single frame is determined based on the value of N, so that the sum of the length of a single frame and the voice transmission duration of a time slot is not greater than 300ms That's it.
  • the second condition the number of bytes that can be carried by the payload of each time slot in a single frame is not less than the total number of bytes of the voice collected N times.
  • the voice collected N times will be broadcast in the service time slot. Therefore, the bytes that can be carried by the payload in a time slot in a single frame
  • the total number of is not less than the total number of bytes of the voice obtained by collecting N times. Specifically, the greater the total number of bytes that the payload can carry in a time slot, the greater the length of the time slot; and, based on the total number of bytes that the payload can carry in a time slot, a time can be determined.
  • the length of the slot wherein the calculation formula between the total number of bytes that can be carried by the payload in the time slot and the length of the time slot is in the prior art, and will not be repeated here.
  • the number of bytes that the payload can carry in the time slot is not less than the total number of bytes obtained by collecting N times.
  • This embodiment does not limit the number of bytes that can be carried by the payload in the time slot.
  • the length of a single MAC frame can be determined based on the above first condition, and the length of a time slot in the MAC single frame can be determined based on the above second condition; based on the determined length of the MAC single frame and one time in the MAC single frame
  • the length of the slot can determine the total number of slots included in a single MAC frame.
  • the sum of the number of control time slots and the number of service time slots is the total number of time slots in the MAC frame.
  • the non-central ad hoc network needs to occupy P+P*N/R service time slots.
  • the setting of the number of relay nodes in the non-central ad hoc network needs to be determined according to the actual situation, as long as it is ensured that the voice broadcast by any node in the non-central ad hoc network can make the other in the non-central ad hoc network Any node can receive it.
  • the number of control time slots and service time slots in a single MAC frame can have multiple values. This embodiment does not limit the specific value. As long as the frame structure can be easily expanded and contracted to ensure the efficiency of communication.
  • the time required to collect the voice once is 25ms.
  • the voice is collected twice and sent once. Therefore, the length of the designed single frame is 50ms.
  • the first part is 150us; the second part of the Preamble is 7 bytes, including 2 bytes of synchronization word Section;
  • the MAC Head of the third part is 3 bytes; the number of bytes that the payload of the fourth part can carry is 36; the FEC of the fifth part is 25 bytes; the sixth part is 50us; therefore, one time slot
  • the number of bytes that can be carried is 71 bytes, as shown in Figure 4(a).
  • the duration of a time slot is 2.5 ms, and further, a single MAC frame includes 20 time slots.
  • the number of control timeslots in a single MAC frame can be set as 4. At this time, it can be determined that the number of service time slots in a single frame is 16.
  • the frame structure of the MAC frame provided by this embodiment is shown in Figure 4(b), in the order from left to right, CS0 ⁇ CS3, TS0 ⁇ TS15, among which CS0 ⁇ CS3 are 4 control cases. Slots, TS0 ⁇ TS15 are 16 service time slots.
  • the maximum number of nodes allowed to access the non-centralized ad hoc network is 24, and a single MAC frame includes 4 control time slots. Among them, each node should correspond to a control time slot. Therefore, here When all 24 nodes are connected to the non-centralized ad hoc network, a total of 6 MAC single frames are required. Each of the 6 MAC single frames corresponds to a frame number.
  • a control time slot is allocated to any node that accesses the centerless ad hoc network. Specifically, for any node, there is a Media Access Control Address (MAC) address, and the node can determine according to the preset correspondence between its MAC address and the control time slot number in the multiframe The control time slot corresponding to this node.
  • MAC Media Access Control Address
  • Fig. 5 shows a MAC address allocation process.
  • the execution subject is a MAC address allocation device, and the MAC address allocation device can be configured in an intelligent terminal device connected to each node.
  • the business staff when the business staff detects that a node is connected to the non-central ad hoc network, the business staff counts the number NR of nodes currently connected to the non-central ad hoc network, and enters the value of this NR into the smart terminal device .
  • the MAC address allocation method in the smart terminal device may include the following steps:
  • S501 When receiving an instruction to allocate a MAC address to a node to be allocated, determine the number of single frames required to access a node in the centerless ad hoc network.
  • the nodes currently connected to the non-centralized ad hoc network are referred to as nodes to be allocated.
  • the received instruction includes the total number of nodes currently connected to the non-centralized ad hoc network. Specifically, the number of single frames that need to be occupied is determined according to the following formula (1).
  • NR represents the total number of nodes currently connected to the non-central ad hoc network
  • M represents the number of control time slots included in a single frame
  • ROUNDUP represents rounding up
  • MF represents the current access non-central ad hoc network The number of single frames that the nodes of the network need to occupy.
  • S502 Determine a MAC address that meets the preset condition as a candidate MAC address according to the preset correspondence between the number of the control time slot in the multiframe and the preset MAC address.
  • the preset correspondence relationship is that one MAC address corresponds to the number of one control slot in one multiframe.
  • the preset correspondence between the MAC address and the number of the control slot in the multiframe may include the following formula (2) and formula (3).
  • I represents the frame number of a single frame
  • MAC represents the MAC address
  • (MAC-1)/4 represents the quotient of the MAC address minus 1 and divided by 4
  • P represents the number corresponding to the control slot in the single frame
  • (MAC -1)%4 represents the remainder obtained by subtracting 1 from the MAC address and dividing it by 4.
  • the preset conditions include: corresponding to the required number of control time slots of a single frame with the smallest frame number in the multiframe as the starting frame number.
  • the determined MAC address that meets the preset condition is called a candidate MAC address.
  • S503 Determine from the candidate MAC addresses the same number of MAC addresses as the number of nodes to be allocated.
  • S504 According to the principle of assigning one MAC address to a node, send the determined MAC address to the node to be assigned.
  • a MAC address is sent to a node, and this embodiment does not limit which MAC address is allocated to which node to be allocated.
  • the number of single frames required to access the nodes in the centerless ad hoc network is determined; according to the preset correspondence between the MAC address and the control time slot in the multiframe, the candidates that meet the preset conditions are determined.
  • the MAC address because the preset conditions include: corresponding to the control slots in the required number of single frames with the smallest frame number as the starting frame in the multiframe, so that the single frame corresponding to the candidate MAC frame that meets the preset conditions is,
  • the required number of single frames from the minimum frame number to the starting frame in the multiframe is the single frame occupied by the communication between the nodes to be allocated.
  • this embodiment will determine the required number of single frames with the smallest frame number as the starting frame number in the multi-frame each time the MAC address is allocated to the node to be allocated, so that the number of single frames occupied by the nodes in the access network is The number of single frames is the smallest. Therefore, according to the method for allocating MAC addresses to the nodes to be allocated according to this embodiment, the number of wasted control time slots can be reduced to a minimum, and the utilization rate of the channel can be improved.
  • FIG. 6 is a voice broadcasting method provided by this application, which may include the following steps:
  • S601 In the case of receiving a trigger request for broadcast voice, determine whether the trigger request is a multicast request.
  • the user of the node triggers a speech request, it triggers a request to send voice.
  • some of the nodes may form a group, so that when any node in the group broadcasts voice, only other nodes in the group can listen to it. The node cannot listen.
  • the method of determining whether the request is a multicast request may include: triggering a key of the request by the user.
  • S602 Determine whether the number of nodes in the current group that are simultaneously performing the voice broadcast process is less than a first preset number.
  • the maximum number of nodes that are allowed to simultaneously broadcast voices in a group is set in advance.
  • the preset maximum number of nodes that are allowed to broadcast voices in a group is called the first A preset quantity.
  • the judging method for judging whether the number of simultaneous voice broadcast nodes in the current group is less than the first preset number may include:
  • the number of nodes occupied by the nodes in the group is the number of nodes in the group that are currently performing voice broadcasting at the same time, and it is judged that the voice broadcasting process in the current group is going on at the same time Whether the number of nodes is less than the first preset number.
  • the first preset number is set to 3, that is, a maximum of 3 voice broadcast processes in the group can be performed simultaneously.
  • S603 Determine whether the number of nodes that are currently performing the voice broadcast process in the non-central ad hoc network at the same time is less than a second preset number.
  • the maximum number of nodes that are allowed to simultaneously broadcast voice in the non-centralized ad hoc network is set in advance.
  • the preset will indicate the nodes that are allowed to simultaneously broadcast voice in the non-centralized ad hoc network.
  • the maximum quantity is called the second preset quantity.
  • the judgment method in this step may include:
  • the number of nodes occupied by nodes in the network is the number of nodes currently performing voice broadcasts in the network, and it is judged that the current voice broadcast process in the network is at the same time Whether the number of nodes in progress is less than the second preset number.
  • the second preset number is set to 6, that is, the network supports a maximum of 6 voice broadcast processes at the same time.
  • the process of voice broadcasting of a preset number of nodes is allowed to proceed simultaneously. Therefore, in this process, the node may broadcast one voice and receive the remaining voice. The number of voice channels does not forward the received voice; the node may also forward some of the received voice channels after receiving the preset number of voice channels; the node may also be receiving the preset number of voice channels. Voice, and forward the preset number of voice channels received. Therefore, for any node in the centerless ad hoc network, the total number of voice channels sent and forwarded in the process is the preset number of channels.
  • each node has the ability to process a preset number of voices. For the convenience of description, the ability to process a preset number of voices is referred to as supporting a preset number of voice channels.
  • the voice buffer queue is used to buffer the voice spoken by the user; in this embodiment, there are six voice buffer queues in one type, which is sufficient for voice buffering in the process of simultaneous voice calls by six parties;
  • the voice buffer queue is initialized. Specifically, the initialization of the voice buffer queue means to ensure that there is no voice data in the voice buffer queue, and the voice buffer queue is idle, so that when voice data arrives, the node can select an idle voice buffer The queue performs voice buffering.
  • S605 Determine whether a new time slot needs to be occupied.
  • the number of bytes that can be carried by a payload in a time slot is greater than the number of bytes obtained by collecting N voices.
  • the payload in a time slot can The number of bytes carried is twice the number of bytes obtained by collecting N voices. Therefore, in this embodiment, one time slot can carry two voices.
  • the node when a node currently occupies a service time slot to forward a voice, the node can also use the time slot for voice broadcast. At this time, the node does not need to compete for the time slot again, that is, it does not need to occupy a new time slot. Otherwise, the current node does not occupy the service time slot for voice forwarding. At this time, the node needs to compete for a time slot for voice broadcast.
  • S606. Determine the service time slot to be occupied, start a waiting time slot occupancy timer, and add information about a voice channel currently occupied to the service time slot to be occupied.
  • any node accessing the non-central ad hoc network is assigned a control time slot, and each node accessing the non-central ad hoc network is configured with a service time slot occupancy status table.
  • the service time slot occupancy status table is used for the node to record the occupancy status of each service time slot and the MAC address of the node occupying the service time slot.
  • the occupancy state of any service time slot may be one of the following candidate occupancy states.
  • the candidate occupation states include: idle, one-hop neighbor node occupation, two-hop neighbor node occupation, and local node occupation; where a certain node occupies means that a certain node uses the service time slot to broadcast voice.
  • the one-hop neighbor node of the node is the sending node of the information directly received by the node, for example, node A receives node B in the control time slot
  • node B is the one-hop neighbor node of node A.
  • the two-hop neighbor node of this node is a sending node that needs to forward the received information at one time.
  • node A receives the information broadcast by node B on the control time slot, and the information is broadcast by node C to node B; at this time, the two-hop neighbor node of A is node C.
  • the preset content of the service time slot occupancy state table is broadcast in the corresponding control time slot, in order to The description is convenient, and the information broadcast by the node is called the service time slot occupancy status message of the node.
  • the service time slot occupancy status is free.
  • the preset sending timing includes two kinds.
  • the first type when the content of the service time slot occupancy status table of the node changes, broadcast the service time slot occupancy status message on the corresponding control time slot of the node. At this time, the one-hop neighbor node of the node will receive it. The service time slot occupancy status message broadcast to this node.
  • the second type when the service time slot of the node's service time slot occupancy status table is not completely idle, it is sent periodically.
  • the node randomly determines a service time slot as the service time slot to be occupied from among the service time slots in the idle state recorded in the service time slot occupancy status table.
  • the node updates the occupancy status of the service time slot to be occupied in the service time slot occupancy status table to the information indicating the application for occupancy.
  • the waiting time slot occupancy timer means that the service time slot to be occupied is determined in this step to start timing the preset time. If within the range of the waiting time slot occupancy timer, no information indicating that the service time slot to be occupied cannot be occupied is not received, it means that the node can occupy the service time slot to be occupied, otherwise, the node cannot occupy the service to be occupied Time slot.
  • the newly occupied voice channel (the voice channel occupied in S604) is added to the service time slot to be occupied. It should be noted that, at this time, voice cannot be broadcast in the service time slot to be occupied.
  • S607 Broadcast a service time slot occupancy status message in the control time slot.
  • the service time slot occupancy status message is broadcast in the corresponding control time slot.
  • the one-hop neighbor node of the node receives the service time slot occupancy status message of the node, it judges that the to-be-occupied Whether the service time slot can be occupied by the node, specifically, the process of judging whether the service time slot to be occupied can be occupied by the node is introduced in the embodiment corresponding to the figure, and will not be repeated here.
  • the service time slot to be occupied can be occupied by the node. Specifically, it may be waiting for the timeout of the time slot occupation timer to expire, and the information indicating that the service time slot to be occupied cannot be occupied by the node has not been received. Or, within the timing range of the waiting time slot occupancy timer, receiving the information indicating that the node can occupy the to-be-occupied service time slot, execute S609.
  • this step is executed. Specifically, the information of the occupied voice channel (the voice channel determined in S605) is added to the occupied service time slot, and S609 is executed.
  • the words spoken by the node user are collected.
  • the data collected in 25 ms is used as the voice data obtained in one collection, and the collection process is continuous.
  • S610 Send the collected voice data in the service time slot.
  • the voice data obtained by collecting N pieces is sent on the service time slot to be occupied; in the case that there is an occupied service time slot, In this step, the collected voice data is sent in the occupied service time slot.
  • the transmission time slot is a service time slot for broadcasting the current voice, specifically, it is a service time slot to be occupied or an occupied service time slot.
  • the node since one service time slot can carry two voices, during the process of broadcasting the current voice on the sending slot, the node may also forward the voice on the sending slot. In this case, it cannot Release the transmission time slot, otherwise, the transmission time slot can be released.
  • the node clears the occupancy status of the transmission time slot.
  • S614 The time slot occupation status message of the broadcast service.
  • the service time slot occupancy status message is broadcast in the control time slot of the node.
  • any node in the embodiment of the present application has a service time slot occupancy status table for recording the any node, the one-hop neighbor node of the any node, and the occupancy status of the service time slot by the two-hop neighbor node . Therefore, for any node, when receiving the service time slot occupancy status message broadcast by the one-hop neighbor node of the node, the service time slot occupancy status message broadcast by the one-hop neighbor node contains: The occupation situation of the one-hop neighbor node and the one-hop neighbor node of the one-hop neighbor node to the service time slot.
  • the service time slot occupancy status message broadcast by the one-hop neighbor node contains the MAC address of the node occupying each service time slot in the service time slot occupancy status table of the one-hop neighbor node. If the occupancy status of a certain service time slot in the slot occupancy status table is “idle”, the information corresponding to the service time slot in the service time slot occupancy status message is “idle”, which means that the service time slot is not occupied by a node; if In the service time slot occupancy status table, the occupancy status of the service time slot is occupied by a one-hop neighbor node, then in the service time slot occupancy status message, the information corresponding to the service time slot is the MAC address of the node occupying the service time slot; if the service In the time slot occupancy status table, the occupancy status of a certain service time slot is "occupation by two-hop neighbor node", then in the service time slot occupancy status message, the information corresponding to the service time slot is "idle”.
  • This arbitrary node judges whether there is a conflict in the occupation of the service time slot based on the content of its own service time slot occupancy status table and the content of the service time slot occupancy status message broadcasted by a one-hop neighbor node.
  • any node on which it stands is called local Nodes can include the following steps:
  • S701 When receiving a service time slot occupancy status message broadcast by a one-hop neighbor node, determine whether there is a service time slot occupancy conflict based on the received service time slot occupancy status message and the content of the service time slot status table of the current node.
  • the occupancy status of each time slot in the service time slot occupancy status message broadcast by the received one-hop neighbor node, and the occupancy status of each service time slot recorded in the service time slot occupancy status table of the local node, are used for each For each service time slot, it is judged whether the occupancy corresponding to the service time slot is a different node, that is, it is judged whether the MAC address of the occupied node corresponding to the service time slot is different, and if they are different, it indicates two nodes with different MAC addresses Occupy the same service time slot, at this time, it indicates that the occupation status of the service time slot conflicts; otherwise, it indicates that the occupation status of the service time slot does not conflict.
  • the occupancy status of the certain service time slot is "occupied by a certain node"
  • the service time slot occupancy status message includes The MAC address of the "a certain node”
  • the occupation status of the certain service time slot in the service time slot occupancy status table of the local node is "idle”.
  • the second case For a certain service time slot, in the service time slot occupancy status message, the occupancy status of the certain service time slot is "idle”, and the certain service time slot occupancy status table of the local node The occupation state of the service time slot is also "idle".
  • the third situation For a certain service time slot, in the service time slot occupancy status message, the occupancy status of the certain service time slot is "idle", and the certain service time slot occupancy status table of the local node The occupation status of the service time slot is "occupied by a certain node”.
  • the local node needs to update the occupation status of the certain service time slot in the service time slot occupancy status table. Specifically, in this step, it is necessary to determine whether "a certain node" in "a certain node is occupied" is a one-hop neighbor node or a two-hop neighbor node of the local node.
  • this step it is determined whether the "a certain node” is a one-hop neighbor node of the local node. Specifically, it can be based on whether the local node has received the information broadcast by the "a certain node", and if it has received , It is determined that the "a certain node” is a one-hop neighbor node of the local node.
  • the MAC address of the certain node in the service time slot occupancy status message is the same as the MAC address of the sending node in the MAC HEAD of the service time slot occupancy status message. If they are the same, the "a certain service time slot" "The occupied node is the sending node of the service time slot occupancy status message, and the local node can receive the service time slot occupancy status message sent by the sending node, indicating that the sending node is a one-hop neighbor node of the local node, so , It is determined that the occupation status of the certain service time slot is "one-hop neighbor occupation”; otherwise, the occupation status of the certain service time slot is "two-hop neighbor occupation”.
  • the occupation status corresponding to the "a certain service time slot” in the service time slot occupancy status table of the local node is updated to one-hop neighbor occupation, and the "a certain service time slot” in the service time slot occupancy status table of the local node is updated.
  • the MAC address corresponding to the "slot” is updated to the MAC address corresponding to the "certain service time slot” in the service time slot occupancy status message.
  • the MAC address corresponding to the "certain service time slot" in the service time slot occupancy status table is updated to the MAC address corresponding to the "certain service time slot” in the service time slot occupancy status message.
  • the one-hop neighbor node or the two-hop neighbor node keeps occupying the to-be-occupied service time slot; or, to prevent the one-hop neighbor node from releasing the to-be-occupied service time slot After the service time slot, the signal quality is poor due to distance and/or interference, etc., resulting in the node not receiving a release message for the unoccupied service time slot sent by a one-hop neighbor node.
  • the time slot state retention timer is started, and the time slot state retention timer is used to start timing the preset second time period from the node updating the service time slot occupancy state table. If, within the range of the time slot state retention timer, a service time slot occupancy status message indicating the release of the service time slot to be occupied is received, go to S706; or, if the time slot state retention timer expires Next, execute S706.
  • This step is from the perspective of the relay node, because when the relay node receives the voice broadcast by a hop neighbor node, the voice is first played and then forwarded, and the same voice is used for receiving the voice and forwarding the voice. aisle.
  • the voice channel used by the node for receiving and forwarding is called the transceiver voice channel.
  • this step delete the information of the transceiving voice channel, release the transceiving voice channel, and add the occupancy status of the one-hop neighbor node or the two-hop neighbor node to the service slot to be occupied in the service time slot occupancy status table of the node Clear, where, if a one-hop neighbor node occupies the to-be-occupied service time slot, in this step, clear the occupancy status of the one-hop neighbor node of the to-be-occupied service time slot; in the same way, if it is a two-hop neighbor The node occupies the service time slot to be occupied. In this step, the occupancy status of the service time slot to be occupied by the two-hop neighbor node is cleared.
  • S707 Determine whether the forwarding time slot can be released.
  • this node Since this node is a relay node, this node forwards the received voice after receiving the voice sent by the one-hop neighbor node. Among them, for the convenience of description, the service time slot occupied by the node for forwarding the voice is called the forwarding time slot.
  • one service time slot in this application can carry multiple voices
  • the local node is broadcasting voice in the forwarding time slot
  • S708 Clear the occupancy status of the forwarding time slot by the node in the service time slot occupancy status table.
  • the occupancy status of the forwarding service time slot is updated to idle.
  • the service time slot occupancy status message is broadcast in the control time slot corresponding to the current node.
  • Fig. 8 is a voice receiving method provided by this application, including the following steps:
  • S801 In the case of receiving the voice data sent by the one-hop neighbor node, determine whether the voice channel has been occupied for the voice channel.
  • the certain voice channel and the certain service time slot are used as a set of data. save.
  • the ID of the voice channel currently occupied and the service time slot for receiving the voice can be recorded, and recorded as a set of data, so as to subsequently determine whether the node has targeted a certain service time slot based on the recorded information.
  • the broadcast voice occupies the voice channel.
  • S804 Determine whether the present node and the sending node of the received voice belong to a group.
  • the received voice data is forwarded to the playback interface for playback, and S806 is executed.
  • S806 Determine whether the current node is a relay node of the sending node.
  • the information of the OLSR routing protocol is transmitted on the control time slot to determine whether the current node is the relay node of the sending node. Specifically, it is determined whether the node is the relay node of the sending node according to the information of the OLSR routing protocol.
  • the process is an existing technology, so I won’t repeat it here.
  • the local node if the local node is the relay node of the sending node, the local node needs to forward the received voice; otherwise, there is no need to forward the received voice.
  • This step is to prepare the node for forwarding the received voice data.
  • one service time slot in this application can send multiple voices
  • the node does not need to apply again Occupy a service time slot, that is, no need to occupy a new time slot; otherwise, the node needs to occupy a new time slot.
  • S810 Randomly occupy an idle time slot, and add a voice channel to the occupied idle time slot.
  • S813 Broadcast the voice data buffered in the buffer queue on the service time slot.
  • the waiting service time slot occupancy timer expires, or when it is received within the timing range of the waiting service time slot occupancy timer, it indicates that the idle time slot can be occupied
  • the buffered voice data is sent in the service time slot occupied by the application; if there is an occupied service time slot, the buffered voice data is sent directly on the occupied service time slot.
  • a voice channel conflict will occur when the service time slot occupation conflicts. Therefore, in this embodiment, after the service time slot conflict problem is resolved, the voice channel conflict problem is solved.
  • the voice channel conflict problem is solved. On the party that fails to compete for the conflicting service time slot, if the number of nodes in the current voice broadcast process in the current network reaches six, at this time, the node that has failed in the competition releases the voice channel corresponding to the conflicting service time slot.
  • S815 Forward the received voice data to the playback interface.
  • S816 Determine whether the current node is a relay node of the sending node.
  • FIG. 9 is a method for processing service time slot occupancy status conflicts provided by this application, which may include the following steps:
  • S901 Determine the MAC address that is smaller than the MAC address corresponding to the conflicting service time slot.
  • the service time slot in which the occupation status conflicts is called the conflicting service time slot.
  • the principle for processing conflicting service time slots is that nodes with a small MAC address occupy the conflicting service time slots. Therefore, in this step, the size of the MAC address of the node occupying the conflicting service time slot is determined, and the smaller MAC address is determined.
  • the node with the smaller MAC address of the two nodes corresponding to the conflicting service time slot is called The node that succeeds in the competition, otherwise, it is called the node that fails in the competition.
  • the conflicting service time slot can be occupied to send voice.
  • the node that has failed in the competition can execute according to the process of the embodiment corresponding to FIG. 6.
  • S902 Update the occupancy status of the conflicting service time slot in the service time slot occupancy status table of the local node, and start a time slot state retention timer.
  • the local node updates the occupancy status of the conflicting service time slot in the service time slot occupancy status table to the determined small MAC address corresponding node occupancy. Specifically, if the small MAC address corresponds to the node of the local node One-hop neighbor node, update the occupancy status of the conflicting service time slot in the service time slot occupancy state table to the one-hop neighbor node; if the node corresponding to the small MAC address is the two-hop neighbor node of the local node, then the service time slot The occupancy status of the conflicting service slot in the occupancy status table is updated to be occupied by the two-hop neighbor node.
  • the updated occupancy status of the conflicting service time slot is marked with information used to indicate the occupancy of nodes with a small MAC address.
  • the node that receives the service time slot occupancy status message is called receiving node.
  • the receiving node is a node that has succeeded in competition, it is processed in accordance with the processing method of a node that has succeeded in competition. If it is a node that has failed in competition, it can be processed in accordance with the processing method of a node that has failed in competition.
  • Fig. 10 is an embodiment of a communication device for a voice conference without a central ad hoc network provided by this application.
  • the device embodiment can be applied to any node in a non-central ad hoc network, including: a selection module 101 and a second node.
  • the selection module 101 is configured to select a service time slot when a trigger request for broadcast voice is received; the service time slot is a part of the service time slot in a preset MAC frame, and the others in the MAC frame The service time slot is used for other nodes to broadcast voice; the first broadcasting module 102 is used to broadcast the voice in the selected service time slot.
  • the MAC frame includes a target number of single frames; wherein, the target number is a value obtained by dividing the number of nodes in the centerless ad hoc network by the first value and rounding up the quotient, so The first value is the number of control time slots in a single frame; the target number of single frames is the previous target number of single frames in a single frame sequence, and the single frame sequence is from small to large in order of frame number The order of the single frame arrangement.
  • it further includes: an obtaining module 103 and a first determining module 104;
  • the obtaining module 103 is configured to obtain the MAC address allocated to the node after the node accesses the non-central ad hoc network, and the MAC address is based on the number uniquely corresponding to any control time slot in the MAC frame Determine;
  • the first determining module 104 is configured to determine the control time slot occupied by the node according to the MAC address.
  • it further includes: a second broadcasting module 105 and a third broadcasting module 106;
  • the second broadcasting module 105 is used to broadcast a service time slot occupancy status message in the control time slot occupied by the node when the occupancy status of any service time slot in the service time slot occupancy status table recorded by the node changes ;
  • the third broadcasting module 106 is used to occupy the node according to the preset period when the occupancy status of the service time slot in the service time slot occupancy status table recorded by the node has not changed, and the service time slot is not all free The broadcast service time slot occupancy status message in the control time slot.
  • it further includes: a comparison module 107 and a second determination module 108;
  • the comparison module 107 is configured to, after receiving the service time slot occupancy status message broadcasted by a one-hop neighbor node, the node will receive the service time slot occupancy status message with each other in the service time slot occupancy status table recorded by the node.
  • the occupancy status of the service time slots is compared to determine whether there are conflicting service time slots; the conflicting service time slots are service time slots occupied by two nodes with different MAC addresses at the same time; the second determining module 108 is used to determine whether there are any conflicting service time slots.
  • the conflicting service time slot From the two different MAC addresses corresponding to the conflicting service time slot, it is determined that the node with the smaller MAC address is the node that succeeds in the competition; the node that succeeds in the competition indicates that the conflicting service can continue to be occupied The node of the time slot.
  • it further includes: an update module 109 and a third broadcast module 110;
  • the update module 109 is configured to, after the second determining module determines that the node with the smaller MAC address is the node that succeeds in the competition, update the node according to the MAC address of the node that succeeds in the competition and the MAC address of the node that succeeds in the competition.
  • the third broadcasting module 110 is used to broadcast service time in the control time slot occupied by the node according to the updated service time slot occupancy status table Slot occupancy status message.
  • a first sound playback module 111 configured to, in the case of receiving a voice broadcast by another node, if the node and the node that initially broadcast the received voice belong to the same preset group, the received voice The received voice is played.
  • a first playback module 112 configured to select from the MAC frame if the node is a relay node of the other node when the voice broadcast by another node is received The service time slot broadcasts the received voice.
  • the functions described in the methods of the embodiments of the present application are implemented in the form of software functional units and sold or used as independent products, they can be stored in a storage medium readable by a computing device.
  • the part of the embodiment of the application that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, the software product is stored in a storage medium, and includes a number of instructions to make a A computing device (which may be a personal computer, a server, a mobile computing device, or a network device, etc.) executes all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disks or optical disks and other media that can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Disclosed in the present application are a centerless ad hoc network-based voice conference communication method and device. The method is applied to any one node for access to a centerless ad hoc network, and comprises: in the case of receiving a trigger request for broadcasting a voice, selecting a service time slot, the service time slot being some of the service time slots in a preset MAC frame, and other service time slots in the MAC frame being used for broadcasting the voice by other nodes; and broadcasting the voice in the selected service time slot. By means of the present application, the voice broadcasting processes by multiple nodes in the centerless ad hoc network can be simultaneously performed.

Description

一种基于无中心自组网的语音会议的通信方法及装置Communication method and device for voice conference based on centerless ad hoc network 技术领域Technical field
本申请涉及通信领域,尤其涉及一种基于无中心自组网中的语音会议的通信方法及装置。This application relates to the field of communication, and in particular to a communication method and device based on a voice conference in a centerless ad hoc network.
背景技术Background technique
无中心自组网是一种移动通信和计算机网络相结合的网络,网络的信息交换采用计算机网络中的分组交换机制,节点是可以移动的便携式终端,例如,电台。在无中心自组网中没有严格的控制中心,所有节点的地位是平等的,是一种对等式网络。The centerless ad hoc network is a network that combines mobile communication and computer network. The information exchange of the network adopts the packet exchange mechanism in the computer network, and the node is a portable terminal that can be moved, such as a radio station. There is no strict control center in the centerless ad hoc network, and the status of all nodes is equal, which is a peer-to-peer network.
目前,无中心自组网中电台呼叫模式通常为一对多或一对一,在实际中,类似会议方式允许多个电台的使用者同时讲话,而无中心自组网中的听者数量不限是一个更加实际和迫切的场景需求。At present, the call mode of radio stations in a non-centered ad hoc network is usually one-to-many or one-to-one. In practice, a similar conference mode allows users of multiple radio stations to speak at the same time, while the number of listeners in a non-centered ad hoc network is not Limitation is a more practical and urgent scenario demand.
发明内容Summary of the invention
本申请提供了一种基于无中心自组网中的语音会议的通信方法及装置,目的在于提供一种类似会议方式的允许多方同时讲话的通信方法及装置。This application provides a communication method and device based on a voice conference in a centerless ad hoc network, and aims to provide a communication method and device that allows multiple parties to speak at the same time similar to a conference.
为了实现上述目的,本申请提供了以下技术方案:In order to achieve the above objectives, this application provides the following technical solutions:
本申请提供了一种基于无中心自组网的语音会议的通信方法,应用于接入无中心自组网中的任意一个节点,包括:This application provides a voice conference communication method based on a centerless ad hoc network, which is applied to access any node in the centerless ad hoc network, including:
在接收到广播语音的触发请求的情况下,选择业务时隙;所述业务时 隙为预设的MAC帧中的部分业务时隙,所述MAC帧中的其它业务时隙用于其它节点广播语音;In the case of receiving the trigger request of the broadcast voice, select the service time slot; the service time slot is a part of the service time slot in the preset MAC frame, and other service time slots in the MAC frame are used for other node broadcasting voice;
在选择的业务时隙广播语音。Broadcast voice in the selected service time slot.
可选的,所述MAC帧中包括目标数量个单帧;Optionally, the MAC frame includes a target number of single frames;
所述目标数量为所述无中心自组网中的节点的数量与第一数值相除得到的商向上取整所得到的数值,所述第一数值为一个所述单帧中控制时隙的数量;The target number is a value obtained by rounding up the quotient obtained by dividing the number of nodes in the centerless ad hoc network by a first value, and the first value is the number of control slots in the single frame Quantity
所述目标数量个单帧为单帧序列中的前目标数量个单帧,所述单帧序列由帧号按照由小到大的顺序的单帧排列构成。The target number single frames are the previous target number single frames in the single frame sequence, and the single frame sequence is composed of a single frame arrangement with frame numbers in an order from small to large.
可选的,在该节点接入所述无中心自组网之后,还包括:Optionally, after the node accesses the centerless ad hoc network, the method further includes:
获取为该节点分配的MAC地址,所述MAC地址依据所述MAC帧中任意一个控制时隙唯一对应的编号确定;Acquiring a MAC address allocated for the node, the MAC address being determined according to a unique number corresponding to any control time slot in the MAC frame;
依据所述MAC地址,确定该节点占用的控制时隙。According to the MAC address, the control time slot occupied by the node is determined.
可选的,该节点记录有业务时隙占用状态表;所述业务时隙占用状态表包括:用于表示所述MAC帧中各业务时隙的占用状态,以及占用业务时隙的节点的MAC地址;Optionally, the node records a service time slot occupancy status table; the service time slot occupancy status table includes: the occupancy status of each service time slot in the MAC frame and the MAC of the node occupying the service time slot address;
在该节点确定出占用的控制时隙之后,还包括:After the node determines the occupied control time slot, it also includes:
在该节点记录的业务时隙占用状态表中任一业务时隙的占用状态发生变化时,在该节点占用的控制时隙中广播业务时隙占用状态消息;When the occupancy status of any service time slot in the service time slot occupancy status table recorded by the node changes, broadcast the service time slot occupancy status message in the control time slot occupied by the node;
在该节点记录的业务时隙占用状态表中业务时隙的占用状态未发生变化,且业务时隙非全部空闲的情况下,按照预设周期在该节点占用的控制时隙中广播业务时隙占用状态消息。When the occupancy status of the service time slot in the service time slot occupancy status table recorded by the node has not changed, and the service time slot is not all free, the service time slot is broadcast in the control time slot occupied by the node according to the preset period Occupy status message.
可选的,还包括:Optionally, it also includes:
在接收到一跳邻居节点广播的业务时隙占用状态消息后,该节点将接收的业务时隙占用状态消息,与该节点记录的业务时隙占用状态表中各业务时隙的占用状态进行比较,判断是否存在冲突业务时隙;所述冲突业务时隙为由MAC地址不同的两个节点同时占用的业务时隙;After receiving the service time slot occupancy status message broadcast by a one-hop neighbor node, the node compares the received service time slot occupancy status message with the occupancy status of each service time slot in the service time slot occupancy status table recorded by the node , Determine whether there is a conflicting service time slot; the conflicting service time slot is a service time slot occupied by two nodes with different MAC addresses at the same time;
如果存在所述冲突业务时隙,从所述冲突业务时隙对应的两个不同的MAC地址中,确定MAC地址小的节点的为竞争成功的节点;所述竞争成功的节点表示可继续占用所述冲突业务时隙的节点。If the conflicting service time slot exists, from the two different MAC addresses corresponding to the conflicting service time slot, it is determined that the node with the smaller MAC address is the node that succeeds in the competition; the node that succeeds in the competition indicates that it can continue to occupy all the nodes. The node of the conflicting service time slot.
可选的,在所述确定MAC地址小的节点的为竞争成功的节点之后,还包括:Optionally, after it is determined that the node with the smaller MAC address is the node that succeeds in the competition, the method further includes:
依据所述竞争成功的节点以及所述竞争成功的节点的MAC地址,更新该节点记录的业务时隙占用状态表中所述冲突业务时隙的占用状态、所述冲突业务时隙对应的MAC地址,以及在所述业务时隙占用状态表中标注所述冲突业务时隙被MAC地址小的节点占用,得到更新后的业务时隙占用状态表;Update the occupancy status of the conflicting service time slot and the MAC address corresponding to the conflicting service time slot in the service time slot occupancy status table recorded by the node according to the MAC addresses of the successfully competing node and the node that successfully competed , And mark in the service time slot occupancy status table that the conflicting service time slot is occupied by a node with a small MAC address, and obtain an updated service time slot occupancy status table;
依据所述更新后的业务时隙占用状态表,在该节点占用的控制时隙中广播业务时隙占用状态消息。According to the updated service time slot occupancy status table, a service time slot occupancy status message is broadcast in the control time slot occupied by the node.
可选的,还包括:Optionally, it also includes:
在接收到其它节点广播的语音的情况下,如果该节点与初始广播该接收的语音的节点属于同一个预设组时,将所接收到的语音进行放音。In the case of receiving a voice broadcast by another node, if the node and the node that initially broadcast the received voice belong to the same preset group, the received voice is played.
可选的,还包括:Optionally, it also includes:
在接收到其它节点广播的语音的情况下,如果该节点是所述其它节点 的中继节点,则该节点从所述MAC帧中选取业务时隙广播所接收到的语音。In the case of receiving a voice broadcast by another node, if the node is a relay node of the other node, the node selects a service time slot from the MAC frame to broadcast the received voice.
本申请还提供了一种基于无中心自组网的语音会议的通信装置,应用于接入无中心自组网中的任意一个节点,包括:This application also provides a voice conference communication device based on a non-central ad hoc network, which is applied to access any node in the non-central ad hoc network, including:
选择模块,用于在接收到广播语音的触发请求的情况下,选择业务时隙;所述业务时隙为预设的MAC帧中的部分业务时隙,所述MAC帧中的其它业务时隙用于其它节点广播语音;The selection module is used to select a service time slot when a trigger request for broadcast voice is received; the service time slot is a part of the service time slot in a preset MAC frame, and other service time slots in the MAC frame Used for other nodes to broadcast voice;
第一广播模块,用于在选择的业务时隙广播语音。The first broadcast module is used to broadcast voice in the selected service time slot.
可选的,所述MAC帧中包括目标数量个单帧;Optionally, the MAC frame includes a target number of single frames;
其中,所述目标数量为所述无中心自组网中的节点的数量与第一数值相除得到的商向上取整所得到的数值,所述第一数值为一个所述单帧中控制时隙的数量;所述目标数量个单帧为单帧序列中的前目标数量个单帧,所述单帧序列由帧号按照由小到大的顺序的单帧排列构成。Wherein, the target number is a value obtained by rounding up the quotient obtained by dividing the number of nodes in the non-centered ad hoc network by a first value, and the first value is a control time in the single frame The number of slots; the target number of single frames is the previous target number of single frames in the single frame sequence, and the single frame sequence is composed of single frames arranged in order of frame numbers from small to large.
可选的,还包括:Optionally, it also includes:
获取模块,用于在该节点接入所述无中心自组网之后,获取为该节点分配的MAC地址,所述MAC地址依据所述MAC帧中任意一个控制时隙唯一对应的编号确定;An obtaining module, configured to obtain a MAC address allocated for the node after the node accesses the centerless ad hoc network, the MAC address being determined according to the number uniquely corresponding to any control time slot in the MAC frame;
第一确定模块,用于依据所述MAC地址,确定该节点占用的控制时隙。The first determining module is configured to determine the control time slot occupied by the node according to the MAC address.
可选的,还包括:Optionally, it also includes:
第二广播模块,用于在该节点记录的业务时隙占用状态表中任一业务时隙的占用状态发生变化时,在该节点占用的控制时隙中广播业务时隙占 用状态消息;The second broadcast module is used to broadcast a service time slot occupancy status message in the control time slot occupied by the node when the occupancy status of any service time slot in the service time slot occupancy status table recorded by the node changes;
第三广播模块,用于在该节点记录的业务时隙占用状态表中业务时隙的占用状态未发生变化,且业务时隙非全部空闲的情况下,按照预设周期在该节点占用的控制时隙中广播业务时隙占用状态消息。The third broadcast module is used to control the occupancy of the node according to the preset period when the occupancy status of the service time slot in the service time slot occupancy status table recorded by the node has not changed, and the service time slot is not all free The broadcast service time slot occupancy status message in the time slot.
可选的,还包括:Optionally, it also includes:
比较模块,用于在接收到一跳邻居节点广播的业务时隙占用状态消息后,该节点将接收的业务时隙占用状态消息,与该节点记录的业务时隙占用状态表中各业务时隙的占用状态进行比较,判断是否存在冲突业务时隙;所述冲突业务时隙为由MAC地址不同的两个节点同时占用的业务时隙;The comparison module is used to, after receiving the service time slot occupancy status message broadcast by a one-hop neighbor node, the node will compare the received service time slot occupancy status message with each service time slot in the service time slot occupancy status table recorded by the node Compare the occupancy status of the two nodes to determine whether there is a conflicting service time slot; the conflicting service time slot is a service time slot occupied by two nodes with different MAC addresses at the same time;
第二确定模块,用于如果存在所述冲突业务时隙,从所述冲突业务时隙对应的两个不同的MAC地址中,确定MAC地址小的节点的为竞争成功的节点;所述竞争成功的节点表示可继续占用所述冲突业务时隙的节点。The second determining module is configured to determine, from two different MAC addresses corresponding to the conflicting service time slots, that the node with the smaller MAC address is the node that succeeds in the competition if the conflicting service time slot exists; the competition is successful A node indicates a node that can continue to occupy the conflicting service time slot.
可选的,还包括:Optionally, it also includes:
更新模块,用于在所述第二确定模块确定MAC地址小的节点的为竞争成功的节点之后,依据所述竞争成功的节点以及所述竞争成功的节点的MAC地址,更新该节点记录的业务时隙占用状态表中所述冲突业务时隙的占用状态、所述冲突业务时隙对应的MAC地址,以及在所述业务时隙占用状态表中标注所述冲突业务时隙被MAC地址小的节点占用,得到更新后的业务时隙占用状态表;The update module is used to update the service recorded by the node after the second determining module determines that the node with the smaller MAC address is the node that succeeds in the competition, according to the MAC address of the node that succeeds in the competition and the MAC address of the node that succeeds in the competition The occupancy status of the conflicting service time slot in the time slot occupancy status table, the MAC address corresponding to the conflicting service time slot, and the mark in the service time slot occupancy status table that the conflicting service time slot has a smaller MAC address The node is occupied, and the updated service time slot occupancy status table is obtained;
第三广播模块,用于依据所述更新后的业务时隙占用状态表,在该节点占用的控制时隙中广播业务时隙占用状态消息。The third broadcasting module is configured to broadcast a service time slot occupancy status message in the control time slot occupied by the node according to the updated service time slot occupancy status table.
可选的,还包括:Optionally, it also includes:
第一放音模块,用于在接收到其它节点广播的语音的情况下,如果该节点与初始广播该接收的语音的节点属于同一个预设组时,将所接收到的语音进行放音。The first sound playing module is used to play the received voice if the node and the node that initially broadcast the received voice belong to the same preset group when the voice broadcast by other nodes is received.
可选的,还包括:Optionally, it also includes:
第一放音模块,用于在接收到其它节点广播的语音的情况下,如果该节点是所述其它节点的中继节点,则该节点从所述MAC帧中选取业务时隙广播所接收到的语音。The first playback module is used to, in the case of receiving the voice broadcast by another node, if the node is a relay node of the other node, the node selects the service time slot from the MAC frame and broadcasts the received Voice.
本申请所述的一种基于无中心自组网中的语音会议的通信方法,在接收到广播语音的触发请求的情况下,选择业务时隙;其中,业务时隙为预设的MAC帧中的部分业务时隙,MAC帧中的其它业务时隙用于其它源节点广播语音,并在选择的业务时隙广播语音;由于该源节点所选择的业务时隙为预设的MAC帧中的部分业务时隙,并且,该MAC帧中的其他业务时隙用于其他节点广播语音,使得本申请的通信方法可以使无中心自组网中的多个节点广播语音的过程同时进行。The communication method based on the voice conference in the centerless ad hoc network described in this application selects the service time slot when the trigger request of the broadcast voice is received; wherein, the service time slot is a preset MAC frame Part of the service time slot of the MAC frame, other service time slots in the MAC frame are used for other source nodes to broadcast voice, and broadcast voice in the selected service time slot; because the service time slot selected by the source node is the preset MAC frame Part of the service time slots, and other service time slots in the MAC frame are used for other nodes to broadcast voice, so that the communication method of the present application can enable the process of multiple nodes in the centerless ad hoc network to broadcast voice simultaneously.
附图说明Description of the drawings
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to explain the embodiments of the present invention or the technical solutions in the prior art more clearly, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only These are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative work.
图1为本申请提供的一种基于无中心自组网的语音会议的通信方法与装置的应用场景示意图;FIG. 1 is a schematic diagram of an application scenario of a voice conference communication method and device based on a centerless ad hoc network provided by this application;
图2为本申请提供的一种基于TDMA的MAC帧的帧结构的示意图;2 is a schematic diagram of a frame structure of a TDMA-based MAC frame provided by this application;
图3为本申请提供的一种MAC帧中任意一个时隙的结构示意图;FIG. 3 is a schematic structural diagram of any time slot in a MAC frame provided by this application;
图4(a)为本申请提供的一种基于TDMA的MAC帧的帧结构的示意图;FIG. 4(a) is a schematic diagram of the frame structure of a TDMA-based MAC frame provided by this application;
图4(b)为本申请提供的一种MAC帧中任意一个时隙的结构示意图;Figure 4(b) is a schematic structural diagram of any time slot in a MAC frame provided by this application;
图5为本申请提供的一种MAC地址的分配过程的流程图;Figure 5 is a flowchart of a MAC address allocation process provided by this application;
图6为本申请提供的一种语音的广播方法实施例的流程图;FIG. 6 is a flowchart of an embodiment of a voice broadcasting method provided by this application;
图7为本申请提供的节点在接收到待占用业务时隙后的处理方法实施例的流程图;FIG. 7 is a flowchart of an embodiment of a method for processing a node provided by this application after receiving a service time slot to be occupied;
图8为本申请提供的一种语音接收方法实施例的流程图;FIG. 8 is a flowchart of an embodiment of a voice receiving method provided by this application;
图9为本申请提供的一种业务时隙占用状态冲突的处理方法实施例的流程图;FIG. 9 is a flowchart of an embodiment of a method for processing a service time slot occupancy status conflict provided by this application;
图10为本申请提供的一种无中心自组网的语音会议的通信装置实施例的结构示意图。FIG. 10 is a schematic structural diagram of an embodiment of a communication device for a voice conference without a central ad hoc network provided by this application.
具体实施方式Detailed ways
图1为本申请提供的一种基于无中心自组网的语音会议的通信方法与装置的应用场景示意图,包括:接入无中心自组网中的多个电台、与每个电台通过WIFI连接有智能终端设备,该智能终端设备为接入无中心自组网的电台配置预设初始参数。其中,该智能终端设备可以为PC,也可以为平板电脑等。Figure 1 is a schematic diagram of the application scenario of a voice conference communication method and device based on a centerless ad hoc network provided by this application, including: accessing multiple radio stations in the centerless ad hoc network and connecting to each radio station through WIFI There is an intelligent terminal device, which configures preset initial parameters for the radio station connected to the non-central ad hoc network. Wherein, the smart terminal device may be a PC, or a tablet computer, etc.
本申请提供的一种基于无中心自组网的语音会议的通信装置可以应用于上述应用场景中的任意一个电台,也可以独立设置。The communication device based on a voice conference based on a centerless ad hoc network provided in this application can be applied to any radio station in the above application scenarios, and can also be set independently.
以下为了方便描述,将电台统一采用节点进行描述。For the convenience of description, the radio stations will be described using nodes uniformly below.
本申请提供的一种基于无中心自组网的语音会议的通信装置所要实现的目的:对于接入无中心自组网的节点在进行语音会议的过程中,无中心自组网中的多个节点广播语音的过程可以同时进行。The purpose of a communication device based on a voice conference based on a non-central ad hoc network provided by this application is to achieve: for a node accessing a non-central ad hoc network during a voice conference, a plurality of nodes in the non-central ad hoc network The process of node broadcasting voice can be carried out at the same time.
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of this application.
为了实现上述的一种基于无中心自组网的语音会议的通信方法与装置,在本申请实施例中,允许预设数量节点广播语音的过程同时进行,其中,预设数量可以根据实际需求进行确定,在实际应用中,为了保证无中心自组网中的节点可以清楚的听到多个节点所广播的语音消息,一般预设数量的取值为1~3个中的任意一个数值;当然,具体允许自组网同时广播语音的节点的数量,本实施例不作具体限定。In order to realize the above-mentioned communication method and device for a voice conference based on a non-central ad hoc network, in the embodiment of the present application, the process of broadcasting voices by a preset number of nodes is allowed to be performed at the same time, wherein the preset number can be performed according to actual needs. To be sure, in actual applications, in order to ensure that nodes in a non-central ad hoc network can clearly hear the voice messages broadcast by multiple nodes, the preset number is generally any one of 1 to 3; of course; , The number of nodes that specifically allow the ad hoc network to broadcast voice at the same time is not specifically limited in this embodiment.
基于所设定的预设数量以及上述目的,本申请实施例给出了语音会议装置在广播或转发语音时所采用的介质访问控制(Media Access Control,MAC)帧的帧结构,以及无中心自组网中的任一节点广播、接收与转发语音的过程。Based on the preset number set and the above purpose, the embodiment of the application provides the frame structure of the Media Access Control (MAC) frame used by the voice conference device when broadcasting or forwarding voice, and the centerless self The process of any node in the network broadcasting, receiving and forwarding voice.
图2为本申请提供的一种基于TDMA的MAC帧的帧结构的示意图。Fig. 2 is a schematic diagram of a frame structure of a TDMA-based MAC frame provided by this application.
在本申请中,基于TDMA的MAC帧由多个时隙构成,包括控制时隙与业务时隙。其中,控制时隙用于时隙同步、邻居发现、路由维护以及业务时隙的占用情况广播等;业务时隙用于广播语音。在图2中,按照从左 到右的顺序依次为控制时隙与业务时隙,每个控制时隙配置有一个编号,每个业务时隙也配置有一个编号。In this application, a TDMA-based MAC frame is composed of multiple time slots, including control time slots and service time slots. Among them, the control time slot is used for time slot synchronization, neighbor discovery, route maintenance, and service time slot occupancy broadcasting, etc.; the service time slot is used for broadcasting voice. In Figure 2, there are control time slots and service time slots in order from left to right. Each control time slot is configured with a number, and each service time slot is also configured with a number.
其中,MAC帧中任意一个时隙的结构如图3所示,包括六部分,按照从左到右的顺序依次排列,其中,最左端的为第一部分,第一部分与第六部分起到保护的功能;第二部分为preamble(前导),用于物理层同步,保证接收节点能够收到发送节点的信令或者语音等数据;第三部分为MAC Head(MAC头部),用于携带所在帧的帧号,时隙号,发送节点的MAC ID等信息,主要用于时隙同步功能;第四部分为Payload(负载),用于自定义信令或者语音等数据;第五部分为前向纠错(Forward Error Correction,FEC),用于前向纠检错。Among them, the structure of any time slot in the MAC frame is shown in Figure 3, including six parts, arranged in order from left to right, where the leftmost part is the first part, and the first and sixth parts are protected Function; the second part is preamble (preamble), used for physical layer synchronization, to ensure that the receiving node can receive data such as signaling or voice from the sending node; the third part is MAC Head (MAC header), used to carry the frame The frame number, time slot number, MAC ID of the sending node and other information are mainly used for time slot synchronization; the fourth part is Payload (load), which is used for custom signaling or voice and other data; the fifth part is forward Error correction (Forward Error Correction, FEC) is used for forward error detection and correction.
基于TDMA的MAC帧的帧结构所涉及的参数包括:单帧的长度,单帧中每个时隙的长度,单帧中控制时隙与业务时隙的数量等。下面介绍在实现本申请所需达到的目的时,MAC帧的帧结构所涉及的参数需满足以下条件,其中,所需达到的目的包括:对于接入无中心自组网的节点在进行语音会议的过程中,无中心自组网中的多个节点广播语音的过程可以同时进行;对于该预设数量节点中的任一节点,无中心自组网中的其他节点都可以接收到该节点所广播的语音;并且,该节点在广播语音的过程中还可以接收其他节点所广播的语音。The parameters involved in the frame structure of the TDMA-based MAC frame include: the length of a single frame, the length of each time slot in a single frame, the number of control time slots and service time slots in a single frame, and so on. The following describes the parameters involved in the frame structure of the MAC frame that need to meet the following conditions to achieve the goals required by this application. Among them, the goals that need to be achieved include: voice conferences for nodes accessing a non-central ad hoc network During the process, the process of broadcasting voices by multiple nodes in the non-central ad hoc network can be carried out simultaneously; for any node in the preset number of nodes, other nodes in the non-central ad hoc network can receive the data of the node. Broadcast voice; and, the node can also receive voice broadcast by other nodes during the process of broadcasting voice.
第一条件:单帧的长度与一个时隙的语音传输时长之和不大于300ms。The first condition: the sum of the length of a single frame and the voice transmission duration of a time slot is not greater than 300ms.
由于单帧的长度与一个时隙的语音传输时长之和表示:接收同一个节点所广播的语音的过程中,相邻两次所接收到的语音间的间隔。在本申请中,当满足第一条件时,即单帧的长度与一个时隙的语音传输时长之和不 大于300ms时,可以使相邻两次接收同一个节点所广播的语音间的间隔不大于300ms,并且,由于在相邻两次接收到的语音间隔不大于300ms时,该用户在听觉上感觉相邻两次所听到的语音是无延迟的。因此,本条件可以使用户在听觉上达到无延迟的效果。Since the sum of the length of a single frame and the voice transmission duration of a time slot indicates the interval between the voices received twice in the process of receiving the voice broadcast by the same node. In this application, when the first condition is met, that is, when the sum of the length of a single frame and the voice transmission duration of a time slot is not greater than 300ms, the interval between two adjacent receptions of the voice broadcast by the same node can be different. It is greater than 300ms, and since the interval between two adjacent voices received is not greater than 300ms, the user can aurally feel that the voices heard twice adjacent to each other are without delay. Therefore, this condition can enable the user to achieve the effect of no delay in hearing.
在本实施例中,接入无中心自组网中的任意一个节点,在占用一个业务时隙广播语音的过程中,先从语音缓存队列采集语音,当时间到达所占用的业务时隙对应的时间时,对所采集的语音在该业务时隙进行广播。In this embodiment, when accessing any node in the centerless ad hoc network, in the process of occupying a service time slot to broadcast voice, first collect the voice from the voice buffer queue, and when the time reaches the corresponding service time slot occupied At time, the collected voice is broadcast in the service time slot.
相邻两次在所占用的业务时隙广播语音间的时长可以设置为采集N次语音的采集时长,其中,N为正整数;并且,又因为相邻两次在所占用的业务时隙广播语音间的时长就是单帧的长度。因此,在本申请实施例中,单帧的长度可以设置为采集N次语音的采集时长,在实际中,采集一次的时长需要根据节点设备的参数进行确定。本实施例不对N的具体取值作限定,只要确定N的取值后,基于N的取值确定出单帧的长度,使得单帧的长度与一个时隙的语音传输时长之和不大于300ms即可。The duration between two consecutive broadcasts in the occupied service time slot can be set to the collection duration of N voices, where N is a positive integer; and, because two consecutive broadcasts in the occupied service time slot The duration between voices is the length of a single frame. Therefore, in the embodiment of the present application, the length of a single frame can be set to the collection duration of N voices collected. In practice, the duration of one collection needs to be determined according to the parameters of the node device. This embodiment does not limit the specific value of N, as long as the value of N is determined, the length of a single frame is determined based on the value of N, so that the sum of the length of a single frame and the voice transmission duration of a time slot is not greater than 300ms That's it.
第二条件:单帧中每个时隙的payload所能承载的字节数量不小于采集N次所采集语音的字节总数量。The second condition: the number of bytes that can be carried by the payload of each time slot in a single frame is not less than the total number of bytes of the voice collected N times.
由于在第一条件中已叙述在每次到达所占用的业务时隙时,将采集N次所得到语音在该业务时隙广播,因此,单帧中一个时隙中payload所能承载的字节的总数量不小于采集N次所得到的语音的字节总数量。具体的,一个时隙中payload所能承载的字节的总数量越大,该时隙的长度越大;并且,可以基于一个时隙中payload所能承载的字节的总数量,确定一个时隙的长度,其中,时隙中payload所能承载的字节总数量与时隙的长度 间的计算公式为现有技术,这里不再赘述。Since it has been stated in the first condition that each time the occupied service time slot is reached, the voice collected N times will be broadcast in the service time slot. Therefore, the bytes that can be carried by the payload in a time slot in a single frame The total number of is not less than the total number of bytes of the voice obtained by collecting N times. Specifically, the greater the total number of bytes that the payload can carry in a time slot, the greater the length of the time slot; and, based on the total number of bytes that the payload can carry in a time slot, a time can be determined. The length of the slot, wherein the calculation formula between the total number of bytes that can be carried by the payload in the time slot and the length of the time slot is in the prior art, and will not be repeated here.
在本条件中,只限定了时隙中payload所能承载的字节的数量不小于采集N次所得到的字节总数量。本实施例不会对时隙中payload所能承载的字节的数量作限定。In this condition, it is only limited that the number of bytes that the payload can carry in the time slot is not less than the total number of bytes obtained by collecting N times. This embodiment does not limit the number of bytes that can be carried by the payload in the time slot.
需要说明的是,在本实施例中,由于时隙中的payload所能承载的字节的数量不小于采集N次所得到的字节的数量,因此,节点在每次广播语音时,占用单帧中的一个编号的业务时隙即可。It should be noted that in this embodiment, since the number of bytes that can be carried by the payload in the time slot is not less than the number of bytes obtained by collecting N times, each time the node broadcasts voice, it will occupy a single unit. Just one numbered service time slot in the frame.
基于上述第一条件可以确定出一个MAC单帧的长度,基于上述第二条件可以确定出该MAC单帧中一个时隙的长度;基于确定出的MAC单帧的长度和MAC单帧中一个时隙的长度,可以确定出一个MAC单帧所包括的时隙的总数量。The length of a single MAC frame can be determined based on the above first condition, and the length of a time slot in the MAC single frame can be determined based on the above second condition; based on the determined length of the MAC single frame and one time in the MAC single frame The length of the slot can determine the total number of slots included in a single MAC frame.
基于一个MAC帧中所包括的时隙的总数量,确定该时隙总数量中控制时隙的数量和业务时隙的数量,需满足以下条件:Based on the total number of time slots included in a MAC frame, to determine the number of control time slots and the number of service time slots in the total number of time slots, the following conditions must be met:
第一、控制时隙的数量与业务时隙的数量之和为该MAC帧中时隙的总数量。First, the sum of the number of control time slots and the number of service time slots is the total number of time slots in the MAC frame.
第二、在本实施例中,允许第一预设数量(P)的节点广播语音的过程同时进行,站在节点的角度,如果该节点不是无中心自组网中广播过程同时的节点中的节点,并且,该节点是中继节点,一个业务时隙可以承载第二预设数量(R)路语音,则该节点最多需要占用P+P/R个业务时隙,因此,需要一个MAC单帧至少存在P+P/R个业务时隙。如果站在无中心自组网的角度,如果该无中心自组网中中继节点的数量为N个,则该无中心自组网需要占用P+P*N/R个业务时隙。其中,对于无中心自组网中中继节 点的数量的设定,需要根据实际情况进行确定,只要保证无中心自组网中任意一个节点所广播的语音能够使得无中心自组网中其他的任意一个节点可以接收到即可。Second, in this embodiment, the process of allowing the first preset number (P) of nodes to broadcast voice at the same time, from the point of view of the node, if the node is not among the nodes where the broadcast process is simultaneous in the non-central ad hoc network Node, and the node is a relay node, and one service time slot can carry the second preset number (R) of voices, then the node needs to occupy P+P/R service time slots at most. Therefore, a MAC single There are at least P+P/R service time slots in the frame. From the perspective of the non-central ad hoc network, if the number of relay nodes in the non-central ad hoc network is N, the non-central ad hoc network needs to occupy P+P*N/R service time slots. Among them, the setting of the number of relay nodes in the non-central ad hoc network needs to be determined according to the actual situation, as long as it is ensured that the voice broadcast by any node in the non-central ad hoc network can make the other in the non-central ad hoc network Any node can receive it.
在满足上述中的第一与第二两个条件后,一个MAC单帧中控制时隙与业务时隙的数量,可以有多种取值情况,本实施例不对具体的取值情况作限定,只要能够方便地进行帧结构伸缩变化,保证通信的效率即可。After satisfying the first and second conditions mentioned above, the number of control time slots and service time slots in a single MAC frame can have multiple values. This embodiment does not limit the specific value. As long as the frame structure can be easily expanded and contracted to ensure the efficiency of communication.
在本实施例中,以允许接入网络的节点中的6个节点广播语音的过程同时进行为例,介绍本实施例满足上述三个条件时,所确定出的MAC单帧的各参数的取值。In this embodiment, taking the process of allowing 6 nodes of the nodes to access the network to broadcast voice at the same time as an example, the selection of the parameters of the MAC single frame determined when the above three conditions are met in this embodiment is introduced. value.
具体的,采用采集一次语音所需的时间为25ms,本实施例中,采用采集两次发送一次,因此,所设计的单帧的长度为50ms。Specifically, the time required to collect the voice once is 25ms. In this embodiment, the voice is collected twice and sent once. Therefore, the length of the designed single frame is 50ms.
按照语音采集速度为2.4kbps,采集一次所采集的数据量为2.4kbps*25ms=60bit=7.5个字节,在一个单帧的时长内可以采集两次,即到达所占用的时隙的时间时,需要发送15个字节的语音数据,一般还需发送一个3字节的数据。因此,一个时隙中的payload所能承载的字节的数量不小于18,在本实施例中,第一部分为150us;第二部分的Preamble为7字节,其中,包括2字节的同步字节;第三部分的MAC Head为3字节;第四部分的payload所能承载的字节的数量为36;第五部分的FEC为25字节;第六部分为50us;因此,一个时隙所能承载的字节的数量为71字节,如图4(a)所示。按照物理层信息速率为250kbps,一个时隙的时长为2.5ms,进而,一个MAC单帧中包括20个时隙。According to the voice collection speed of 2.4kbps, the amount of data collected once is 2.4kbps*25ms=60bit=7.5 bytes, and it can be collected twice in a single frame time, that is, when it reaches the time of the occupied time slot , Need to send 15 bytes of voice data, generally need to send a 3-byte data. Therefore, the number of bytes that can be carried by the payload in a time slot is not less than 18. In this embodiment, the first part is 150us; the second part of the Preamble is 7 bytes, including 2 bytes of synchronization word Section; The MAC Head of the third part is 3 bytes; the number of bytes that the payload of the fourth part can carry is 36; the FEC of the fifth part is 25 bytes; the sixth part is 50us; therefore, one time slot The number of bytes that can be carried is 71 bytes, as shown in Figure 4(a). According to the physical layer information rate of 250 kbps, the duration of a time slot is 2.5 ms, and further, a single MAC frame includes 20 time slots.
由于允许接入网络的节点中的6个节点广播语音的过程可以同时进 行;依据确定MAC单帧中控制时隙与业务时隙数量的原理,可以设定MAC单帧中控制时隙的数量为4个,此时,可以确定出单帧中业务时隙的数量为16个。具体的,本实施例提供的MAC帧的帧结构如图4(b)所示,按照从左到右的顺序,依次为CS0~CS3,TS0~TS15,其中,CS0~CS3为4个控制时隙,TS0~TS15为16个业务时隙。Because the process of 6 nodes in the nodes that are allowed to access the network can be carried out at the same time; according to the principle of determining the number of control timeslots and service timeslots in a single MAC frame, the number of control timeslots in a single MAC frame can be set as 4. At this time, it can be determined that the number of service time slots in a single frame is 16. Specifically, the frame structure of the MAC frame provided by this embodiment is shown in Figure 4(b), in the order from left to right, CS0~CS3, TS0~TS15, among which CS0~CS3 are 4 control cases. Slots, TS0~TS15 are 16 service time slots.
在本申请中,需要为接入无中心自组网中的任意一个节点分配一个控制时隙,当一个MAC单帧中控制时隙的数量确定后,并且允许接入无中心自组网的节点的最大数量确定的情况下,可以确定出该最大数量的节点所需MAC单帧的数量。所确定出的所需数量的MAC单帧构成为MAC复帧,并且,MAC复帧中的每个MAC单帧都对应一个帧号,并且,帧号越小的MAC单帧所对应的时间越早。In this application, it is necessary to allocate a control time slot for any node that accesses the non-centralized ad hoc network. When the number of control time slots in a single MAC frame is determined, the node that is allowed to access the non-centralized ad hoc network is allowed When the maximum number of is determined, the number of MAC single frames required by the maximum number of nodes can be determined. The determined required number of MAC single frames are constituted as MAC multiframes, and each MAC single frame in the MAC multiframe corresponds to a frame number, and the smaller the frame number, the longer the time corresponding to the MAC single frame. early.
例如,最大允许接入无中心自组网中的节点的最大数量为24个,一个MAC单帧中包括4个控制时隙,其中,每个节点都应该对应一个控制时隙,因此,在这24个节点都接入无中心自组网时,总共需要6个MAC单帧。这6个MAC单帧中每个单帧对应一个帧号。For example, the maximum number of nodes allowed to access the non-centralized ad hoc network is 24, and a single MAC frame includes 4 control time slots. Among them, each node should correspond to a control time slot. Therefore, here When all 24 nodes are connected to the non-centralized ad hoc network, a total of 6 MAC single frames are required. Each of the 6 MAC single frames corresponds to a frame number.
在依据本申请提供的三个条件确定出的MAC单帧后,基于MAC单帧,为接入无中心自组网中的任意一个节点分配控制时隙。具体的,对于任意一个节点都对应有一个媒体访问控制(Media Access Control Address,MAC)地址,该节点依据自己的MAC地址与复帧中控制时隙编号间的预设对应关系,就可以确定出该节点所对应的控制时隙。After the MAC single frame is determined according to the three conditions provided in this application, based on the MAC single frame, a control time slot is allocated to any node that accesses the centerless ad hoc network. Specifically, for any node, there is a Media Access Control Address (MAC) address, and the node can determine according to the preset correspondence between its MAC address and the control time slot number in the multiframe The control time slot corresponding to this node.
具体的,图5为一种MAC地址的分配过程,执行主体为MAC地址的 分配装置,该MAC地址的分配装置可以配置在与每个节点连接的智能终端设备中。Specifically, Fig. 5 shows a MAC address allocation process. The execution subject is a MAC address allocation device, and the MAC address allocation device can be configured in an intelligent terminal device connected to each node.
在本申请中,当业务人员检测到有节点接入无中心自组网后,业务人员统计当前接入无中心自组网中的节点的数量NR,并将该NR的取值输入智能终端设备。In this application, when the business staff detects that a node is connected to the non-central ad hoc network, the business staff counts the number NR of nodes currently connected to the non-central ad hoc network, and enters the value of this NR into the smart terminal device .
具体的,智能终端设备中的MAC地址的分配方法,可以包括以下步骤:Specifically, the MAC address allocation method in the smart terminal device may include the following steps:
S501、在接收到为待分配节点分配MAC地址的指令时,确定接入无中心自组网中的节点所需占用的单帧的数量。S501: When receiving an instruction to allocate a MAC address to a node to be allocated, determine the number of single frames required to access a node in the centerless ad hoc network.
在本步骤中,当存在接入无中心自组网中的节点时,为了描述方便,将当前已接入无中心自组网中的节点称为待分配节点。在所接收的指令中包括表示当前已接入无中心自组网的节点的总个数,具体的,依据以下公式(1),确定所需占用的单帧的数量。In this step, when there are nodes connected to the non-centralized ad hoc network, for the convenience of description, the nodes currently connected to the non-centralized ad hoc network are referred to as nodes to be allocated. The received instruction includes the total number of nodes currently connected to the non-centralized ad hoc network. Specifically, the number of single frames that need to be occupied is determined according to the following formula (1).
MF=ROUNDUP(NR/M)        (1)MF=ROUNDUP(NR/M) (1)
其中,NR表示当前接入无中心自组网中的节点的总个数;M表示一个单帧所包括的控制时隙的个数;ROUNDUP表示向上取整;MF表示当前接入无中心自组网的节点所需占用单帧的数量。Among them, NR represents the total number of nodes currently connected to the non-central ad hoc network; M represents the number of control time slots included in a single frame; ROUNDUP represents rounding up; MF represents the current access non-central ad hoc network The number of single frames that the nodes of the network need to occupy.
S502、依据复帧中控制时隙的编号与预设MAC地址间的预设对应关系,确定满足预设条件的MAC地址为候选MAC地址。S502: Determine a MAC address that meets the preset condition as a candidate MAC address according to the preset correspondence between the number of the control time slot in the multiframe and the preset MAC address.
其中,预设对应关系为一个MAC地址对应一个复帧中的一个控制时隙的编号。具体的,在本实施例中,MAC地址与复帧中控制时隙的编号间的预设对应关系可以包括以下公式(2)与公式(3)。The preset correspondence relationship is that one MAC address corresponds to the number of one control slot in one multiframe. Specifically, in this embodiment, the preset correspondence between the MAC address and the number of the control slot in the multiframe may include the following formula (2) and formula (3).
I=(MAC-1)/4          (2)I=(MAC-1)/4 (2)
P=(MAC-1)%4          (3)P=(MAC-1)%4 (3)
式中,I表示单帧的帧号,MAC表示MAC地址,(MAC-1)/4表示MAC地址减1后除以4得到的商;P表示单帧中控制时隙对应的编号,(MAC-1)%4表示MAC地址减1后除以4得到的余数。In the formula, I represents the frame number of a single frame, MAC represents the MAC address, (MAC-1)/4 represents the quotient of the MAC address minus 1 and divided by 4; P represents the number corresponding to the control slot in the single frame, (MAC -1)%4 represents the remainder obtained by subtracting 1 from the MAC address and dividing it by 4.
预设条件包括:与以复帧中最小帧号为起始帧号的所需数量单帧的控制时隙相对应。在本实施例中,为了描述方便,将所确定出的满足预设条件的MAC地址称为候选MAC地址。The preset conditions include: corresponding to the required number of control time slots of a single frame with the smallest frame number in the multiframe as the starting frame number. In this embodiment, for the convenience of description, the determined MAC address that meets the preset condition is called a candidate MAC address.
S503、从候选MAC地址中,确定出数量与待分配节点数量相同的MAC地址。S503: Determine from the candidate MAC addresses the same number of MAC addresses as the number of nodes to be allocated.
S504、按照为一个节点分配一个MAC地址的原则,将所确定的MAC地址发送给待分配节点。S504: According to the principle of assigning one MAC address to a node, send the determined MAC address to the node to be assigned.
在本步骤中,基于所确定出的MAC地址,将一个MAC地址发送给一个节点,对于将哪一个MAC地址分配给哪一个待分配的节点,本实施例不作限定。In this step, based on the determined MAC address, a MAC address is sent to a node, and this embodiment does not limit which MAC address is allocated to which node to be allocated.
现有技术中,按照事先为每个节点配置了MAC地址,以及MAC地址与复帧中控制时隙间的对应关系,确定接入网络中的节点所占用的单帧中可能存在较多的控制时隙没有被占用,进而,造成控制时隙的浪费。In the prior art, according to the MAC address configured for each node in advance and the correspondence between the MAC address and the control time slot in the multiframe, it is determined that there may be more control in the single frame occupied by the node in the access network. The time slot is not occupied, which in turn causes a waste of control time slots.
在本实施例中,确定接入无中心自组网中的节点所需占用的单帧的数量;按照MAC地址与复帧中控制时隙间的预设对应关系,确定满足预设条件的候选MAC地址,由于预设条件包括:与复帧中以最小帧号为起始帧的所需数量单帧中的控制时隙相对应,使得满足预设条件的候选MAC 帧对应的单帧为,复帧中从最小帧号为起始帧的所需数量的单帧,该所需数量的单帧就是待分配节点间通信所占用的单帧。由于本实施例在每次为待分配节点分配MAC地址时,都会确定出复帧中以最小帧号为起始帧号的所需占用数量的单帧,使得接入网络中的节点所占用的单帧的数量最小。因此,按照本实施例为待分配节点分配MAC地址的方法,可以将浪费的控制时隙的数量减少到最小,进而可以提高信道的利用率。In this embodiment, the number of single frames required to access the nodes in the centerless ad hoc network is determined; according to the preset correspondence between the MAC address and the control time slot in the multiframe, the candidates that meet the preset conditions are determined The MAC address, because the preset conditions include: corresponding to the control slots in the required number of single frames with the smallest frame number as the starting frame in the multiframe, so that the single frame corresponding to the candidate MAC frame that meets the preset conditions is, The required number of single frames from the minimum frame number to the starting frame in the multiframe is the single frame occupied by the communication between the nodes to be allocated. Since this embodiment will determine the required number of single frames with the smallest frame number as the starting frame number in the multi-frame each time the MAC address is allocated to the node to be allocated, so that the number of single frames occupied by the nodes in the access network is The number of single frames is the smallest. Therefore, according to the method for allocating MAC addresses to the nodes to be allocated according to this embodiment, the number of wasted control time slots can be reduced to a minimum, and the utilization rate of the channel can be improved.
在为接入无中心自组网中的节点分配MAC地址后,节点可以按照MAC地址与控制时隙的编号间的预设对应关系,确定节点所需占用的控制时隙。在本实施例中,节点广播语音时所需占用的业务时隙通过竞争的方式确定的,具体的,图6为本申请提供的一种语音的广播方法,可以包括以下步骤:After allocating MAC addresses for the nodes that access the centerless ad hoc network, the nodes can determine the control time slots that the nodes need to occupy according to the preset correspondence between the MAC addresses and the numbers of the control time slots. In this embodiment, the service time slot that a node needs to occupy when broadcasting voice is determined by means of competition. Specifically, FIG. 6 is a voice broadcasting method provided by this application, which may include the following steps:
S601、在接收到广播语音的触发请求的情况下,判断该触发请求是否为组播请求。S601: In the case of receiving a trigger request for broadcast voice, determine whether the trigger request is a multicast request.
当节点的使用者触发讲话请求时,就触发了发送语音的请求。由于在实际中,对于接入无中心自组网中的节点,其中部分节点可能组成一个组,使得该组中的任意一个节点广播语音时,只有属于该组中的其他节点可以收听,组外的节点不能收听。When the user of the node triggers a speech request, it triggers a request to send voice. In practice, for the nodes accessing the non-central ad hoc network, some of the nodes may form a group, so that when any node in the group broadcasts voice, only other nodes in the group can listen to it. The node cannot listen.
在实际中,节点上可以设置两个按键,其中一个按键用于进行组内通信,另一个按键用于无中心自组网内通信。因此,在本步骤中,判断请求是否为组播请求的方式可以包括:通过用户触发请求的按键。In practice, two buttons can be set on the node, one button is used for intra-group communication, and the other button is used for non-centered ad hoc network communication. Therefore, in this step, the method of determining whether the request is a multicast request may include: triggering a key of the request by the user.
在请求为组播请求的情况下,执行S602,否则,执行S603。If the request is a multicast request, execute S602; otherwise, execute S603.
S602、判断当前组内语音广播过程同时进行的节点的个数是否小于第一预设数量。S602: Determine whether the number of nodes in the current group that are simultaneously performing the voice broadcast process is less than a first preset number.
在本步骤中,事先设定了一个组内所允许同时广播语音的节点的最大数量,为了描述方便,将预先设定的表示一个组内所允许同时广播语音的节点的最大数量,称为第一预设数量。In this step, the maximum number of nodes that are allowed to simultaneously broadcast voices in a group is set in advance. For the convenience of description, the preset maximum number of nodes that are allowed to broadcast voices in a group is called the first A preset quantity.
具体的,本步骤中,判断当前组内语音广播同时进行的节点的个数是否小于第一预设数量的判断方式可以包括:Specifically, in this step, the judging method for judging whether the number of simultaneous voice broadcast nodes in the current group is less than the first preset number may include:
通过当前节点所支持的语音通道中被占用的语音通道的数量中,组内的节点占用的节点的数量就是组内当前正在同时进行语音广播的节点的数量,判断当前组内语音广播过程同时进行的节点的数量是否小于第一预设数量。具体的,本实施例中设置第一预设数量为3,即组内最大支持3路语音广播过程同时进行。Through the number of occupied voice channels in the voice channels supported by the current node, the number of nodes occupied by the nodes in the group is the number of nodes in the group that are currently performing voice broadcasting at the same time, and it is judged that the voice broadcasting process in the current group is going on at the same time Whether the number of nodes is less than the first preset number. Specifically, in this embodiment, the first preset number is set to 3, that is, a maximum of 3 voice broadcast processes in the group can be performed simultaneously.
在小于第一预设数量的情况下,执行S603,否则,结束。If it is less than the first preset number, execute S603, otherwise, end.
S603、判断当前无中心自组网内语音广播过程同时进行的节点的个数是否小于第二预设数量。S603: Determine whether the number of nodes that are currently performing the voice broadcast process in the non-central ad hoc network at the same time is less than a second preset number.
在本实施例中,事先设定了无中心自组网内所允许同时广播语音的节点的最大数量,为了描述方便,将预先设定的表示无中心自组网内所允许同时广播语音的节点的最大数量,称为第二预设数量。In this embodiment, the maximum number of nodes that are allowed to simultaneously broadcast voice in the non-centralized ad hoc network is set in advance. For the convenience of description, the preset will indicate the nodes that are allowed to simultaneously broadcast voice in the non-centralized ad hoc network. The maximum quantity is called the second preset quantity.
具体的,本步骤的判断方式可以包括:Specifically, the judgment method in this step may include:
通过当前节点所支持的语音通道中被占用的语音通道的数量中,网内的节点占用的节点的数量就是网内当前正在同时进行语音广播的节点的数量,并判断当前网内语音广播过程同时进行的节点的数量是否小于第二预 设数量。具体的,本实施例中设置第二预设数量为6,即网内最大支持6路语音广播过程同时进行。Among the number of occupied voice channels in the voice channels supported by the current node, the number of nodes occupied by nodes in the network is the number of nodes currently performing voice broadcasts in the network, and it is judged that the current voice broadcast process in the network is at the same time Whether the number of nodes in progress is less than the second preset number. Specifically, in this embodiment, the second preset number is set to 6, that is, the network supports a maximum of 6 voice broadcast processes at the same time.
在小于第二预设数量的情况下,执行S604,否则,结束。If it is less than the second preset number, execute S604, otherwise, end.
S604、占用一路语音通道,记录所占用的语音通道的信息,以及初始化语音缓存队列。S604. Occupy one voice channel, record the information of the occupied voice channel, and initialize the voice buffer queue.
在本实施例中,以无中心自组网内的任意一个节点为例,允许预设数量节点的语音广播的过程同时进行,因此,在该过程中,该节点可能是广播一路语音,接收剩余路数的语音,对所接收的语音不进行转发;该节点也可能是在接收预设数量路语音后,对所接收的部分路数语音进行转发;该节点也可能是在接收预设数量路语音,并对所接收的预设数量路语音进行转发。因此,无中心自组网内的任意一个节点,在该过程中发送和转发的语音总路数为该预设路数。在本实施例中,每个节点具有处理预设路数语音的能力,为了描述方便,将具有处理预设数量路语音的能力称为支持预设数量语音通道。In this embodiment, taking any node in the centerless ad hoc network as an example, the process of voice broadcasting of a preset number of nodes is allowed to proceed simultaneously. Therefore, in this process, the node may broadcast one voice and receive the remaining voice. The number of voice channels does not forward the received voice; the node may also forward some of the received voice channels after receiving the preset number of voice channels; the node may also be receiving the preset number of voice channels. Voice, and forward the preset number of voice channels received. Therefore, for any node in the centerless ad hoc network, the total number of voice channels sent and forwarded in the process is the preset number of channels. In this embodiment, each node has the ability to process a preset number of voices. For the convenience of description, the ability to process a preset number of voices is referred to as supporting a preset number of voice channels.
在本步骤中,占用一路语音通道,并记录当前所占用的语音通道的信息,具体的,可以记录当前所占用的语音通道的ID。同时,在本实施例中,语音缓存队列用于对用户所讲的语音进行缓存;在本实施例中,语音缓存队列一种有六个,满足六方同时进行语音通话的过程的语音缓存;在本步骤中,初始化语音缓存队列,具体的,对语音缓存队列进行初始化表示保证语音缓存队列中没有任何语音数据,语音缓存队列为空闲,使得当有语音数据到达时,节点可以选择空闲的语音缓存队列进行语音缓存。In this step, one voice channel is occupied and the information of the currently occupied voice channel is recorded. Specifically, the ID of the currently occupied voice channel can be recorded. At the same time, in this embodiment, the voice buffer queue is used to buffer the voice spoken by the user; in this embodiment, there are six voice buffer queues in one type, which is sufficient for voice buffering in the process of simultaneous voice calls by six parties; In this step, the voice buffer queue is initialized. Specifically, the initialization of the voice buffer queue means to ensure that there is no voice data in the voice buffer queue, and the voice buffer queue is idle, so that when voice data arrives, the node can select an idle voice buffer The queue performs voice buffering.
S605、判断是否需要占用新时隙。S605: Determine whether a new time slot needs to be occupied.
在本申请中,设计MAC帧时,一个时隙中的payload所能承载的字节数量大于采集N次语音所得到的字节的数量,在本实施例中,一个时隙中的payload所能承载的字节的数量是采集N次语音所得到的字节的数量的两倍,因此,在本实施例中一个时隙可以承载两路语音。In this application, when designing a MAC frame, the number of bytes that can be carried by a payload in a time slot is greater than the number of bytes obtained by collecting N voices. In this embodiment, the payload in a time slot can The number of bytes carried is twice the number of bytes obtained by collecting N voices. Therefore, in this embodiment, one time slot can carry two voices.
在本实施例中,当节点当前占用一个业务时隙转发一路语音,该节点同样可以利用该时隙进行语音广播,此时,节点就无需重新竞争时隙,即无需占用新时隙。否则,当前节点没有占用业务时隙进行语音的转发,此时,该节点就需要竞争一个时隙进行语音广播。In this embodiment, when a node currently occupies a service time slot to forward a voice, the node can also use the time slot for voice broadcast. At this time, the node does not need to compete for the time slot again, that is, it does not need to occupy a new time slot. Otherwise, the current node does not occupy the service time slot for voice forwarding. At this time, the node needs to compete for a time slot for voice broadcast.
如果需要,则执行S606,否则,执行S608。If necessary, execute S606, otherwise, execute S608.
S606、确定待占用业务时隙,启动等待时隙占用定时器,添加当前已占用的一个语音通道信息到该待占用业务时隙。S606. Determine the service time slot to be occupied, start a waiting time slot occupancy timer, and add information about a voice channel currently occupied to the service time slot to be occupied.
在本实施例中,接入无中心自组网中的任意一个节点都分配有一个控制时隙,每个接入无中心自组网中的节点都配置有一个业务时隙占用状态表,该业务时隙占用状态表用于该节点记录各业务时隙的占用状态,以及占用业务时隙的节点的MAC地址。In this embodiment, any node accessing the non-central ad hoc network is assigned a control time slot, and each node accessing the non-central ad hoc network is configured with a service time slot occupancy status table. The service time slot occupancy status table is used for the node to record the occupancy status of each service time slot and the MAC address of the node occupying the service time slot.
具体的,任意一个业务时隙的占用状态可以为以下几种候选占用状态中的一种。在本申请实施例中,候选占用状态包括:空闲、一跳邻居节点占用、二跳邻居节点占用、本节点占用;其中,某节点占用表示该某节点采用该业务时隙广播语音。Specifically, the occupancy state of any service time slot may be one of the following candidate occupancy states. In the embodiment of the present application, the candidate occupation states include: idle, one-hop neighbor node occupation, two-hop neighbor node occupation, and local node occupation; where a certain node occupies means that a certain node uses the service time slot to broadcast voice.
其中,对于接入无中心自组网中的任意一个节点来说,该节点的一跳邻居节点为该节点直接接收到的信息的发送节点,例如,A节点在控制时隙上接收到了B节点广播的信息,则对于A节点来说,B节点就是A节点 的一跳邻居节点。Among them, for any node that accesses the centerless ad hoc network, the one-hop neighbor node of the node is the sending node of the information directly received by the node, for example, node A receives node B in the control time slot For the broadcast information, for node A, node B is the one-hop neighbor node of node A.
该节点的二跳邻居节点为需要通过一次转发所接收到的信息的发送节点。例如,A节点在控制时隙上接收到B节点广播的信息,该信息由C节点广播给B节点;此时,A的二跳邻居节点就是C节点。The two-hop neighbor node of this node is a sending node that needs to forward the received information at one time. For example, node A receives the information broadcast by node B on the control time slot, and the information is broadcast by node C to node B; at this time, the two-hop neighbor node of A is node C.
在本实施例中,对于接入无中心自组网中的任意一个节点,在满足预设发送条件时,在所对应的控制时隙对业务时隙占用状态表的预设内容进行广播,为了描述方便,将该节点所广播的信息称为该节点的业务时隙占用状态消息。In this embodiment, for any node that accesses the centerless ad hoc network, when the preset sending condition is met, the preset content of the service time slot occupancy state table is broadcast in the corresponding control time slot, in order to The description is convenient, and the information broadcast by the node is called the service time slot occupancy status message of the node.
如果对于该节点记录的业务时隙占用状态表中的任意一个业务时隙,该业务时隙占用情况如果为二跳邻居节点占用,在发送业务时隙占用状态消息时,该业务时隙占用情况为空闲。If for any one of the service time slots in the service time slot occupancy status table recorded by the node, if the service time slot occupancy is occupied by a two-hop neighbor node, when sending the service time slot occupancy status message, the service time slot occupancy status Is free.
其中,预设发送时机包括两种。Among them, the preset sending timing includes two kinds.
第一种:该节点的业务时隙占用状态表中的内容发生变化时,在该节点对应的控制时隙上广播业务时隙占用状态消息,此时,该节点的一跳邻居节点就会接收到该节点广播的业务时隙占用状态消息。The first type: when the content of the service time slot occupancy status table of the node changes, broadcast the service time slot occupancy status message on the corresponding control time slot of the node. At this time, the one-hop neighbor node of the node will receive it. The service time slot occupancy status message broadcast to this node.
第二种:该节点的业务时隙占用状态表中的业务时隙是非全空闲时,周期性发送。The second type: when the service time slot of the node's service time slot occupancy status table is not completely idle, it is sent periodically.
在本步骤中,该节点从业务时隙占用状态表记录的处于空闲状态的各业务时隙中,随机确定一个业务时隙作为待占用业务时隙。并且,该节点将业务时隙占用状态表中待占用业务时隙的占用情况更新为表示申请占用的信息。In this step, the node randomly determines a service time slot as the service time slot to be occupied from among the service time slots in the idle state recorded in the service time slot occupancy status table. In addition, the node updates the occupancy status of the service time slot to be occupied in the service time slot occupancy status table to the information indicating the application for occupancy.
在本步骤中,等待时隙占用定时器表示从本步骤中确定待占用业务时 隙开始进行计时预设时长。如果在该等待时隙占用定时器计时范围内,未收到表示待占用业务时隙不可占用的信息,则表示该节点可以占用该待占用业务时隙,否则,该节点不能占用该待占用业务时隙。In this step, the waiting time slot occupancy timer means that the service time slot to be occupied is determined in this step to start timing the preset time. If within the range of the waiting time slot occupancy timer, no information indicating that the service time slot to be occupied cannot be occupied is not received, it means that the node can occupy the service time slot to be occupied, otherwise, the node cannot occupy the service to be occupied Time slot.
并且,在本步骤中,将最新占用的一个语音通道(S604中所占用的话音通道)添加到待占用业务时隙。需要说明的是,此时,并不能在待占用业务时隙中广播语音。In addition, in this step, the newly occupied voice channel (the voice channel occupied in S604) is added to the service time slot to be occupied. It should be noted that, at this time, voice cannot be broadcast in the service time slot to be occupied.
S607、在控制时隙广播业务时隙占用状态消息。S607: Broadcast a service time slot occupancy status message in the control time slot.
在本步骤中,依据业务时隙占用表,在对应的控制时隙广播业务时隙占用状态消息,该节点的一跳邻居节点接收到该节点的业务时隙占用状态消息后,判断该待占用业务时隙是否可被该节点占用,具体的,判断该待占用业务时隙是否可被该节点占用的过程,在图对应的实施例中介绍,这里不再赘述。In this step, according to the service time slot occupancy table, the service time slot occupancy status message is broadcast in the corresponding control time slot. After the one-hop neighbor node of the node receives the service time slot occupancy status message of the node, it judges that the to-be-occupied Whether the service time slot can be occupied by the node, specifically, the process of judging whether the service time slot to be occupied can be occupied by the node is introduced in the embodiment corresponding to the figure, and will not be repeated here.
在待占用业务时隙能被该节点占用的情况下,执行S609,具体的,可以是等待时隙占用定时器的计时超时,还未收到表示待占用业务时隙不能被该节点占用的信息;或者,在该等待时隙占用定时器的计时范围内,接收到表示该节点可以占用该待占用业务时隙的信息,执行S609。In the case that the service time slot to be occupied can be occupied by the node, execute S609. Specifically, it may be waiting for the timeout of the time slot occupation timer to expire, and the information indicating that the service time slot to be occupied cannot be occupied by the node has not been received. Or, within the timing range of the waiting time slot occupancy timer, receiving the information indicating that the node can occupy the to-be-occupied service time slot, execute S609.
S608、添加当前占用的语音通道信息。S608: Add the currently occupied voice channel information.
在不需申请占用新时隙的情况下,执行本步骤,具体的,将所占用的语音通道(S605确定出的语音通道)的信息添加到已占用的业务时隙中,并执行S609。If there is no need to apply for occupying a new time slot, this step is executed. Specifically, the information of the occupied voice channel (the voice channel determined in S605) is added to the occupied service time slot, and S609 is executed.
S609、采集语音数据。S609. Collect voice data.
在本步骤中,对节点使用者所讲的话进行采集,具体的,在本实施例 中,采集25ms得到的数据作为一次采集得到的语音数据,并且采集的过程是连续的。In this step, the words spoken by the node user are collected. Specifically, in this embodiment, the data collected in 25 ms is used as the voice data obtained in one collection, and the collection process is continuous.
S610、在业务时隙上发送采集得到的语音数据。S610: Send the collected voice data in the service time slot.
在待占用业务时隙能被该节点占用的情况下,在本步骤中,在待占用业务时隙上发送采集N此所得到的语音数据;在存在已占用的业务时隙的情况下,在本步骤中,在已占用的业务时隙发送采集得到的语音数据。In the case that the service time slot to be occupied can be occupied by the node, in this step, the voice data obtained by collecting N pieces is sent on the service time slot to be occupied; in the case that there is an occupied service time slot, In this step, the collected voice data is sent in the occupied service time slot.
S611、在当前路语音广播完成的情况下,删除广播当前路语音所占用的语音通道的信息,并释放广播当前路语音所占用的语音通道。S611: When the voice broadcast of the current channel is completed, delete the information of the voice channel occupied by broadcasting the voice of the current channel, and release the voice channel occupied by broadcasting the voice of the current channel.
S612、判断是否需要释放发送时隙。S612: Determine whether the transmission time slot needs to be released.
在本步骤中,发送时隙为广播当前路语音的业务时隙,具体的,为待占用业务时隙或者已占用业务时隙。In this step, the transmission time slot is a service time slot for broadcasting the current voice, specifically, it is a service time slot to be occupied or an occupied service time slot.
在本实施例中,由于一个业务时隙中可以承载两路语音,该节点在发送时隙上广播当前路语音的过程中,可能该节点也在该发送时隙上转发语音,此时,不能释放该发送时隙,否则,可以释放该发送时隙。In this embodiment, since one service time slot can carry two voices, during the process of broadcasting the current voice on the sending slot, the node may also forward the voice on the sending slot. In this case, it cannot Release the transmission time slot, otherwise, the transmission time slot can be released.
如果是,则执行S613,否则,结束。If yes, execute S613, otherwise, end.
S613、本节点记录的业务时隙占用状态表中,该节点对该发送时隙的占用状态进行清除。S613. In the service time slot occupancy status table recorded by the local node, the node clears the occupancy status of the transmission time slot.
S614、广播业务时隙占用状态消息。S614: The time slot occupation status message of the broadcast service.
在本步骤中,依据该节点最新确定出的业务时隙占用状态表的内容,在该节点的控制时隙广播业务时隙占用状态消息。In this step, according to the content of the service time slot occupancy status table newly determined by the node, the service time slot occupancy status message is broadcast in the control time slot of the node.
由于本申请实施例中的任意一个节点都具有一个用于记录该任意一个 节点、该任意一个节点的一跳邻居节点,以及二跳邻居节点对业务时隙的占用情况的业务时隙占用状态表。因此,站在任意一个节点来说,在接收到该节点的一跳邻居节点广播的业务时隙占用状态消息时,该一跳邻居节点所广播的业务时隙占用状态消息中包含的是:该一跳邻居节点和该一跳邻居节点的一跳邻居节点对业务时隙的占用情况。Since any node in the embodiment of the present application has a service time slot occupancy status table for recording the any node, the one-hop neighbor node of the any node, and the occupancy status of the service time slot by the two-hop neighbor node . Therefore, for any node, when receiving the service time slot occupancy status message broadcast by the one-hop neighbor node of the node, the service time slot occupancy status message broadcast by the one-hop neighbor node contains: The occupation situation of the one-hop neighbor node and the one-hop neighbor node of the one-hop neighbor node to the service time slot.
具体的,该一跳邻居节点所广播的业务时隙占用状态消息中,包含的是该一跳邻居节点的业务时隙占用状态表中,占用各业务时隙的节点的MAC地址,如果业务时隙占用状态表中某一业务时隙的占用状态为“空闲”,则该业务时隙占用状态消息中,该业务时隙对应的信息为“空闲”,表示该业务时隙没有节点占用;如果业务时隙占用状态表中该业务时隙的占用状态为一跳邻居节点占用,则业务时隙占用状态消息中,该业务时隙对应的信息为占用业务时隙的节点的MAC地址;如果业务时隙占用状态表中某一业务时隙的占用状态为“二跳邻居节点占用”,则该业务时隙占用状态消息中,该业务时隙对应的信息为“空闲”。Specifically, the service time slot occupancy status message broadcast by the one-hop neighbor node contains the MAC address of the node occupying each service time slot in the service time slot occupancy status table of the one-hop neighbor node. If the occupancy status of a certain service time slot in the slot occupancy status table is “idle”, the information corresponding to the service time slot in the service time slot occupancy status message is “idle”, which means that the service time slot is not occupied by a node; if In the service time slot occupancy status table, the occupancy status of the service time slot is occupied by a one-hop neighbor node, then in the service time slot occupancy status message, the information corresponding to the service time slot is the MAC address of the node occupying the service time slot; if the service In the time slot occupancy status table, the occupancy status of a certain service time slot is "occupation by two-hop neighbor node", then in the service time slot occupancy status message, the information corresponding to the service time slot is "idle".
该任意一个节点基于自己的业务时隙占用状态表的内容,以及一跳邻居节点广播的业务时隙占用状态消息的内容,判断业务时隙的占用情况是否存在冲突。This arbitrary node judges whether there is a conflict in the occupation of the service time slot based on the content of its own service time slot occupancy status table and the content of the service time slot occupancy status message broadcasted by a one-hop neighbor node.
具体的,如图7所示,为本申请提供的节点在接收到业务时隙占用状态消息后的处理方法,为了描述方便,在以下接收过程中,对于所站在的任意一个节点称为本地节点,可以包括以下步骤:Specifically, as shown in Fig. 7, the processing method of the node provided by this application after receiving the service time slot occupancy status message. For the convenience of description, in the following receiving process, any node on which it stands is called local Nodes can include the following steps:
S701、接收到一跳邻居节点广播的业务时隙占用状态消息时,依据所接收到的业务时隙占用状态消息与本节点的业务时隙状态表的内容,判断 是否存在业务时隙占用冲突。S701: When receiving a service time slot occupancy status message broadcast by a one-hop neighbor node, determine whether there is a service time slot occupancy conflict based on the received service time slot occupancy status message and the content of the service time slot status table of the current node.
具体的,通过接收到的一跳邻居节点广播的业务时隙占用状态消息中各时隙的占用情况,以及本地节点的业务时隙占用状态表中记录的各业务时隙的占用情况,针对每个业务时隙,都判断该业务时隙对应的占用情况是否为不同的节点,即判断该业务时隙对应的占用节点的MAC地址是否不同,如果不同,则表明不同的MAC地址的两个节点占用同一个业务时隙,此时,表明该业务时隙的占用状态发生冲突;否则,表明该业务时隙的占用状态没有发生冲突。Specifically, the occupancy status of each time slot in the service time slot occupancy status message broadcast by the received one-hop neighbor node, and the occupancy status of each service time slot recorded in the service time slot occupancy status table of the local node, are used for each For each service time slot, it is judged whether the occupancy corresponding to the service time slot is a different node, that is, it is judged whether the MAC address of the occupied node corresponding to the service time slot is different, and if they are different, it indicates two nodes with different MAC addresses Occupy the same service time slot, at this time, it indicates that the occupation status of the service time slot conflicts; otherwise, it indicates that the occupation status of the service time slot does not conflict.
如果任意一个业务时隙的占用状态没有发生冲突,则执行S702,否则,进行冲突处理,具体的冲突处理方法在图9对应的实施例中进行介绍,这里不再赘述。If there is no conflict in the occupancy status of any service time slot, S702 is executed; otherwise, conflict processing is performed. The specific conflict processing method is introduced in the embodiment corresponding to FIG. 9 and will not be repeated here.
S702、判断是否为“一跳邻居占用”。S702: Determine whether it is "occupied by one-hop neighbor".
对于业务时隙占用状态不冲突的情况可以包括多种。There may be multiple situations where the occupancy status of the service time slot does not conflict.
第一种情况:对于某一业务时隙,在业务时隙占用状态消息中,该某一业务时隙的占用状态为“某一节点占用”,(在业务时隙占用状态消息中包括的是该“某一节点”的MAC地址),而在本地节点的业务时隙占用状态表中该某一业务时隙的占用状态为“空闲”。The first case: For a certain service time slot, in the service time slot occupancy status message, the occupancy status of the certain service time slot is "occupied by a certain node", (the service time slot occupancy status message includes The MAC address of the "a certain node"), and the occupation status of the certain service time slot in the service time slot occupancy status table of the local node is "idle".
第二种情况:对于某一业务时隙,在业务时隙占用状态消息中,该某一业务时隙的占用状态为“空闲”,而在本地节点的业务时隙占用状态表中该某一业务时隙的占用状态也为“空闲”。The second case: For a certain service time slot, in the service time slot occupancy status message, the occupancy status of the certain service time slot is "idle", and the certain service time slot occupancy status table of the local node The occupation state of the service time slot is also "idle".
第三种情况:对于某一业务时隙,在业务时隙占用状态消息中,该某一业务时隙的占用状态为“空闲”,而在本地节点的业务时隙占用状态表中 该某一业务时隙的占用状态为“某一节点占用”。The third situation: For a certain service time slot, in the service time slot occupancy status message, the occupancy status of the certain service time slot is "idle", and the certain service time slot occupancy status table of the local node The occupation status of the service time slot is "occupied by a certain node".
虽然上述三种情况中,该某一业务时隙的占用状态不发生冲突,但是对于第一种情况,本地节点需要对业务时隙占用状态表中该某一业务时隙的占用状态进行更新。具体的,在本步骤中,需要判断“某一节点占用”中的“某一节点”是本地节点的一跳邻居节点还是二跳邻居节点。Although in the above three cases, the occupation status of the certain service time slot does not conflict, for the first case, the local node needs to update the occupation status of the certain service time slot in the service time slot occupancy status table. Specifically, in this step, it is necessary to determine whether "a certain node" in "a certain node is occupied" is a one-hop neighbor node or a two-hop neighbor node of the local node.
具体的,在本步骤中,判断该“某一节点”是否为该本地节点的一跳邻居节点,具体的,可以根据本地节点是否接收过该“某一节点”所广播的信息,如果接收过,则判断出该“某一节点”为本地节点的一跳邻居节点。Specifically, in this step, it is determined whether the "a certain node" is a one-hop neighbor node of the local node. Specifically, it can be based on whether the local node has received the information broadcast by the "a certain node", and if it has received , It is determined that the "a certain node" is a one-hop neighbor node of the local node.
具体的,可以判断业务时隙占用状态消息中,该某一节点的MAC地址与该业务时隙占用状态消息的MAC HEAD中发送节点的MAC地址是否相同,如果相同,该“某一业务时隙”的占用节点就是该业务时隙占用状态消息的发送节点,而本地节点能够接收到该发送节点发送的业务时隙占用状态消息,则说明该发送节点为该本地节点的一跳邻居节点,因此,确定出该某一业务时隙的占用状态为“一跳邻居占用”,否则,该某一业务时隙的占用状态为“二跳邻居占用”。Specifically, it can be judged whether the MAC address of the certain node in the service time slot occupancy status message is the same as the MAC address of the sending node in the MAC HEAD of the service time slot occupancy status message. If they are the same, the "a certain service time slot" "The occupied node is the sending node of the service time slot occupancy status message, and the local node can receive the service time slot occupancy status message sent by the sending node, indicating that the sending node is a one-hop neighbor node of the local node, so , It is determined that the occupation status of the certain service time slot is "one-hop neighbor occupation"; otherwise, the occupation status of the certain service time slot is "two-hop neighbor occupation".
如果判断出该“某一节点”为本地节点的一跳邻居节点,则执行S703,否则,执行S704。If it is determined that the "a certain node" is a one-hop neighbor node of the local node, execute S703; otherwise, execute S704.
S703、将本地节点的业务时隙占用状态表中该“某一业务时隙”对应的占用状态更新为一跳邻居节点占用,并将业务时隙占用状态表中该“某一业务时隙”对应的MAC地址更新为该一跳邻居节点的MAC地址。S703. Update the occupancy status corresponding to the "certain service time slot" in the service time slot occupancy status table of the local node to one-hop neighbor node occupancy, and update the "certain service time slot" in the service time slot occupancy status table The corresponding MAC address is updated to the MAC address of the one-hop neighbor node.
具体的,本地节点的业务时隙占用状态表中该“某一业务时隙”对应 的占用状态更新为一跳邻居占用,并将本地节点的业务时隙占用状态表中该“某一业务时隙”对应的MAC地址更新为,该业务时隙占用状态消息中该“某一业务时隙”对应的MAC地址。Specifically, the occupation status corresponding to the "a certain service time slot" in the service time slot occupancy status table of the local node is updated to one-hop neighbor occupation, and the "a certain service time slot" in the service time slot occupancy status table of the local node is updated. The MAC address corresponding to the "slot" is updated to the MAC address corresponding to the "certain service time slot" in the service time slot occupancy status message.
在执行完本步骤后,再执行S705。After this step is executed, S705 is executed again.
S704、将本地节点的业务时隙占用状态表中该“某一业务时隙”对应的占用状态更新为二跳邻居节点占用,并将业务时隙占用状态表中该“某一业务时隙”对应的MAC地址更新为该二跳邻居节点的MAC地址。S704. Update the occupancy status corresponding to the "certain service time slot" in the service time slot occupancy status table of the local node to the two-hop neighbor node occupancy, and update the "certain service time slot" in the service time slot occupancy status table The corresponding MAC address is updated to the MAC address of the two-hop neighbor node.
具体的,将业务时隙占用状态表中该“某一业务时隙”对应的MAC地址,更新为业务时隙占用状态消息中该“某一业务时隙”对应的MAC地址。Specifically, the MAC address corresponding to the "certain service time slot" in the service time slot occupancy status table is updated to the MAC address corresponding to the "certain service time slot" in the service time slot occupancy status message.
S705、启动时隙状态保持定时器。S705: Start the time slot state keeping timer.
为了避免一跳邻居节点或二跳邻居节点占用待占用业务时隙后,一跳邻居节点或者二跳邻居节点一直占用该待占用业务时隙;或者,为了避免该一跳邻居节点释放该待占用业务时隙后,由于距离和/或干扰等导致信号质量差,导致该节点没有接收到一跳邻居节点发送的对该待占用业务时隙的释放消息。In order to prevent the one-hop neighbor node or the two-hop neighbor node from occupying the to-be-occupied service time slot, the one-hop neighbor node or the two-hop neighbor node keeps occupying the to-be-occupied service time slot; or, to prevent the one-hop neighbor node from releasing the to-be-occupied service time slot After the service time slot, the signal quality is poor due to distance and/or interference, etc., resulting in the node not receiving a release message for the unoccupied service time slot sent by a one-hop neighbor node.
为了避免上述两种情况,在本步骤中,启动时隙状态保持定时器,该时隙状态保持定时器用于从本节点更新业务时隙占用状态表开始计时预设第二时长。如果,在该时隙状态保持定时器计时范围内,接收到用于表示释放该待占用业务时隙的业务时隙占用状态消息,执行S706;或者,如果时隙状态保持定时器计时超时的情况下,执行S706。In order to avoid the above two situations, in this step, the time slot state retention timer is started, and the time slot state retention timer is used to start timing the preset second time period from the node updating the service time slot occupancy state table. If, within the range of the time slot state retention timer, a service time slot occupancy status message indicating the release of the service time slot to be occupied is received, go to S706; or, if the time slot state retention timer expires Next, execute S706.
S706、删除收发话音通道的信息,释放该收发话音通道,针对该节点 的业务时隙占用状态表,一跳邻居节点或二跳邻居节点对该待占用业务时隙的占用状态进行清除。S706. Delete the information of the transceiving voice channel, release the transceiving voice channel, and for the service time slot occupancy status table of the node, the one-hop neighbor node or the two-hop neighbor node clears the occupancy status of the service time slot to be occupied.
本步骤是站在中继节点的角度,因为中继节点在接收到一跳邻居节点广播的语音时,对该语音进行先放音后转发,其中,接收该语音与转发该语音采用同一个话音通道。为了描述方便,将本节点接收与转发所使用的话音通道称为收发话音通道。This step is from the perspective of the relay node, because when the relay node receives the voice broadcast by a hop neighbor node, the voice is first played and then forwarded, and the same voice is used for receiving the voice and forwarding the voice. aisle. For the convenience of description, the voice channel used by the node for receiving and forwarding is called the transceiver voice channel.
在本步骤中,删除收发话音通道的信息,释放该收发话音通道,并将该节点的业务时隙占用状态表中,一跳邻居节点或二跳邻居节点对该待占用业务时隙的占用状态进行清除,其中,如果是一跳邻居节点占用该待占用业务时隙,在本步骤中,对一跳邻居节点对该待占用业务时隙的占用状态进行清除;同理,如果是二跳邻居节点占用该待占用业务时隙,在本步骤中,对二跳邻居节点对该待占用业务时隙的占用状态进行清除。In this step, delete the information of the transceiving voice channel, release the transceiving voice channel, and add the occupancy status of the one-hop neighbor node or the two-hop neighbor node to the service slot to be occupied in the service time slot occupancy status table of the node Clear, where, if a one-hop neighbor node occupies the to-be-occupied service time slot, in this step, clear the occupancy status of the one-hop neighbor node of the to-be-occupied service time slot; in the same way, if it is a two-hop neighbor The node occupies the service time slot to be occupied. In this step, the occupancy status of the service time slot to be occupied by the two-hop neighbor node is cleared.
S707、判断是否能够释放转发时隙。S707: Determine whether the forwarding time slot can be released.
由于本节点是中继节点,本节点在接收到一跳邻居节点发送的语音后,将所接收的语音进行转发。其中,为了描述方便,将本节点对该语音进行转发所占用的业务时隙称为转发时隙。Since this node is a relay node, this node forwards the received voice after receiving the voice sent by the one-hop neighbor node. Among them, for the convenience of description, the service time slot occupied by the node for forwarding the voice is called the forwarding time slot.
在本申请中一个业务时隙可以承载多路语音的情况下,在本节点在该转发时隙中广播语音的同时,也可能存在其他节点在该转发时隙中广播语音。因此,在本步骤中,判断是否能够释放该转发时隙。In the case that one service time slot in this application can carry multiple voices, while the local node is broadcasting voice in the forwarding time slot, there may also be other nodes broadcasting voice in the forwarding time slot. Therefore, in this step, it is determined whether the forwarding slot can be released.
如果在该转发时隙中不存在其他节点广播语音,则判断出能够释放该转发时隙,此时,执行S708;否则,不能够释放该转发时隙,结束。If there is no other node broadcasting voice in the forwarding time slot, it is determined that the forwarding time slot can be released, and at this time, S708 is executed; otherwise, the forwarding time slot cannot be released and the end is finished.
S708、将业务时隙占用状态表中本节点对转发时隙的占用状态清零。S708: Clear the occupancy status of the forwarding time slot by the node in the service time slot occupancy status table.
将业务时隙占用状态表中,该转发业务时隙的占用状态更新为空闲。In the service time slot occupancy status table, the occupancy status of the forwarding service time slot is updated to idle.
S709、广播业务时隙占用状态消息。S709. The broadcast service time slot occupancy status message.
在本步骤中,依据本节点更新后的业务时隙占用状态表,在本节点对应的控制时隙广播业务时隙占用状态消息。In this step, according to the updated service time slot occupancy status table of the current node, the service time slot occupancy status message is broadcast in the control time slot corresponding to the current node.
图8为本申请提供的一种语音接收方法,包括以下步骤:Fig. 8 is a voice receiving method provided by this application, including the following steps:
S801、接收到一跳邻居节点发送的语音数据的情况下,判断对于该路语音是否已占用语音通道。S801: In the case of receiving the voice data sent by the one-hop neighbor node, determine whether the voice channel has been occupied for the voice channel.
在本实施例中,对于任意一个节点,在占用某一话音通道并将该话音通道加载到某一业务时隙的时候,将该某一话音通道与该某一业务时隙作为一组数据进行保存。In this embodiment, for any node, when a certain voice channel is occupied and the voice channel is loaded into a certain service time slot, the certain voice channel and the certain service time slot are used as a set of data. save.
在本步骤中,在接收到一跳邻居节点发送的语音数据的情况下,根据已保存的话音通道与业务时隙的对应关系中,判断是否存在所接收到语音数据的业务时隙,若存在,则表明该路语音已经占用话音通道,则执行S815;否则,该路语音未占用话音通道,执行S802。In this step, in the case of receiving the voice data sent by the one-hop neighbor node, according to the stored correspondence between the voice channel and the service time slot, it is judged whether there is a service time slot of the received voice data. , It indicates that the voice channel has occupied the voice channel, then execute S815; otherwise, if the voice channel does not occupy the voice channel, execute S802.
S802、判断是否存在空闲语音通道。S802: Determine whether there is an idle voice channel.
从已记录的语音通道信息中,确定当前已占用的语音通道是否包括该节点所支持的全部语音通道。如果是,则确定不存在空闲语音通道,并执行S814,如果否,则确定存在空闲语音通道,并执行S803。From the recorded voice channel information, determine whether the currently occupied voice channel includes all voice channels supported by the node. If it is, it is determined that there is no idle voice channel, and S814 is executed. If not, it is determined that there is an idle voice channel, and S803 is executed.
S803、占用一路语音通道,并记录当前占用的一路语音通道的信息。S803. Occupy one voice channel, and record the information of the currently occupied voice channel.
具体的,可以记录当前所占用的一路语音通道的ID与接收该路语音的业务时隙,并记录为一组数据,以便后续基于所记录的信息,判断本节点 是否已经针对某一个业务时隙广播的语音,占用了话音通道。Specifically, the ID of the voice channel currently occupied and the service time slot for receiving the voice can be recorded, and recorded as a set of data, so as to subsequently determine whether the node has targeted a certain service time slot based on the recorded information. The broadcast voice occupies the voice channel.
S804、判断本节点与所接收到语音的发送节点是否属于一个组内。S804: Determine whether the present node and the sending node of the received voice belong to a group.
如果是,则执行S805,否则,执行S806。If yes, execute S805, otherwise, execute S806.
S805、转发接收到的语音数据到放音接口。S805: Forward the received voice data to the playback interface.
在本步骤中,将接收到的语音数据转发到放音接口,进行放音,执行S806。In this step, the received voice data is forwarded to the playback interface for playback, and S806 is executed.
S806、判断本节点是否为该发送节点的中继节点。S806: Determine whether the current node is a relay node of the sending node.
在本步骤中,通过控制时隙上传输OLSR路由协议的信息,确定本节点是否为该发送节点的中继节点,具体的,依据OLSR路由协议的信息确定本节点是否为发送节点的中继节点的过程是现有技术,这里不再赘述。In this step, the information of the OLSR routing protocol is transmitted on the control time slot to determine whether the current node is the relay node of the sending node. Specifically, it is determined whether the node is the relay node of the sending node according to the information of the OLSR routing protocol. The process is an existing technology, so I won’t repeat it here.
在本实施例中,如果本节点是该发送节点的中继节点,则本节点需要对所接收的语音进行转发;否则,无需对所接收的语音进行转发。In this embodiment, if the local node is the relay node of the sending node, the local node needs to forward the received voice; otherwise, there is no need to forward the received voice.
具体的,如果是,则执行S807,如果否,则结束。Specifically, if yes, execute S807, if no, end.
S807、初始化语音缓冲队列,缓冲语音数据到缓冲队列。S807. Initialize the voice buffer queue, and buffer the voice data to the buffer queue.
本步骤是为本节点对所接收到的语音数据进行转发做准备。This step is to prepare the node for forwarding the received voice data.
S808、判断是否需要占用新时隙。S808: Determine whether a new time slot needs to be occupied.
在本申请中一个业务时隙可以发送多路语音的情况下,如果本节点当前已占用业务时隙,并且该已占用的业务时隙还可以承载一路语音的情况下,本节点就无需再申请占用一个业务时隙,即无需占用新时隙;否则,本节点需要占用新时隙。In the case that one service time slot in this application can send multiple voices, if the node currently has occupied the service time slot and the occupied service time slot can still carry one voice, the node does not need to apply again Occupy a service time slot, that is, no need to occupy a new time slot; otherwise, the node needs to occupy a new time slot.
如果否,则执行S809,否则,执行S810。If not, execute S809, otherwise, execute S810.
S809、添加语音通道信息到已占用的业务时隙,并执行S812。S809: Add the voice channel information to the occupied service time slot, and execute S812.
S810、随机占用一个空闲时隙,添加语音通道到所占用的空闲时隙。S810: Randomly occupy an idle time slot, and add a voice channel to the occupied idle time slot.
S811、发送业务时隙占用状态消息,并启动等待业务时隙占用定时器。S811. Send a service time slot occupancy status message, and start a waiting service time slot occupancy timer.
本步骤的执行过程与图6对应的实施例中的S607相同,这里不再赘述。The execution process of this step is the same as S607 in the embodiment corresponding to FIG. 6, and will not be repeated here.
S812、采集语音数据。S812: Collect voice data.
本步骤的执行过程与图6对应的实施例中的S609相同,这里不再赘述。The execution process of this step is the same as S609 in the embodiment corresponding to FIG. 6, and will not be repeated here.
S813、在业务时隙上广播缓冲队列中所缓冲的语音数据。S813: Broadcast the voice data buffered in the buffer queue on the service time slot.
具体的,如果是新申请的业务时隙,则在等待业务时隙占用定时器超时的情况下,或者,在等待业务时隙占用定时器定时范围内接收到表示可以占用该空闲时隙时,在所申请占用的业务时隙发送所缓冲的语音数据;如果存在已占用的业务时隙,则直接在已占用的业务时隙上发送所缓冲的语音数据。Specifically, if it is a newly applied service time slot, when the waiting service time slot occupancy timer expires, or when it is received within the timing range of the waiting service time slot occupancy timer, it indicates that the idle time slot can be occupied, The buffered voice data is sent in the service time slot occupied by the application; if there is an occupied service time slot, the buffered voice data is sent directly on the occupied service time slot.
S814、语音通道冲突处理。S814. Voice channel conflict processing.
在本实施例中,在业务时隙占用冲突时则会出现语音通道冲突的情况,因此,在本实施例中,在解决业务时隙冲突的问题后,语音通道冲突的问题就解决了。在对冲突业务时隙竞争失败的一方,如果当前网内语音广播过程同时进行的节点数量达到六个,此时,竞争失败的节点释放在该冲突业务时隙对应占用的话音通道。In this embodiment, a voice channel conflict will occur when the service time slot occupation conflicts. Therefore, in this embodiment, after the service time slot conflict problem is resolved, the voice channel conflict problem is solved. On the party that fails to compete for the conflicting service time slot, if the number of nodes in the current voice broadcast process in the current network reaches six, at this time, the node that has failed in the competition releases the voice channel corresponding to the conflicting service time slot.
S815、将所接收到的语音数据转发到放音接口。S815: Forward the received voice data to the playback interface.
S816、判断本节点是否为发送节点的中继节点。S816: Determine whether the current node is a relay node of the sending node.
本步骤的执行过程与S806相同,这里不再赘述。The execution process of this step is the same as that of S806, and will not be repeated here.
具体的,如果是,则执行S817,否则,结束。Specifically, if yes, execute S817, otherwise, end.
S817、缓冲语音数据到队列,在本节点转发所占用的业务时隙上对所 缓冲的数据进行发送。S817. Buffer the voice data to the queue, and send the buffered data in the service time slot occupied by the forwarding of the node.
图9为本申请提供的一种业务时隙占用状态冲突的处理方法,可以包括以下步骤:FIG. 9 is a method for processing service time slot occupancy status conflicts provided by this application, which may include the following steps:
S901、确定冲突业务时隙对应的MAC地址中小的MAC地址。S901: Determine the MAC address that is smaller than the MAC address corresponding to the conflicting service time slot.
在本实施例中,在某一个业务时隙的占用状态发生冲突时,为了描述方便,将占用状态发生冲突的业务时隙称为冲突业务时隙。在本实施例中,对于冲突业务时隙的处理原则为MAC地址小的节点占用该冲突业务时隙。因此,在本步骤中,判断占用冲突业务时隙的节点的MAC地址的大小,确定出较小的MAC地址,为了描述方便,将冲突业务时隙对应的两个节点中MAC地址小的节点称为竞争成功的节点,否则,称为竞争失败节点。In this embodiment, when the occupation status of a certain service time slot conflicts, for the convenience of description, the service time slot in which the occupation status conflicts is called the conflicting service time slot. In this embodiment, the principle for processing conflicting service time slots is that nodes with a small MAC address occupy the conflicting service time slots. Therefore, in this step, the size of the MAC address of the node occupying the conflicting service time slot is determined, and the smaller MAC address is determined. For the convenience of description, the node with the smaller MAC address of the two nodes corresponding to the conflicting service time slot is called The node that succeeds in the competition, otherwise, it is called the node that fails in the competition.
在本实施例中,对于竞争成功的节点,无需做处理,继续占用该冲突业务时隙发送语音即可。对于竞争失败的节点,需要释放占用的话音通道,并更新竞争失败的节点的业务时隙占用状态表中该冲突业务时隙的占用状态。此时,竞争失败的节点可以按照图6对应的实施例的过程进行执行。In this embodiment, for nodes that have succeeded in contention, no processing is required, and the conflicting service time slot can be occupied to send voice. For a node that fails in the competition, it is necessary to release the occupied voice channel, and update the occupation status of the conflicting service time slot in the service time slot occupancy status table of the node that fails in the competition. At this time, the node that has failed in the competition can execute according to the process of the embodiment corresponding to FIG. 6.
S902、更新本地节点的业务时隙占用状态表中该冲突业务时隙的占用状态,启动时隙状态保持定时器。S902: Update the occupancy status of the conflicting service time slot in the service time slot occupancy status table of the local node, and start a time slot state retention timer.
在本步骤中,本地节点将业务时隙占用状态表中冲突业务时隙的占用状态,更新为确定出的小的MAC地址对应节点占用,具体的,如果小的MAC地址对应节点为本地节点的一跳邻居节点,则将业务时隙占用状态表中冲突业务时隙的占用状态更新为一跳邻居节点占用;如果小的MAC地址对应节点为本地节点的二跳邻居节点,则将业务时隙占用状态表中冲突 业务时隙的占用状态更新为二跳邻居节点占用。In this step, the local node updates the occupancy status of the conflicting service time slot in the service time slot occupancy status table to the determined small MAC address corresponding node occupancy. Specifically, if the small MAC address corresponds to the node of the local node One-hop neighbor node, update the occupancy status of the conflicting service time slot in the service time slot occupancy state table to the one-hop neighbor node; if the node corresponding to the small MAC address is the two-hop neighbor node of the local node, then the service time slot The occupancy status of the conflicting service slot in the occupancy status table is updated to be occupied by the two-hop neighbor node.
需要说明的是,在本步骤中,对于冲突业务时隙更新后的占用状态中标注用于表示MAC地址小的节点占用的信息。It should be noted that, in this step, the updated occupancy status of the conflicting service time slot is marked with information used to indicate the occupancy of nodes with a small MAC address.
S903、依据本地节点更新后的业务时隙占用状态表中的内容,在本地节点对应的控制时隙中广播业务时隙占用状态消息。S903: According to the content in the updated service time slot occupancy status table of the local node, broadcast the service time slot occupancy status message in the control time slot corresponding to the local node.
在本步骤中,本地节点广播业务时隙占用状态消息后,本地节点的一跳邻居节点接收到该业务状态消息后,为了描述方便,将接收到该业务时隙占用状态消息的节点称为接收节点。In this step, after the local node broadcasts the service time slot occupancy status message, after the one-hop neighbor node of the local node receives the service status message, for the convenience of description, the node that receives the service time slot occupancy status message is called receiving node.
如果接收节点是竞争成功的节点,则按照竞争成功的节点的处理方式进行处理,如果是竞争失败的节点,则按照上述竞争失败的节点的处理方法进行处理即可。If the receiving node is a node that has succeeded in competition, it is processed in accordance with the processing method of a node that has succeeded in competition. If it is a node that has failed in competition, it can be processed in accordance with the processing method of a node that has failed in competition.
图10为本申请提供的一种无中心自组网的语音会议的通信装置实施例,该装置实施例可以应用于接入无中心自组网中的任意一个节点,包括:选择模块101和第一广播模块102;Fig. 10 is an embodiment of a communication device for a voice conference without a central ad hoc network provided by this application. The device embodiment can be applied to any node in a non-central ad hoc network, including: a selection module 101 and a second node. A broadcast module 102;
其中,选择模块101,用于在接收到广播语音的触发请求的情况下,选择业务时隙;所述业务时隙为预设的MAC帧中的部分业务时隙,所述MAC帧中的其它业务时隙用于其它节点广播语音;第一广播模块102,用于在选择的业务时隙广播语音。Wherein, the selection module 101 is configured to select a service time slot when a trigger request for broadcast voice is received; the service time slot is a part of the service time slot in a preset MAC frame, and the others in the MAC frame The service time slot is used for other nodes to broadcast voice; the first broadcasting module 102 is used to broadcast the voice in the selected service time slot.
优选的,MAC帧中包括目标数量个单帧;其中,所述目标数量为所述无中心自组网中的节点的数量与第一数值相除得到的商向上取整所得到的数值,所述第一数值为一个所述单帧中控制时隙的数量;所述目标数量个 单帧为单帧序列中的前目标数量个单帧,所述单帧序列由帧号按照由小到大的顺序的单帧排列构成。Preferably, the MAC frame includes a target number of single frames; wherein, the target number is a value obtained by dividing the number of nodes in the centerless ad hoc network by the first value and rounding up the quotient, so The first value is the number of control time slots in a single frame; the target number of single frames is the previous target number of single frames in a single frame sequence, and the single frame sequence is from small to large in order of frame number The order of the single frame arrangement.
优选的,还包括:获取模块103和第一确定模块104;Preferably, it further includes: an obtaining module 103 and a first determining module 104;
其中,获取模块103,用于在该节点接入所述无中心自组网之后,获取为该节点分配的MAC地址,所述MAC地址依据所述MAC帧中任意一个控制时隙唯一对应的编号确定;第一确定模块104,用于依据所述MAC地址,确定该节点占用的控制时隙。Wherein, the obtaining module 103 is configured to obtain the MAC address allocated to the node after the node accesses the non-central ad hoc network, and the MAC address is based on the number uniquely corresponding to any control time slot in the MAC frame Determine; The first determining module 104 is configured to determine the control time slot occupied by the node according to the MAC address.
优选的,还包括:第二广播模块105和第三广播模块106;Preferably, it further includes: a second broadcasting module 105 and a third broadcasting module 106;
其中,第二广播模块105,用于在该节点记录的业务时隙占用状态表中任一业务时隙的占用状态发生变化时,在该节点占用的控制时隙中广播业务时隙占用状态消息;第三广播模块106,用于在该节点记录的业务时隙占用状态表中业务时隙的占用状态未发生变化,且业务时隙非全部空闲的情况下,按照预设周期在该节点占用的控制时隙中广播业务时隙占用状态消息。Wherein, the second broadcasting module 105 is used to broadcast a service time slot occupancy status message in the control time slot occupied by the node when the occupancy status of any service time slot in the service time slot occupancy status table recorded by the node changes ; The third broadcasting module 106 is used to occupy the node according to the preset period when the occupancy status of the service time slot in the service time slot occupancy status table recorded by the node has not changed, and the service time slot is not all free The broadcast service time slot occupancy status message in the control time slot.
优选的,还包括:比较模块107和第二确定模块108;Preferably, it further includes: a comparison module 107 and a second determination module 108;
其中,比较模块107,用于在接收到一跳邻居节点广播的业务时隙占用状态消息后,该节点将接收的业务时隙占用状态消息,与该节点记录的业务时隙占用状态表中各业务时隙的占用状态进行比较,判断是否存在冲突业务时隙;所述冲突业务时隙为由MAC地址不同的两个节点同时占用的业务时隙;第二确定模块108,用于如果存在所述冲突业务时隙,从所述冲突业务时隙对应的两个不同的MAC地址中,确定MAC地址小的节点的为竞争成功的节点;所述竞争成功的节点表示可继续占用所述冲突业务 时隙的节点。Among them, the comparison module 107 is configured to, after receiving the service time slot occupancy status message broadcasted by a one-hop neighbor node, the node will receive the service time slot occupancy status message with each other in the service time slot occupancy status table recorded by the node. The occupancy status of the service time slots is compared to determine whether there are conflicting service time slots; the conflicting service time slots are service time slots occupied by two nodes with different MAC addresses at the same time; the second determining module 108 is used to determine whether there are any conflicting service time slots. In the conflicting service time slot, from the two different MAC addresses corresponding to the conflicting service time slot, it is determined that the node with the smaller MAC address is the node that succeeds in the competition; the node that succeeds in the competition indicates that the conflicting service can continue to be occupied The node of the time slot.
优选的,还包括:更新模块109和第三广播模块110;Preferably, it further includes: an update module 109 and a third broadcast module 110;
其中,更新模块109,用于在所述第二确定模块确定MAC地址小的节点的为竞争成功的节点之后,依据所述竞争成功的节点以及所述竞争成功的节点的MAC地址,更新该节点记录的业务时隙占用状态表中所述冲突业务时隙的占用状态、所述冲突业务时隙对应的MAC地址,以及在所述业务时隙占用状态表中标注所述冲突业务时隙被MAC地址小的节点占用,得到更新后的业务时隙占用状态表;第三广播模块110,用于依据所述更新后的业务时隙占用状态表,在该节点占用的控制时隙中广播业务时隙占用状态消息。Wherein, the update module 109 is configured to, after the second determining module determines that the node with the smaller MAC address is the node that succeeds in the competition, update the node according to the MAC address of the node that succeeds in the competition and the MAC address of the node that succeeds in the competition The occupation status of the conflicting service time slot in the recorded service time slot occupancy status table, the MAC address corresponding to the conflicting service time slot, and the mark in the service time slot occupancy status table that the conflicting service time slot is MAC A node with a small address is occupied, and an updated service time slot occupancy status table is obtained; the third broadcasting module 110 is used to broadcast service time in the control time slot occupied by the node according to the updated service time slot occupancy status table Slot occupancy status message.
优选的,还包括:第一放音模块111,用于在接收到其它节点广播的语音的情况下,如果该节点与初始广播该接收的语音的节点属于同一个预设组时,将所接收到的语音进行放音。Preferably, it further includes: a first sound playback module 111, configured to, in the case of receiving a voice broadcast by another node, if the node and the node that initially broadcast the received voice belong to the same preset group, the received voice The received voice is played.
优选的,还包括:第一放音模块112,用于在接收到其它节点广播的语音的情况下,如果该节点是所述其它节点的中继节点,则该节点从所述MAC帧中选取业务时隙广播所接收到的语音。Preferably, it further includes: a first playback module 112, configured to select from the MAC frame if the node is a relay node of the other node when the voice broadcast by another node is received The service time slot broadcasts the received voice.
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或 部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。If the functions described in the methods of the embodiments of the present application are implemented in the form of software functional units and sold or used as independent products, they can be stored in a storage medium readable by a computing device. Based on this understanding, the part of the embodiment of the application that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, the software product is stored in a storage medium, and includes a number of instructions to make a A computing device (which may be a personal computer, a server, a mobile computing device, or a network device, etc.) executes all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disks or optical disks and other media that can store program codes. .
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。The various embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments, and the same or similar parts between the various embodiments can be referred to each other.
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。The foregoing description of the disclosed embodiments enables those skilled in the art to implement or use this application. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, this application will not be limited to the embodiments shown in this document, but should conform to the widest scope consistent with the principles and novel features disclosed in this document.

Claims (16)

  1. 一种基于无中心自组网的语音会议的通信方法,其特征在于,应用于接入无中心自组网中的任意一个节点,包括:A voice conference communication method based on a centerless ad hoc network, which is characterized in that it is applied to any node in the centerless ad hoc network and includes:
    在接收到广播语音的触发请求的情况下,选择业务时隙;所述业务时隙为预设的MAC帧中的部分业务时隙,所述MAC帧中的其它业务时隙用于其它节点广播语音;In the case of receiving the trigger request of the broadcast voice, select the service time slot; the service time slot is a part of the service time slot in the preset MAC frame, and other service time slots in the MAC frame are used for other node broadcasting voice;
    在选择的业务时隙广播语音。Broadcast voice in the selected service time slot.
  2. 根据权利要求1所述的方法,其特征在于,所述MAC帧中包括目标数量个单帧;The method according to claim 1, wherein the MAC frame includes a target number of single frames;
    所述目标数量为所述无中心自组网中的节点的数量与第一数值相除得到的商向上取整所得到的数值,所述第一数值为一个所述单帧中控制时隙的数量;The target number is a value obtained by rounding up the quotient obtained by dividing the number of nodes in the centerless ad hoc network by a first value, and the first value is the number of control slots in the single frame Quantity
    所述目标数量个单帧为单帧序列中的前目标数量个单帧,所述单帧序列由帧号按照由小到大的顺序的单帧排列构成。The target number single frames are the previous target number single frames in the single frame sequence, and the single frame sequence is composed of a single frame arrangement with frame numbers in an order from small to large.
  3. 根据权利要求2所述的方法,其特征在于,在该节点接入所述无中心自组网之后,还包括:The method according to claim 2, characterized in that, after the node accesses the centerless ad hoc network, the method further comprises:
    获取为该节点分配的MAC地址,所述MAC地址依据所述MAC帧中任意一个控制时隙唯一对应的编号确定;Acquiring a MAC address allocated for the node, the MAC address being determined according to a unique number corresponding to any control time slot in the MAC frame;
    依据所述MAC地址,确定该节点占用的控制时隙。According to the MAC address, the control time slot occupied by the node is determined.
  4. 根据权利要求3所述的方法,其特征在于,该节点记录有业务时隙占用状态表;所述业务时隙占用状态表包括:用于表示所述MAC帧中各业务时隙的占用状态,以及占用业务时隙的节点的MAC地址;The method according to claim 3, wherein the node records a service time slot occupancy status table; the service time slot occupancy status table includes: used to indicate the occupancy status of each service time slot in the MAC frame, And the MAC address of the node occupying the service time slot;
    在该节点确定出占用的控制时隙之后,还包括:After the node determines the occupied control time slot, it also includes:
    在该节点记录的业务时隙占用状态表中任一业务时隙的占用状态发生变化时,在该节点占用的控制时隙中广播业务时隙占用状态消息;When the occupancy status of any service time slot in the service time slot occupancy status table recorded by the node changes, broadcast the service time slot occupancy status message in the control time slot occupied by the node;
    在该节点记录的业务时隙占用状态表中业务时隙的占用状态未发生变化,且业务时隙非全部空闲的情况下,按照预设周期在该节点占用的控制时隙中广播业务时隙占用状态消息。When the occupancy status of the service time slot in the service time slot occupancy status table recorded by the node has not changed, and the service time slot is not all free, the service time slot is broadcast in the control time slot occupied by the node according to the preset period Occupy status message.
  5. 根据权利要求4所述的方法,其特征在于,还包括:The method according to claim 4, further comprising:
    在接收到一跳邻居节点广播的业务时隙占用状态消息后,该节点将接收的业务时隙占用状态消息,与该节点记录的业务时隙占用状态表中各业务时隙的占用状态进行比较,判断是否存在冲突业务时隙;所述冲突业务时隙为由MAC地址不同的两个节点同时占用的业务时隙;After receiving the service time slot occupancy status message broadcast by a one-hop neighbor node, the node compares the received service time slot occupancy status message with the occupancy status of each service time slot in the service time slot occupancy status table recorded by the node , Determine whether there is a conflicting service time slot; the conflicting service time slot is a service time slot occupied by two nodes with different MAC addresses at the same time;
    如果存在所述冲突业务时隙,从所述冲突业务时隙对应的两个不同的MAC地址中,确定MAC地址小的节点的为竞争成功的节点;所述竞争成功的节点表示可继续占用所述冲突业务时隙的节点。If the conflicting service time slot exists, from the two different MAC addresses corresponding to the conflicting service time slot, it is determined that the node with the smaller MAC address is the node that succeeds in the competition; the node that succeeds in the competition indicates that it can continue to occupy all the nodes. The node of the conflicting service time slot.
  6. 根据权利要求5所述的方法,其特征在于,在所述确定MAC地址小的节点的为竞争成功的节点之后,还包括:The method according to claim 5, characterized in that, after determining that the node with the smaller MAC address is a node with a successful competition, the method further comprises:
    依据所述竞争成功的节点以及所述竞争成功的节点的MAC地址,更新该节点记录的业务时隙占用状态表中所述冲突业务时隙的占用状态、所述冲突业务时隙对应的MAC地址,以及在所述业务时隙占用状态表中标注所述冲突业务时隙被MAC地址小的节点占用,得到更新后的业务时隙占用状态表;Update the occupancy status of the conflicting service time slot and the MAC address corresponding to the conflicting service time slot in the service time slot occupancy status table recorded by the node according to the MAC addresses of the successfully competing node and the node that successfully competed , And mark in the service time slot occupancy status table that the conflicting service time slot is occupied by a node with a small MAC address, and obtain an updated service time slot occupancy status table;
    依据所述更新后的业务时隙占用状态表,在该节点占用的控制时隙中 广播业务时隙占用状态消息。According to the updated service time slot occupancy status table, broadcast the service time slot occupancy status message in the control time slot occupied by the node.
  7. 根据权利要求1所述的方法,其特征在于,还包括:The method according to claim 1, further comprising:
    在接收到其它节点广播的语音的情况下,如果该节点与初始广播该接收的语音的节点属于同一个预设组时,将所接收到的语音进行放音。In the case of receiving a voice broadcast by another node, if the node and the node that initially broadcast the received voice belong to the same preset group, the received voice is played.
  8. 根据权利要求1所述的方法,其特征在于,还包括:The method according to claim 1, further comprising:
    在接收到其它节点广播的语音的情况下,如果该节点是所述其它节点的中继节点,则该节点从所述MAC帧中选取业务时隙广播所接收到的语音。In the case of receiving a voice broadcast by another node, if the node is a relay node of the other node, the node selects a service time slot from the MAC frame to broadcast the received voice.
  9. 一种基于无中心自组网的语音会议的通信装置,其特征在于,应用于接入无中心自组网中的任意一个节点,包括:A communication device for voice conference based on a non-central ad hoc network, which is characterized in that it is applied to access any node in the non-central ad hoc network, and includes:
    选择模块,用于在接收到广播语音的触发请求的情况下,选择业务时隙;所述业务时隙为预设的MAC帧中的部分业务时隙,所述MAC帧中的其它业务时隙用于其它节点广播语音;The selection module is used to select a service time slot when a trigger request for broadcast voice is received; the service time slot is a part of the service time slot in a preset MAC frame, and other service time slots in the MAC frame Used for other nodes to broadcast voice;
    第一广播模块,用于在选择的业务时隙广播语音。The first broadcast module is used to broadcast voice in the selected service time slot.
  10. 根据权利要求9所述的装置,其特征在于,The device according to claim 9, wherein:
    所述MAC帧中包括目标数量个单帧;The MAC frame includes a target number of single frames;
    其中,所述目标数量为所述无中心自组网中的节点的数量与第一数值相除得到的商向上取整所得到的数值,所述第一数值为一个所述单帧中控制时隙的数量;所述目标数量个单帧为单帧序列中的前目标数量个单帧,所述单帧序列由帧号按照由小到大的顺序的单帧排列构成。Wherein, the target number is a value obtained by rounding up the quotient obtained by dividing the number of nodes in the non-centered ad hoc network by a first value, and the first value is a control time in the single frame The number of slots; the target number of single frames is the previous target number of single frames in the single frame sequence, and the single frame sequence is composed of single frames arranged in order of frame numbers from small to large.
  11. 根据权利要求10所述的装置,其特征在于,还包括:The device according to claim 10, further comprising:
    获取模块,用于在该节点接入所述无中心自组网之后,获取为该节点 分配的MAC地址,所述MAC地址依据所述MAC帧中任意一个控制时隙唯一对应的编号确定;An obtaining module, configured to obtain a MAC address allocated for the node after the node accesses the centerless ad hoc network, the MAC address being determined according to the number uniquely corresponding to any control time slot in the MAC frame;
    第一确定模块,用于依据所述MAC地址,确定该节点占用的控制时隙。The first determining module is configured to determine the control time slot occupied by the node according to the MAC address.
  12. 根据权利要求11所述的装置,其特征在于,还包括:The device according to claim 11, further comprising:
    第二广播模块,用于在该节点记录的业务时隙占用状态表中任一业务时隙的占用状态发生变化时,在该节点占用的控制时隙中广播业务时隙占用状态消息;The second broadcast module is used to broadcast a service time slot occupancy status message in the control time slot occupied by the node when the occupancy status of any service time slot in the service time slot occupancy status table recorded by the node changes;
    第三广播模块,用于在该节点记录的业务时隙占用状态表中业务时隙的占用状态未发生变化,且业务时隙非全部空闲的情况下,按照预设周期在该节点占用的控制时隙中广播业务时隙占用状态消息。The third broadcast module is used to control the occupancy of the node according to the preset period when the occupancy status of the service time slot in the service time slot occupancy status table recorded by the node has not changed, and the service time slot is not all free The broadcast service time slot occupancy status message in the time slot.
  13. 根据权利要求12所述的装置,其特征在于,还包括:The device according to claim 12, further comprising:
    比较模块,用于在接收到一跳邻居节点广播的业务时隙占用状态消息后,该节点将接收的业务时隙占用状态消息,与该节点记录的业务时隙占用状态表中各业务时隙的占用状态进行比较,判断是否存在冲突业务时隙;所述冲突业务时隙为由MAC地址不同的两个节点同时占用的业务时隙;The comparison module is used to, after receiving the service time slot occupancy status message broadcast by a one-hop neighbor node, the node will compare the received service time slot occupancy status message with each service time slot in the service time slot occupancy status table recorded by the node Compare the occupancy status of the two nodes to determine whether there is a conflicting service time slot; the conflicting service time slot is a service time slot occupied by two nodes with different MAC addresses at the same time;
    第二确定模块,用于如果存在所述冲突业务时隙,从所述冲突业务时隙对应的两个不同的MAC地址中,确定MAC地址小的节点的为竞争成功的节点;所述竞争成功的节点表示可继续占用所述冲突业务时隙的节点。The second determining module is configured to determine, from two different MAC addresses corresponding to the conflicting service time slots, that the node with the smaller MAC address is the node that succeeds in the competition if the conflicting service time slot exists; the competition is successful A node indicates a node that can continue to occupy the conflicting service time slot.
  14. 根据权利要求13所述的装置,其特征在于,还包括:The device according to claim 13, further comprising:
    更新模块,用于在所述第二确定模块确定MAC地址小的节点的为竞争成功的节点之后,依据所述竞争成功的节点以及所述竞争成功的节点 的MAC地址,更新该节点记录的业务时隙占用状态表中所述冲突业务时隙的占用状态、所述冲突业务时隙对应的MAC地址,以及在所述业务时隙占用状态表中标注所述冲突业务时隙被MAC地址小的节点占用,得到更新后的业务时隙占用状态表;The update module is used to update the service recorded by the node after the second determining module determines that the node with the smaller MAC address is the node that has succeeded in the competition, according to the MAC address of the node that has succeeded in the competition and the MAC address of the node that has succeeded in the competition The occupancy status of the conflicting service time slot in the time slot occupancy status table, the MAC address corresponding to the conflicting service time slot, and the mark in the service time slot occupancy status table that the conflicting service time slot has a smaller MAC address The node is occupied, and the updated service time slot occupancy status table is obtained;
    第三广播模块,用于依据所述更新后的业务时隙占用状态表,在该节点占用的控制时隙中广播业务时隙占用状态消息。The third broadcasting module is configured to broadcast a service time slot occupancy status message in the control time slot occupied by the node according to the updated service time slot occupancy status table.
  15. 根据权利要求9所述的装置,其特征在于,还包括:The device according to claim 9, further comprising:
    第一放音模块,用于在接收到其它节点广播的语音的情况下,如果该节点与初始广播该接收的语音的节点属于同一个预设组时,将所接收到的语音进行放音。The first sound playing module is used to play the received voice if the node and the node that initially broadcast the received voice belong to the same preset group when the voice broadcast by other nodes is received.
  16. 根据权利要求9所述的装置,其特征在于,还包括:The device according to claim 9, further comprising:
    第一放音模块,用于在接收到其它节点广播的语音的情况下,如果该节点是所述其它节点的中继节点,则该节点从所述MAC帧中选取业务时隙广播所接收到的语音。The first playback module is used to, in the case of receiving the voice broadcast by another node, if the node is a relay node of the other node, the node selects the service time slot from the MAC frame and broadcasts the received Voice.
PCT/CN2019/128182 2019-12-25 2019-12-25 Centerless ad hoc network-based voice conference communication method and device WO2021128039A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/128182 WO2021128039A1 (en) 2019-12-25 2019-12-25 Centerless ad hoc network-based voice conference communication method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/128182 WO2021128039A1 (en) 2019-12-25 2019-12-25 Centerless ad hoc network-based voice conference communication method and device

Publications (1)

Publication Number Publication Date
WO2021128039A1 true WO2021128039A1 (en) 2021-07-01

Family

ID=76575056

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/128182 WO2021128039A1 (en) 2019-12-25 2019-12-25 Centerless ad hoc network-based voice conference communication method and device

Country Status (1)

Country Link
WO (1) WO2021128039A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103379650A (en) * 2012-04-12 2013-10-30 电信科学技术研究院 Resource collision determination method and apparatus
US20150131637A1 (en) * 2012-04-24 2015-05-14 Zetta Research and Development, LLC - ForC Series V2v system with a hybrid physical layer
CN109640393A (en) * 2018-12-28 2019-04-16 西安烽火电子科技有限责任公司 A kind of competitive mode time division multiple acess cut-in method of wireless self-networking simultaneous data and speech transmission

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103379650A (en) * 2012-04-12 2013-10-30 电信科学技术研究院 Resource collision determination method and apparatus
US20150131637A1 (en) * 2012-04-24 2015-05-14 Zetta Research and Development, LLC - ForC Series V2v system with a hybrid physical layer
CN109640393A (en) * 2018-12-28 2019-04-16 西安烽火电子科技有限责任公司 A kind of competitive mode time division multiple acess cut-in method of wireless self-networking simultaneous data and speech transmission

Similar Documents

Publication Publication Date Title
US11272557B2 (en) System and method for coordinating device-to-device communications
KR100586845B1 (en) Method for enhancing transfer rate using DLP and multi-channel in DCF-based wireless LAN network, and wireless network system thereof
US8711830B2 (en) Method for media access controlling and system and method for channel time reservation in distributed wireless personal area network
CN104969649B (en) WIFI real-time streams and Bluetooth coexistence
CN104469694B (en) A kind of communication means and device based on group system
JP4582553B2 (en) Multimedia content distribution method and system using wireless communication network, particularly mobile phone network
US20140036756A1 (en) Tracking locations of multicast group members within a wireless communication system
KR100514190B1 (en) method for management of the wireless channel to wireless IP terminals in the Access Point wireless LAN based
EP3068120B1 (en) Relay device, voice communication system, program, and relay method
CN109640393B (en) Competitive time division multiple access method for data and voice simultaneous transmission of wireless ad hoc network
CN101754399B (en) Multi-channel collaboration multi-address access method and system
CN110225593B (en) Random number idle time slot competition method in distributed TDMA protocol
KR102400823B1 (en) AD-HOC Communication Network and Communication Method
CN108347746A (en) Connection control method, access network elements and user equipment
Azarfar et al. Delay analysis of multichannel opportunistic spectrum access MAC protocols
WO2006136992A2 (en) Method and apparatus for group call communication with virtual ad hoc network
CN113037937B (en) Voice conference communication method and device based on centerless ad hoc network
EP1564943A1 (en) Wireless Communication Terminal, System and Method
WO2021128039A1 (en) Centerless ad hoc network-based voice conference communication method and device
KR101346305B1 (en) the TDMA control method of having relay function using contention period
US8149803B2 (en) Apparatus for a beacon-enabled wireless network, transmission time determination method, and tangible machine-readable medium thereof
WO2020164636A1 (en) Device discovery method, apparatus, and system
CN108471640B (en) Dynamic and static mixed time slot allocation method and system
Khan et al. Mobility adaptive energy efficient and low latency MAC for wireless sensor networks
CN112469061B (en) Application method, device, equipment and storage medium of network resources

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19957557

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19957557

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 20/01/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 19957557

Country of ref document: EP

Kind code of ref document: A1