Data communication method and apparatus, and storage medium
Patent Information
- Application Number
- MYPI2023005302
- Authority / Receiving Office
- MY · MY
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-07-30
- Filing Date
- 2022-07-18
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2042-07-18
AI Technical Summary
There are probabilistic problems in the quality of public slicing networks that users actively subscribe to, resulting in poor user experience and affecting the promotion and use of network slicing.
By analyzing application data, it identifies applications that need to connect to network slicing, and links the network operators to automatically add them to network slicing, providing exclusive channels to prevent users from actively subscribing to public slicing.
It improves the user coverage and network quality stability of network slicing, and improves user experience.
Abstract
Description
Data communication method and device, electronic device, and storage medium
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on July 30, 2021, with application number 202110879479.0 and invention name “Data communication method and device, electronic device, storage medium”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to a data communication method and device, an electronic device, and a computer-readable storage medium.
[0003] Background of the Invention
[0004] Network slicing is an on-demand networking approach that essentially divides a carrier's physical network into multiple virtual networks. Each virtual network is divided according to different service requirements, such as latency, bandwidth, security, and reliability, to flexibly address different network application scenarios. Based on the above features of network slicing, using network slicing can provide users with a better network experience.
[0005] Currently, users who want to use network slicing need to actively subscribe to network operators, but the network slices that users actively subscribe to are public slices. The network quality obtained through public slices has probabilistic problems, resulting in poor user experience, which affects the promotion and use of network slicing.
[0006] Summary of the Invention
[0007] To solve the above technical problems, embodiments of the present application provide a data communication method and device, an electronic device, and a computer-readable storage medium.
[0008] According to one aspect of an embodiment of the present application, a data communication method is provided, which is executed by an electronic device, including: obtaining application data for connecting an application to a public network for data transmission; making a decision based on the application data whether the application needs to connect to a network slice; if the decision determines that the application needs to connect to a network slice, requesting the network operator to create a network slice channel, and sending the created network slice channel to the application, so that the application switches the public network to which it is connected to the network slice corresponding to the network slice channel.
[0009] According to one aspect of an embodiment of the present application, a data communication device is provided, including: an application data acquisition module, configured to acquire application data for an application to connect to a public network for data transmission; a network acceleration decision module, configured to make a decision on whether the application needs to connect to a network slice based on the application data; and a network slice control module, configured to request a network operator to create a network slice channel if it is decided that the application needs to connect to a network slice, and send the created network slice channel to the application, so that the application switches the public network to which it is connected to the network slice corresponding to the network slice channel.
[0010] According to one aspect of an embodiment of the present application, an electronic device is provided, including a processor and a memory, wherein the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the data communication method described above is implemented.
[0011] According to one aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which computer-readable instructions are stored. When the computer-readable instructions are executed by a processor of a computer, the computer executes the data communication method described above.
[0012] According to one aspect of an embodiment of the present application, a computer program product or computer program is provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the data communication methods provided in the various embodiments described above.
[0013] In the technical solution provided in the embodiments of the present application, on the one hand, by analyzing application data to identify applications that need to connect to network slices, and linking network operators to automatically add applications that need to connect to network slices to network slices, it can effectively improve the user coverage of network slices and achieve accurate delivery of network slices; on the other hand, since the network operator is linked to deliver the exclusive channel corresponding to the network slice to the application, compared with the user's active subscription to public slices, the network quality obtained by the application is more stable, thereby improving the user experience.
[0014] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application.
[0015] BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The accompanying drawings are incorporated into and constitute a part of the specification, illustrating embodiments consistent with the present application and, together with the specification, serving to explain the principles of the present application. It is obvious that the drawings described below are merely some embodiments of the present application, and a person of ordinary skill in the art can derive other drawings based on these drawings without inventive effort. In the drawings:
[0017] FIG1 is a schematic diagram of an implementation environment involved in this application;
[0018] FIG2 is a flow chart showing a data communication method according to an exemplary embodiment;
[0019] FIG3 is a flow chart of step S130 in the embodiment shown in FIG2 in an exemplary embodiment;
[0020] FIG4 is a flow chart of step S150 in the embodiment shown in FIG2 in an exemplary embodiment;
[0021] FIG5 is a flow chart of a data communication method shown in another exemplary embodiment of the present application;
[0022] FIG6 is a flow chart of an exemplary method for implementing data transmission in a cloud gaming system;
[0023] FIG7 is a block diagram of a data communication device shown in an exemplary embodiment of the present application;
[0024] FIG8 shows a schematic structural diagram of a computer system suitable for implementing an electronic device according to an embodiment of the present application.
[0025] Implementation Method
[0026] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. When the following description refers to the drawings, identical numerals in different figures represent identical or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
[0027] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically separate entities. That is, these functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0028] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may be decomposed, while others may be combined or partially combined. Therefore, the actual execution order may vary depending on the actual situation.
[0029] It should also be noted that the term "plurality" used in this application refers to two or more. "And / or" describes the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, or B exists alone. The character " / " generally indicates that the associated objects are in an "or" relationship.
[0030] First, please refer to Figure 1, which is a schematic diagram of an implementation environment involved in this application. The implementation environment includes a user terminal 10 and a server 20, and the user terminal 10 and the server 20 communicate with each other through a mobile network 30 provided by a network operator.
[0031] Network operators, as network providers, provide end-to-end data transmission networks to support end-to-end data transmission. The mobile network 30 provided by network operators includes public networks and network slices. Public networks refer to general-purpose networks. Generally, the mobile network 30 to which user terminals 10 automatically connect is the public network provided by the operator. Network slices are virtual private networks provided by network operators. The network quality provided by network slices can be adapted to the network quality requirements of specific application scenarios. Generally, connecting user terminals 10 to network slices incurs additional network fees. It should be noted that network operators are not limited to common network providers such as China Telecom, China Mobile, and China Unicom.
[0032] In the implementation environment shown in Figure 1, the user terminal 10 connects to the public network provided by the network operator for data transmission, and reports to the server 20 the application data of itself during the data transmission process based on the public network, such as network signal strength, packet loss rate, network delay, etc. The server 20 decides whether the user terminal 10 needs to connect to the network slice to obtain network acceleration based on the application data reported by the user terminal 10. If the decision is yes, the network operator is requested to create a network slice channel and send the created network slice channel to the user terminal 10. The user terminal 10 switches the public network to which it is connected to the network slice corresponding to the network slice channel according to the network slice channel issued by the network operator. It can be seen that in this implementation environment, the server 20 analyzes the application data reported by the user terminal 10 to identify users who need network acceleration, and links the network operator to automatically add the user terminal 10 where the user needs to obtain network acceleration by connecting to the network slice to the network slice.
[0033] It should be noted that the user terminal 10 can be an electronic device with network connection function, such as a smart phone, tablet, laptop, computer, etc., and the server 20 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), big data and artificial intelligence platforms and other basic cloud computing services. This is not restricted here.
[0034] Figure 2 is a flow chart illustrating a data communication method according to an exemplary embodiment. This method can be applied to the implementation environment shown in Figure 1 and specifically executed by server 20 in the implementation environment shown in Figure 1. In other implementation environments, the method can be executed by other devices, such as the electronic device shown in Figure 8, but this embodiment is not limited thereto. The data communication method will be described in detail below using server 20 in the embodiment shown in Figure 1 as an exemplary execution entity.
[0035] As shown in FIG2 , the exemplary data communication method may include steps S110 to S150, which are described in detail as follows:
[0036] Step S110: Acquire application data for connecting to a public network for data transmission.
[0037] First, it should be noted that the application involved in this embodiment refers to an application program running on a user terminal. After the application is connected to a mobile network, data transmission can be carried out based on the mobile network. For example, the application includes a video playback application, a cloud gaming application, etc.
[0038] Mobile networks are networks provided by network operators, including public networks and network slices. Public networks are open networks provided by network operators for the public to access information, also known as general networks. Network slices are virtual private networks provided by network operators. The networks provided by network slices can be adapted to the network quality requirements of specific application scenarios. Generally, the mobile network to which user terminals automatically connect is the public network provided by the network operator. Connecting to a network slice incurs additional network fees.
[0039] The application data obtained by the server when the application connects to the public network for data transmission may include network quality parameters and user attribute parameters, where the network quality parameters are used to describe the network quality status of the application during the data transmission process, and the user attribute parameters are used to describe the basic attributes and behavioral attributes associated with the user account logged in to the application. For example, the network quality parameters may include a universally unique identifier (UUID), round-trip time (RTT), packet loss rate, bit rate, signal strength, etc., and the user attribute parameters may include user level, user activity, user online time, etc., which are not listed here one by one.
[0040] In some embodiments, the application reports its own application data for data transmission to the server at a preset frequency. The server can perform pre-processing such as data cleaning, data analysis, and data calculation on the received application data to make subsequent decisions based on the pre-processed application data more accurate.
[0041] Step S130: Make a decision on whether the application needs to connect to the network slice based on the application data.
[0042] As mentioned above, the network provided by network slicing can adapt to the network quality requirements in specific application scenarios, but users need to pay additional fees to connect applications to network slices. Therefore, in order to ensure that users have a better application experience and that users can better accept the paid use of network slices, it is necessary to decide whether the application uses network slicing to obtain higher quality network services based on the application data of the application, so as to accurately cover the network slices to users, so as to improve the coverage of network slices while ensuring user experience.
[0043] For example, the application data can be used to determine whether the network quality of the application's data transmission based on the public network is poor. If so, it is more likely that the user expects to obtain network acceleration through network slicing, and thus decides that the application needs to connect to the network slice.
[0044] Alternatively, after determining that the network quality of an application's data transmission over a public network is poor, the application's need for network slicing may be further determined based on user attribute parameters contained in the application data. For example, if these user attribute parameters reflect a user's past payment behavior within the application, the user is more likely to benefit from network acceleration through network slicing, thereby providing a better user experience. Therefore, the application may be considered to require network slicing for network acceleration. The detailed decision-making process can be determined based on the actual application scenario and is not restricted here.
[0045] Step S150: If it is decided that the application needs to connect to a network slice, the network operator is requested to create a network slice channel, and the created network slice channel is sent to the application so that the application switches the public network to which it is connected to the network slice corresponding to the network slice channel.
[0046] As mentioned above, if the decision is that the application needs to connect to the network slice, it means that the user where the application is located is likely to accept the use of network slicing to obtain better network quality, so the server requests the network operator to provide the network service of the network slice to the application.
[0047] The server is aware in advance of the network slicing interface provided by the network operator. The network slicing interface provides functions such as creating, registering, exiting slices, and adjusting related parameters. Therefore, the server can link with the network operator by calling the network slicing interface and request the network operator to cooperate in realizing related network communication scenarios.
[0048] The server requests the network operator to create a network slice channel, which is used to provide the application with a dedicated channel to connect to the network slice, and sends the created network slice channel to the application, so that the application switches the connected public network to the slice network corresponding to the network slice channel. It should be noted that the network slice channel created by the network operator can be a reserved network channel deployed in the nearest base station, bearer network or core network. This embodiment does not limit the specific deployment location of the network slice channel.
[0049] For example, the network operator can send the created network slice channel to the application based on the UE Route Selection Policy (URSP) rules. The URSP rules describe the correspondence between the application and the network slice. Based on the URSP rules, it can be determined whether the detected application can be associated with the existing PDU session, or trigger the establishment of a new PDU session, so as to achieve accurate delivery of network slices and implement network acceleration for the application.
[0050] As can be seen from the above, this embodiment uses the server to identify applications that need to connect to network slices, and the server coordinates with the network operator to issue network slices to applications that require network acceleration. This not only achieves accurate coverage of network slices, but also eliminates the need for users of the applications to actively subscribe to network slices, allowing for rapid network acceleration within the application. Furthermore, because the network slice channel issued by the network operator to the application is a dedicated channel connecting to the corresponding network slice, the network quality obtained after the application switches to connect to the network slice can be guaranteed, and probabilistic network quality issues caused by users actively subscribing to public slices will not occur.
[0051] FIG3 is a flowchart of step S130 in an exemplary embodiment of the embodiment shown in FIG2 . As shown in FIG3 , the process of determining whether an application needs to connect to a network slice based on application data may include steps S131 to S133, which are described in detail as follows:
[0052] Step S131 : determining a network quality index of the application according to the network quality parameters contained in the application.
[0053] First of all, it should be noted that the application's network quality index is used to characterize the application's transmission performance for data transmission based on the functional network. Generally, the higher the network quality index, the higher the application's transmission performance for data transmission, and the better the user experience of the user using the application. However, in actual application scenarios, the network quality of the network to which the application is connected must reach a certain level to ensure that users can obtain a good user experience.
[0054] The purpose of this embodiment in determining the network quality indicators of an application based on the network quality parameters contained in the application is to quantify the network quality of the application so as to conveniently determine whether the application needs to connect to a network slice to obtain network acceleration based on the network quality indicators.
[0055] For example, the network quality index of an application can be calculated based on the network quality parameters contained in the application data and the preset bitrate of the application. The network quality parameters include at least one of round-trip delay, packet loss rate, and bitrate. The preset bitrate of an application refers to the preset bitrate at which the application can achieve a smooth user experience, and the preset bitrate of different applications may vary.
[0056] For example, if the application is a cloud gaming application, different types of cloud games have different requirements for the clarity of the game screen. For example, for first-person shooter (FPS) type cloud games, the game screen should reach ultra-clear picture quality to enable users to have a smooth gaming experience, and the corresponding preset bit rate is 5500bit / s; while the game screen of rhythm type cloud games should reach high-definition picture quality to enable users to have a smooth gaming experience, and the corresponding preset bit rate is 9000bit / s; and for video playback application scenarios, the preset bit rate of live video applications should be higher than the preset bit rate of video playback applications, which are not listed one by one here.
[0057] If the application's network quality index is represented as F, the round-trip delay is represented as A, the packet loss rate is represented as B, the bit rate is represented as C, and the application's preset bit rate is represented as D, the application's network quality index F can be calculated using the following formula:
[0058]
[0059] In the above formula, the value range of F is [0, 1]. For example, when 0.2 < F < 1, the user experience is better; when 0 < F < 0.2, the user experience is worse.
[0060] In one example, D representing the preset bit rate of the application can be the maximum bit rate, denoted by max_bit_rate. When max_bit_rate = 3500, the picture clarity corresponding to the application is standard definition. When max_bit_rate = 5500, the picture clarity corresponding to the application is ultra high definition. When max_bit_rate = 9000, the picture clarity corresponding to the application is high definition. The user can adjust the value of D accordingly according to their own needs and the value of the network quality index F to meet the requirements of different applications.
[0061] Step S133: If the network quality index does not reach the standard network quality index range corresponding to the application, it is determined that the application needs to connect to a network slice; otherwise, it is determined that the application does not need to connect to a network slice.
[0062] Among them, under the standard network quality index range, users can obtain a good user experience when using the application. Although the network quality beyond the standard network quality index range is high, the improvement effect on the user experience is not obvious, which is equivalent to wasting network bandwidth. Therefore, the standard network quality index ranges corresponding to different types of applications may be different. Generally, the higher the preset bit rate of the application, the larger the endpoint values of the corresponding standard network quality index range.
[0063] In this embodiment, if the network quality index of the application does not reach the standard network quality index range corresponding to the application, it means that the network quality obtained by the application based on the public network is poor and cannot guarantee the user experience. Therefore, it is necessary to accelerate the network of the application to enable the user to obtain a better application experience. Similarly, if the network quality index of the application reaches the standard network quality index range, the application does not need to connect to a network slice to obtain network acceleration.
[0064] In another embodiment, after determining that the network quality index of the application does not reach the standard network quality index range corresponding to the application, the user attribute parameters contained in the application data can also be obtained to further determine whether the application needs to connect to a network slice according to the user attribute parameters.
[0065] The user attribute parameters are used to describe the basic attributes and behavioral attributes associated with the user account logged in to the application. The basic attributes include basic user information such as user age, region, and gender, and the behavioral attributes include information such as activity information, online duration, and payment information.
[0066] The strategy of further deciding whether the application needs to connect to the network slice based on the user attribute parameters can be determined specifically according to the actual application scenario. For example, if the application scenario focuses on the user's payment habits, the user attribute parameters can be used to determine whether the current user has made historical payments within the application. If so, it means that the user is more receptive to paying extra fees to obtain a higher quality network, so it is determined that the application needs to connect to the network slice to obtain network acceleration. Alternatively, if the application scenario focuses on the user's age, the user attribute parameters can be used to determine whether the current user's age is in an age group that is more receptive to network payment services. If so, it is determined that the application needs to connect to the network slice to obtain network acceleration. It should be noted that in actual application scenarios, the focus can be one or more points, and this is not limited here.
[0067] In another exemplary embodiment, after determining that the network quality indicator does not meet the standard network quality indicator range corresponding to the application, the region where the application is located is obtained, and based on whether the network operator provides network slicing services in this region, a further decision is made as to whether the application needs to connect to the network slice to obtain network acceleration. It should be understood that only if the network operator provides network slicing services in this region can the application obtain network acceleration by connecting to the network slice.
[0068] The above example decision-making methods can be further superimposed based on actual application scenarios to meet the needs of actual application scenarios, and this is not limited here. Therefore, by having the server decide whether an application needs to connect to the network slice, it can accurately identify applications that require network acceleration, laying the foundation for the precise coverage of network slices.
[0069] FIG4 is a flowchart of step S150 in an exemplary embodiment of the embodiment shown in FIG2. As shown in FIG4, the process of the server requesting the network operator to create a network slice channel and sending the created network slice channel to the application may include steps S151 to S153, which are described in detail as follows:
[0070] Step S151, determine the channel parameters of the network slice channel to be created.
[0071] In order to ensure that the network acceleration obtained by the application can meet the application requirements and does not cause waste of slice resources, it is necessary to determine the channel parameters of the network slice channel to be created, and request the network operator to create a suitable network slice channel based on the determined channel parameters.
[0072] The server may determine channel parameters corresponding to the network slice channel to be created based on at least one of the total number of applications in the application area and connected to the public network within a specified time period, and the preset bit rate of the application. The channel parameters corresponding to the network slice channel may include at least one of the channel size and the connection period.
[0073] For example, if the total number of applications connected to the public network within a certain time period in the area where the application is located is large, the connection period can be set to the corresponding time period, so that after the terminal receives the network slice channel issued by the network operator, it switches the network it is connected to from the public network to the network corresponding to the network slice channel within this time period. For example, 7pm to 9pm is a time period when the public network is congested, so the connection period can be set to 7pm to 9pm. It is also possible to set a specified frequency for the connection period, for example, the connection period is 7pm to 9pm every night, so as to control the frequency and time period of the application connecting to the network slice, which not only saves the network resources of the network slice, but also further optimizes the user experience.
[0074] Since the application can achieve a smooth user experience at the preset bit rate, in order to ensure that users can obtain a good user experience after the application switches to connect to the network slice, the channel size of the network slice channel created by the network operator should at least provide the corresponding network bandwidth. Therefore, the channel size of the network slice channel can be determined according to the bit rate of the application at the preset bit rate.
[0075] Step S153, call the network slice interface provided by the network operator, and pass the channel parameters to the network slice interface to request the network operator to create a network slice channel that matches the channel parameters.
[0076] After determining the channel parameters corresponding to the network slice channel to be created, by calling the network slice interface provided by the network operator and passing the channel parameters to the network slice interface, you can request the network operator to create a network slice channel that matches this channel parameter.
[0077] This embodiment implements the confirmation of channel parameters on the server based on the above process, and requests the network operator to create a corresponding network slice channel based on the confirmed channel parameters, so that the created network slice channel can not only realize the network acceleration of the application, but also will not cause waste of network slice resources.
[0078] FIG5 is a flow chart of a data communication method according to another exemplary embodiment of the present application. As shown in FIG5 , the method further includes steps S210 to S230 based on the steps shown in FIG2 , which are described in detail as follows:
[0079] Step S210, monitor the operating status of the application after it switches the public network to which it is connected to the network slice corresponding to the network slice channel.
[0080] In this embodiment, after the application switches the public network to which it is connected to to the network slice corresponding to the network slice channel, it will still send application data based on the network slice for data transmission to the server. Based on these application data, the application running status can be monitored.
[0081] Step S230: If the running status is monitored to exit the application or complete the current running task, the network slicing interface provided by the network operator is called to request the network operator to exit the application from the network slicing channel.
[0082] If the running status is monitored to exit the application or complete the current running task, the network slicing interface provided by the network operator is called to request the network operator to exit the application from the network slicing channel to avoid wasting slice resources. It can also avoid users having to pay network fees every time they log in to the application, thereby better improving the user experience.
[0083] It can be seen that in this embodiment, the server linkage with the network operator can not only realize the dynamic joining of users, but also realize the dynamic exit of users from network slices, which not only saves network slice resources but also greatly improves the user experience.
[0084] In another embodiment, the network quality indicators of the data transmission performed by the application connecting to the network slice can be obtained, and the network quality indicators of the data transmission performed by the application connecting to the network slice can be compared with the network quality indicators of the data transmission performed by the application connecting to the public network to obtain a comparison result. Based on the comparison result, the network quality before and after adding the slice can be clearly compared, and the improvement effect of the user experience can be evaluated in actual application scenarios.
[0085] The data communication method provided in the embodiments of the present application is introduced in detail below using a cloud gaming system as an example application scenario.
[0086] Cloud gaming is an online gaming technology based on cloud computing. It enables devices with relatively limited graphics and data processing capabilities to run high-quality games. In cloud gaming scenarios, games are not run on the user's gaming terminal, but rather on a cloud server. The cloud server renders the game scene into a video and audio stream, which is transmitted over the network to the cloud gaming client installed on the player's gaming terminal. The player's gaming terminal does not need powerful graphics and data processing capabilities; it only needs basic streaming capabilities and the ability to receive user input and send it to the cloud server.
[0087] Cloud gaming has extremely high requirements for network quality, especially latency and jitter. If the quality is poor, it will affect the cloud gaming experience, such as the outcome of the game, the visual quality of the game, etc. Therefore, if the data communication method proposed in the embodiment of this application is applied to the cloud gaming scenario, it can better ensure the user's gaming experience and improve the reputation of cloud gaming.
[0088] In a specific example, the data structure of the network quality reported by the cloud gaming client is shown in Table 1. The data structure of the network quality reported by the cloud gaming client can be flexibly adjusted according to different requirements.
[0089] report_time data reporting time uuid user idserver_ip server IPmanufacturer mobile phone manufactureros_type system typeos_version system versionRtt network delay (empty if more than 200ms)Netaccesstype network typeNetprottype network protocol (IPv4 / IPv6)client_isp client network operatorclient_province client provinceclient_city client city
[0090] Table 1
[0091] This exemplary cloud gaming system includes a cloud gaming application running on a terminal and a cloud gaming server. The cloud gaming application and the cloud gaming server communicate over the mobile network provided by the network operator. The mobile network provided by the network operator includes a public network and network slices. The network operator provides a network slice interface for the cloud gaming server to call. The cloud gaming server is equipped with a cloud gaming data platform service program and a decision-making service program.
[0092] The process of implementing the data transmission method of the exemplary cloud gaming system is shown in Figure 6. Referring to Figure 6 in detail, the cloud gaming application sends application data to the cloud gaming server. The application data is obtained by the cloud gaming application connecting to the public network for data transmission, and includes at least one of network quality parameters and user attribute parameters.
[0093] The cloud gaming data platform program set up in the cloud gaming server pre-processes the application data uploaded by the cloud gaming application. This pre-processing includes data cleaning, data analysis, data calculation, etc., which are not restricted here.
[0094] The pre-processed application data is transmitted to the decision service program set in the cloud gaming server to make a decision on whether the cloud gaming application needs to connect to the network slice. As shown in Figure 6, the decision service program may make the following decision on whether the cloud gaming application needs to connect to the network slice:
[0095] First, the network quality indicators of the cloud gaming application are determined based on the network quality parameters contained in the application data. If the network quality of the cloud gaming application is determined to be high based on the network quality indicators, then it is further determined whether the area where the cloud gaming application is located provides network slicing services. If it is determined that the network operator provides network slicing services in this area, then it is further determined based on the user attribute parameters contained in the application data whether the cloud gaming application needs to connect to the network slice to obtain network acceleration.
[0096] If the decision is that the cloud gaming application needs to connect to a network slice, the network slicing interface provided by the network operator is called to request the network operator to create a network slice channel, and the created network slice channel is sent to the cloud gaming application. The network slice channel is used to provide the cloud gaming application with a dedicated channel to the network slice. The detailed decision-making process is described in the previous embodiment and will not be repeated here.
[0097] Based on the received network slice channel, the cloud gaming application switches the public network it is connected to to the corresponding network slice, and transmits data based on the switched network slice. After the cloud gaming application completes the network switch, it returns a notification message to the network operator, which then returns a result message to the cloud gaming server based on the notification message.
[0098] If the decision service program detects that the cloud gaming application exits the game or completes a game, it can call the network slice interface again to request the network operator to exit the cloud gaming application from the current network slice channel.
[0099] It can be seen that this application identifies users with poor network quality through cloud gaming background data analysis, and through background linkage with network slice providers, enables users to dynamically join or exit cloud gaming dedicated slices, which not only improves user experience but also saves network slice resources.
[0100] FIG7 is a block diagram of a data communication device according to an exemplary embodiment of the present application. The data communication device can be applied to the implementation environment shown in FIG1 and specifically executed by the server 20 in the implementation environment shown in FIG1.
[0101] As shown in FIG7 , the data communication device includes:
[0102] The application data acquisition module 310 is configured to obtain application data for the application to connect to the public network for data transmission; the network acceleration decision module 330 is configured to make a decision on whether the application needs to connect to the network slice based on the application data; the network slice control module 350 is configured to request the network operator to create a network slice channel if it is decided that the application needs to connect to the network slice, and send the created network slice channel to the application, so that the application switches the public network to which it is connected to to the network slice corresponding to the network slice channel; wherein the network slice channel is used to provide the application with a dedicated channel to connect to the network slice.
[0103] On the one hand, the device identifies users who need to connect to network slices to obtain network acceleration by analyzing application data, and automatically adds the applications of users who need network acceleration to the network slices through the linkage of network operators, which can effectively improve the user coverage of the network slices and achieve accurate delivery of network slices. On the other hand, since the network operator delivers the exclusive channel corresponding to the network slice to the application, the network quality obtained by the application is more stable compared to the user's active subscription to the public slice, thereby improving the user experience.
[0104] In another exemplary embodiment, the network acceleration decision module includes:
[0105] The indicator determination unit is configured to determine the network quality indicator of the application based on the network quality parameters contained in the application, and the network quality indicator is used to characterize the transmission performance of the application for data transmission based on the public network; the first decision unit is configured to decide whether the application needs to connect to the network slice if the network quality indicator does not reach the standard network quality indicator range corresponding to the application, wherein the standard network quality indicator ranges corresponding to different types of applications are different; if the network quality indicator reaches the standard network quality indicator range, the application does not need to connect to the network slice.
[0106] In another exemplary embodiment, the indicator determination unit includes:
[0107] The parameter acquisition subunit is configured to obtain the network quality parameters contained in the application data and determine the preset bit rate of the application, wherein the network quality parameters include at least one of round-trip delay, packet loss rate, and bit rate, and the application can achieve a smooth user experience at the preset bit rate; the indicator calculation unit is configured to calculate the network quality indicator of the application based on the network quality parameters and the preset bit rate.
[0108] In another exemplary embodiment, the network acceleration decision module includes:
[0109] The user attribute parameter acquisition unit is configured to obtain the user attribute parameters contained in the application data after determining that the network quality index does not reach the standard network quality index range corresponding to the application. The user attribute parameters are used to describe the basic attributes and behavioral attributes associated with the user account logged in to the application; the second decision unit is configured to further decide whether the application requires network acceleration based on the user attribute parameters.
[0110] In another exemplary embodiment, the network acceleration decision module includes:
[0111] The area determination unit is configured to obtain the area where the application is located after determining that the network quality indicator does not reach the standard network quality indicator range corresponding to the application; the third decision unit is configured to further decide whether the application needs to connect to the network slice based on whether the network operator provides network slicing services in the area.
[0112] In another exemplary embodiment, the network slice control module includes:
[0113] A channel parameter determination unit is configured to determine the channel parameters of the network slice channel to be created, wherein the channel parameters include at least one of the channel size and the connection period; an interface calling module is configured to call the network slice interface provided by the network operator and pass the channel parameters to the network slice interface to request the network operator to create a network slice channel that matches the channel parameters.
[0114] In another exemplary embodiment, the apparatus further comprises:
[0115] The operation status monitoring module is configured to monitor the operation status of the application after it switches the public network to which it is connected to to the network slice corresponding to the network slice channel; the exit processing module is configured to call the network slice interface provided by the network operator if the operation status is monitored to exit the application or complete the current operation task, and request the network operator to exit the application from the network slice channel.
[0116] In another exemplary embodiment, the apparatus further comprises:
[0117] The indicator acquisition and comparison module is configured to obtain the network quality indicators of the data transmission performed by the application connection network slice, and compare the network quality indicators of the data transmission performed by the application connection network slice with the network quality indicators of the data transmission performed by the application connection public network to obtain a comparison result.
[0118] It should be noted that the apparatus provided in the above embodiment and the method provided in the above embodiment belong to the same concept, wherein the specific manner in which each module and unit performs operations has been described in detail in the method embodiment and will not be repeated here.
[0119] An embodiment of the present application further provides an electronic device, including a processor and a memory, wherein the memory stores computer-readable instructions, which implement the above-mentioned data communication method when executed by the processor.
[0120] FIG8 shows a schematic structural diagram of a computer system suitable for implementing an electronic device according to an embodiment of the present application.
[0121] It should be noted that the computer system 1600 of the electronic device shown in FIG8 is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0122] As shown in Figure 8, computer system 1600 includes a central processing unit (CPU) 1601, which can perform various appropriate actions and processes according to the program stored in read-only memory (ROM) 1602 or the program loaded from storage portion 1608 into random access memory (RAM) 1603, such as executing the method in the above embodiment. Various programs and data required for system operation are also stored in RAM 1603. CPU 1601, ROM 1602 and RAM 1603 are connected to each other via bus 1604. Input / output (I / O) interface 1605 is also connected to bus 1604.
[0123] The following components are connected to the I / O interface 1605: an input section 1606 including a keyboard, a mouse, and the like; an output section 1607 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage section 1608 including a hard disk; and a communication section 1609 including a network interface card such as a local area network (LAN) card or a modem. The communication section 1609 performs communication processing via a network such as the Internet. A drive 1610 is also connected to the I / O interface 1605 as needed. Removable media 1611, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 1610 as needed, so that computer programs read from the removable media can be installed in the storage section 1608 as needed.
[0124] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 1609, and / or installed from a removable medium 1611. When the computer program is executed by the central processing unit (CPU) 1601, the various functions defined in the system of the present application are executed.
[0125] It should be noted that the computer-readable medium shown in the embodiments of the present application can be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium can be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, which carries a computer-readable computer program. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. A computer program embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, or any suitable combination thereof.
[0126] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. Among them, each box in the flowchart or block diagram can represent a module, program segment, or part of the code, and the above-mentioned module, program segment, or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0127] The units described in the embodiments of the present application may be implemented in software or hardware, and the units described may also be provided in a processor. In some cases, the names of these units do not constitute limitations on the units themselves.
[0128] Another aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the aforementioned data communication method. The computer-readable storage medium may be included in the electronic device described in the above embodiments, or may exist independently and not be incorporated into the electronic device.
[0129] Another aspect of the present application provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the data communication method provided in each of the above embodiments.
[0130] The above content is only a preferred exemplary embodiment of the present application and is not intended to limit the implementation scheme of the present application. Ordinary technicians in this field can easily make corresponding changes or modifications based on the main concept and spirit of the present application. Therefore, the scope of protection of the present application shall be based on the scope of protection required by the claims.
Claims
1. A data communication method, performed by an electronic device, It is characterized in that include: Obtain application data that the application uses to connect to the public network for data transmission; Making a decision on whether the application needs to connect to a network slice according to the application data; If it is decided that the application needs to connect to a network slice, the network operator is requested to create a network slice channel, and the created network slice channel is sent to the application, so that the application can switch the public network to which it is connected to the network slice corresponding to the network slice channel.
2. The method according to claim 1, It is characterized in that The deciding whether the application needs to connect to a network slice according to the application data includes: Determine a network quality indicator of the application according to a network quality parameter contained in the application data, wherein the network quality indicator is used to characterize the transmission performance of the application for data transmission based on the public network; If the network quality indicator does not reach the standard network quality indicator interval corresponding to the application, it is decided that the application needs to connect to the network slice, wherein different types of applications correspond to different standard network quality indicator intervals; If the network quality indicator reaches the standard network quality indicator range, it is decided that the application does not need to connect to the network slice; wherein the network slice channel is used to provide the application with a dedicated channel to connect to the network slice.
3. The method according to claim 2, It is characterized in that The determining the network quality index of the application according to the network quality parameter contained in the application data includes: Acquire a network quality parameter contained in the application data, and determine a preset bit rate of the application, wherein the network quality parameter includes at least one of round-trip delay, packet loss rate, and bit rate, and the application can achieve a smooth user experience at the preset bit rate; A network quality index of the application is calculated according to the network quality parameter and the preset bit rate.
4. The method according to claim 3, It is characterized in that The network quality index of the application is calculated using the following formula: Among them, F represents the network quality indicator of the application, A represents the network delay parameter, B represents the packet loss rate, C represents the bit rate, and D represents the standard bit rate.
5. The method according to claim 2, It is characterized in that The method further comprises: After determining that the network quality indicator does not reach the standard network quality indicator interval corresponding to the application, obtaining user attribute parameters contained in the application data, the user attribute parameters being used to describe basic attributes and behavior attributes associated with a user account logged in to the application; A further decision is made based on the user attribute parameters as to whether the application needs to connect to the network slice.
6. The method according to claim 2, It is characterized in that The method further comprises: After determining that the network quality indicator does not reach the standard network quality indicator interval corresponding to the application, obtaining the area where the application is located; Based on whether the network operator provides network slicing services in the area, a further decision is made as to whether the application needs to connect to the network slice.
7. The method according to claim 1, It is characterized in that The requesting the network operator to create a network slice channel and sending the created network slice channel to the application includes: Determine a channel parameter of a network slice channel to be created, wherein the network slice channel is used to provide the application with a dedicated channel connected to the network slice, and the channel parameter includes at least one of a channel size and a connection period; Call the network slice interface provided by the network operator, and pass the channel parameters to the network slice interface to request the network operator to create a network slice channel that matches the channel parameters.
8. The method according to claim 7, It is characterized in that The determining of channel parameters of the network slice channel to be created includes: The channel parameter is determined according to at least one of the total number of applications in the area where the application is located and connected to the public network within a specified time period and a preset bit rate of the application.
9. The method according to claim 1, It is characterized in that The method further comprises: Monitoring the running state of the application after the application switches the public network to which it is connected to a network slice corresponding to the network slice channel, wherein the network slice channel is used to provide the application with a dedicated channel connected to the network slice; If it is monitored that the running status is to exit the application or complete the current running task, the network slicing interface provided by the network operator is called to request the network operator to exit the application from the network slicing channel.
10. The method according to claim 1, It is characterized in that The method further comprises: Obtaining a network quality indicator for data transmission performed by the application connected to the network slice; The network quality index of data transmission performed by the application connecting to the network slice is compared with the network quality index of data transmission performed by the application connecting to the public network to obtain a comparison result.
11. The method according to any one of claims 1 to 10, It is characterized in that The network operator sends the created network slice channel to the application according to the UE routing selection policy URSP rules.
12. A cloud gaming system, It is characterized in that It includes a cloud gaming application and a cloud gaming server running on a terminal, wherein the cloud gaming application and the cloud gaming server communicate with each other based on a mobile network provided by a network operator, wherein the mobile network includes a public network and a network slice, wherein: The cloud gaming application sends application data to the cloud gaming server, where the application data is obtained by the cloud gaming application connecting to the public network for data transmission; The cloud gaming server determines whether the cloud gaming application needs to connect to a network slice based on the application data. If the cloud gaming application needs to connect to a network slice, the cloud gaming server requests the network operator to create a network slice channel, and sends the created network slice channel to the cloud gaming application. The cloud gaming application switches the public network to which it is connected to the network slice to transmit data based on the network slice.
13. A data communication device, It is characterized in that include: An application data acquisition module, configured to acquire application data for data transmission by connecting to a public network; A network acceleration decision module, configured to make a decision on whether the application needs to connect to a network slice according to the application data; The network slice control module is configured to request the network operator to create a network slice channel if it is decided that the application needs to connect to a network slice, and send the created network slice channel to the application, so that the application switches the public network to which it is connected to the network slice corresponding to the network slice channel.
14. The device according to claim 13, It is characterized in that The network acceleration decision module includes: an indicator determination unit, configured to determine a network quality indicator of the application according to a network quality parameter contained in the application, wherein the network quality indicator is used to characterize a transmission performance of the application for data transmission based on the public network; The first decision unit is configured to decide that the application needs to connect to the network slice if the network quality indicator does not reach the standard network quality indicator interval corresponding to the application, wherein different types of applications correspond to different standard network quality indicator intervals; if the network quality indicator reaches the standard network quality indicator interval, then decide that the application does not need to connect to the network slice; wherein the network slice channel is used to provide the application with an exclusive channel to connect to the network slice.
15. The device according to claim 14, It is characterized in that The indicator determination unit comprises: a parameter acquisition subunit, configured to acquire a network quality parameter contained in the application data, and determine a preset bit rate of the application, wherein the network quality parameter includes at least one of a round-trip delay, a packet loss rate, and a bit rate, and the application can achieve a smooth user experience at the preset bit rate; The indicator calculation unit is configured to calculate the network quality indicator of the application according to the network quality parameter and the preset bit rate.
16. The device according to claim 14, It is characterized in that The network acceleration decision module includes: A user attribute parameter acquisition unit, configured to, after determining that the network quality indicator does not reach the standard network quality indicator interval corresponding to the application, acquire the user attribute parameters contained in the application data, the user attribute parameters being used to describe basic attributes and behavior attributes associated with a user account logged in to the application; The second decision unit is configured to further decide whether the application needs network acceleration according to the user attribute parameters.
17. The device according to claim 14, It is characterized in that The network acceleration decision module includes: A region determination unit, configured to obtain a region where the application is located after determining that the network quality indicator does not reach a standard network quality indicator interval corresponding to the application; The third decision unit is configured to further decide whether the application needs to connect to the network slice based on whether the network operator provides network slicing services in the area.
18. The device according to claim 13, It is characterized in that The network slicing control module includes: A channel parameter determination unit, configured to determine a channel parameter of a network slice channel to be created, wherein the channel parameter includes at least one of a channel size and a connection period; The interface calling module is configured to call the network slice interface provided by the network operator and pass the channel parameters to the network slice interface to request the network operator to create a network slice channel that matches the channel parameters, wherein the network slice channel is used to provide the application with a dedicated channel connected to the network slice.
19. An electronic device, It is characterized in that include: a memory storing computer-readable instructions; A processor reads the computer-readable instructions stored in the memory to execute the method according to any one of claims 1 to 11.
20. A computer-readable storage medium, It is characterized in that Computer-readable instructions are stored thereon, and when the computer-readable instructions are executed by a processor of a computer, the computer is caused to execute the method according to any one of claims 1 to 11.