A data processing method, device and computer readable storage medium
Patent Information
- Application Number
- CN202211008007.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-22
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2042-08-22
AI Technical Summary
然而,相关技术中,服务设备在优化传输性能时,存在缺少细粒度的数据的问题,从而使得传输性能优化的效果较差,同时数据的安全程度也较低
[0019]本申请实施例提供一种服务设备,包括:
Smart Images

Figure CN117675234B_ABST
Abstract
Description
Technical Field
[0001] This application relates to information transmission technology, and more particularly to a data processing method, apparatus, and computer-readable storage medium. Background Technology
[0002] Data generated by users operating terminal devices includes operational behavior data reflecting user habits and experience, as well as performance index data reflecting network transmission quality and conditions. This performance index data can be used by service devices to optimize audio and video traffic transmission performance. However, in related technologies, service devices lack fine-grained data when optimizing transmission performance, resulting in poor optimization effects and lower data security. Summary of the Invention
[0003] This application provides a data processing method, apparatus, device, computer-readable storage medium, and computer program product that can improve the effect of transmission performance optimization and enhance data security.
[0004] The technical solution of this application embodiment is implemented as follows: This application provides a data processing method, including: The system receives data upload messages from terminal devices and stores the encryption performance data carried in the data upload messages; the encryption performance data is obtained by encrypting performance index data describing the quality of transmission performance during data reception. In response to a data authorization request from a service device, the data authorization request is forwarded to the terminal device; wherein the data authorization request is used to request the terminal device to authorize the use of the encrypted performance data; Receive the data authorization certificate returned by the terminal device in response to the data authorization request, and send the data authorization certificate back to the service device; In response to the data acquisition request generated by the service device based on the data authorization certificate, the encrypted performance data is sent to the service device so that the service device can optimize the transmission performance based on the performance index data obtained by decrypting the encrypted performance data.
[0005] This application provides a data processing method, including: Send a data authorization request to the management device; wherein the data authorization request is used to request the terminal device to authorize the use of encrypted performance data; The terminal device receives a data authorization certificate returned by the management device in response to the data authorization request; the data authorization certificate is generated by the terminal device in response to the data authorization request and sent to the management device. Based on the data authorization certificate, a data acquisition request is generated and sent to the management device; The system receives encryption performance data returned by the management device in response to the data acquisition request. Using the terminal key obtained by decrypting the data authorization certificate, the encrypted performance data is decrypted to obtain performance index data, and the transmission performance is optimized based on the performance index data.
[0006] This application provides a data processing method, including: The collected performance index data is encrypted to obtain encrypted performance data, which is then carried in a data upload message and sent to the management device; the performance index data describes the quality of transmission performance during data reception. Receive a data authorization request forwarded by the management device; wherein the data authorization request is used to request authorization for the use of the encrypted performance data, and the data authorization request is generated by the service device; In response to the data authorization request, a data authorization certificate is generated and returned to the management device to enable... The management device sends the data authorization certificate back to the service device, and the service device generates a data acquisition request based on the data authorization certificate, obtains the encryption performance data from the management device, decrypts the encryption performance data, and uses the decrypted performance index data to optimize the transmission performance.
[0007] This application provides a data processing apparatus, including: The first receiving module is used to receive data upload messages from the terminal device and store the encryption performance data carried in the data upload messages; the encryption performance data is obtained by encrypting performance index data describing the quality of transmission performance during data reception. The first sending module is configured to forward the data authorization request to the terminal device in response to the data authorization request from the service device; wherein the data authorization request is used to request the terminal device to authorize the use of the encrypted performance data; The first receiving module is further configured to receive the data authorization certificate returned by the terminal device in response to the data authorization request; The first sending module is further configured to send the data authorization certificate back to the service device; in response to a data acquisition request generated by the service device based on the data authorization certificate, send the encrypted performance data to the service device, so that the service device can optimize the transmission performance based on the performance index data obtained by decrypting the encrypted performance data.
[0008] In some embodiments of this application, the first data processing device further includes: a resource processing module, configured to trigger a smart contract and, based on the smart contract, determine a second number of virtual resources for the terminal device from a first number of virtual resources uploaded by the service device; wherein the first number is greater than or equal to the second number; The first sending module is also used to send the second number of virtual resources to the terminal device.
[0009] In some embodiments of this application, the encryption performance data is stored in a distributed ledger; the first sending module is further configured to, in response to a data acquisition request generated by the service device based on the data authorization certificate, parse location information from the data acquisition request; wherein, the location information is used to indicate the location of the encryption performance data in the distributed ledger, and the location information is obtained by the service device from the data authorization certificate; based on the location information, the encryption performance data is read from the distributed ledger and sent to the service device.
[0010] In some embodiments of this application, the first device for data processing further includes: a consensus processing module, configured to perform consensus processing on the data acquisition request through multiple system nodes, and write the data acquisition request to the distributed ledger after the consensus processing is completed.
[0011] In some embodiments of this application, the consensus processing module is further configured to perform consensus processing on the data authorization certificate through multiple system nodes, and write the data authorization certificate to the distributed ledger after the consensus processing is completed; The first sending module is further configured to, in response to a certificate query request sent by the service device, read the data authorization certificate from the distributed ledger and return the data authorization certificate to the service device.
[0012] This application provides a data processing apparatus, including: The second sending module is used to send a data authorization request to the management device; wherein the data authorization request is used to request the terminal device to authorize the use of encrypted performance data; The second receiving module is used to receive the data authorization certificate returned by the management device in response to the data authorization request; the data authorization certificate is generated by the terminal device in response to the data authorization request and sent to the management device; The request generation module is used to generate a data acquisition request based on the data authorization certificate; The second sending module is further configured to send the data acquisition request to the management device; The second receiving module is further configured to receive encryption performance data returned by the management device in response to the data acquisition request; The performance optimization module is used to decrypt the encrypted performance data using the terminal key obtained from the data authorization certificate, to obtain performance index data, and to optimize the transmission performance based on the performance index data.
[0013] In some embodiments of this application, the second sending module is further configured to send an address query request to the management device; The second receiving module is further configured to receive the address information of the terminal device returned by the management device in response to the address query request; The request generation module is further configured to obtain first time information and query time range; wherein, the first time information is the time information when the data authorization request is started; generate signature information based on the address information, the first time information and the query time range, and generate the data authorization request using the address information, the first time information, the query time range and the signature information.
[0014] In some embodiments of this application, the performance optimization module is further configured to determine the group of compatible devices to which the terminal device belongs; and optimize the transmission performance of the group of compatible devices based on the performance index data.
[0015] This application provides a data processing apparatus, including: The third sending module is used to encrypt the collected performance index data to obtain encrypted performance data, and to send the encrypted performance data to the management device in the data upload message; the performance index data describes the quality of transmission performance when the data is received. The third receiving module is used to receive the data authorization request forwarded by the management device; wherein the data authorization request is used to request authorization for the use of the encrypted performance data, and the data authorization request is generated by the service device; A certificate generation module is used to generate a data authorization certificate in response to the data authorization request; The third sending module is further configured to return the data authorization certificate to the management device, so that the management device will send the data authorization certificate back to the service device, and the service device will generate a data acquisition request based on the data authorization certificate, obtain the encryption performance data from the management device, decrypt the encryption performance data, and use the decrypted performance index data to optimize the transmission performance.
[0016] In some embodiments of this application, the third sending module is further configured to obtain an encryption private key and second time information; wherein, the second time information is the time information when the performance index data encryption operation begins; perform a hash operation on the encryption private key and the second time information to obtain a terminal key; and use the terminal key to encrypt the performance index data to obtain the encrypted performance data.
[0017] In some embodiments of this application, the proof generation module is further configured to, in response to the data authorization request, obtain the location information of the encrypted performance data in the distributed ledger and the terminal key; encrypt the terminal key using the encryption public key of the service device to obtain the encrypted terminal key; and generate the data authorization proof based on the location information and the encrypted terminal key.
[0018] This application provides a management device, including: The first memory is used to store executable instructions; The first processor is configured to execute executable instructions stored in the first memory to implement the data processing method for the management device side provided in the embodiments of this application.
[0019] This application provides a service device, including: The second memory is used to store executable instructions; The second processor, when executing executable instructions stored in the second memory, implements the data processing method on the service device side provided in the embodiments of this application.
[0020] This application provides a terminal device, including: The third memory is used to store executable instructions; The third processor, when executing executable instructions stored in the third memory, implements the data processing method on the terminal device side provided in the embodiments of this application.
[0021] This application provides a computer-readable storage medium storing computer-executable instructions, which are used to implement the data processing method on the management device side provided in this application when executed by a first processor, or to implement the data processing method on the service device side provided in this application when executed by a second processor, or to implement the data processing method on the terminal device side provided in this application when executed by a third processor.
[0022] This application provides a computer program product, including a computer program or computer-executable instructions. When the computer program or computer-executable instructions are executed by a first processor, they implement the data processing method on the management device side provided in this application. When they are executed by a second processor, they implement the data processing method on the service device side provided in this application. When they are executed by a third processor, they implement the data processing method on the terminal device side provided in this application.
[0023] The embodiments of this application have the following beneficial effects: The management device stores the encrypted performance data uploaded by the terminal device, and when the service device forwards a data authorization request to the terminal device through the management device and obtains authorization from the terminal device to decide whether to use the encrypted performance data, i.e., obtains a data authorization certificate, the management device returns the encrypted performance data in response to the data acquisition request generated by the service device based on the data authorization certificate. This allows the service device to decrypt the encrypted performance data to obtain performance index data with granularity for individual users. In this way, the service device can not only obtain fine-grained performance index data when optimizing transmission performance and improve the optimization effect of transmission performance based on fine-grained data, but also ensure that the fine-grained performance index data is used only with the user's permission, protecting the user's data privacy and improving the level of data security. Attached Figure Description
[0024] Figure 1 This is a schematic diagram of the architecture of the data processing system provided in the embodiments of this application; Figure 2 This is a schematic diagram of the structure of the first server provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of the second server provided in an embodiment of this application; Figure 4 This is a schematic diagram of the structure of the smart terminal provided in the embodiments of this application; Figure 5 This is a flowchart illustrating a data processing method provided in an embodiment of this application; Figure 6 This is an optional schematic diagram of the block structure provided in an embodiment of this application; Figure 7 This is another schematic flowchart of the data processing method provided in the embodiments of this application; Figure 8 This is yet another flowchart illustrating the data processing method provided in the embodiments of this application; Figure 9 This is a diagram illustrating the transmission process of QoE data provided in an embodiment of this application; Figure 10 This is a schematic diagram of the data value protection system provided in the embodiments of this application; Figure 11 This is a schematic diagram illustrating the process of issuing incentives to the terminal according to an embodiment of this application; Figure 12 This is a flowchart illustrating the process of optimizing transmission performance using QoE data, as provided in an embodiment of this application. Detailed Implementation
[0025] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0026] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0027] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0028] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit the scope of this application.
[0029] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.
[0030] 1) Transmission performance refers to the performance of the service device when transmitting data to the terminal device. In this embodiment, the service device needs to optimize its transmission performance based on performance index data.
[0031] 2) Performance metrics data, which are collected by terminal devices to reflect the data transmission performance, such as latency, stuttering frequency, etc.
[0032] 3) In response, used to indicate the conditions or states on which the operation performed depends. When the conditions or states on which it depends are met, one or more operations may be performed in real time or with a set delay. Unless otherwise specified, there is no restriction on the order in which the multiple operations are performed.
[0033] 4) Content Delivery Network (CDN): The basic idea is to avoid bottlenecks and links on the Internet that may affect the speed and stability of data transmission, so as to make content transmission faster and more stable.
[0034] 5) Round-Trip Time (RTT) refers to the time delay from the start of data transmission at the sending end to the time when the sending end receives an acknowledgment from the receiving end (the receiving end sends the acknowledgment immediately after receiving the data).
[0035] 6) Consensus mechanisms verify and confirm transactions quickly through voting by node devices. If several unrelated nodes can reach a consensus on a transaction, then the entire network can be considered to have reached a consensus on that transaction. Consensus mechanisms can be categorized as follows: Proof of Work, Proof of Stake (PoS), and Byzantine Fault Tolerance (PBFT).
[0036] 7) Smart contracts are computerized protocols that can execute the terms of a contract. They are implemented through code deployed on a distributed ledger that executes when certain conditions are met. Based on actual business needs, the code is used to complete automated transactions, such as distributing virtual resources to terminal devices in this embodiment. Of course, smart contracts are not limited to executing contracts for transactions; they can also execute contracts for processing received information.
[0037] 8) A distributed ledger provides functions such as data storage, querying, and modification. It sends records of data operations to other nodes in the blockchain system. After verification by other nodes, the records are stored in a temporary block as a response to the validity of the data. It can also send confirmation to the node that initiated the operation. In this embodiment, the data may be encrypted performance metrics data collected by the terminal device, or it may be a data authorization request, data authorization proof, and address information of the terminal device participating in the data upload, etc.
[0038] The data generated by users operating terminal devices includes operational behavior data that reflects the user's behavioral habits and experience, as well as performance index data that reflects network transmission quality and conditions. Among these, the performance index data can be used by service devices to optimize the transmission performance of audio and video traffic.
[0039] In related technologies, the implementation methods of transmission performance optimization based on performance index data can be divided into two categories: The first category is that the terminal device feeds back performance index data (such as streaming success rate, end-to-end latency, stuttering, etc.) to the service device in real time. The service device adjusts the audio and video traffic sending strategy and congestion control parameters according to the received performance index data, thereby optimizing the transmission performance. The second category is that third-party applications (such as live streaming applications) periodically provide the service device with the performance index data of the terminal device. Based on the performance index data of the third-party application, the service device adjusts the transmission protocol or congestion control algorithm deployed on the network through expert experience or machine learning methods to optimize the transmission performance.
[0040] Therefore, in related technologies, the key to optimizing transmission performance for service devices lies in obtaining performance indicator data. However, although the performance indicator data fed back to the service device by the terminal device is fine-grained, achieving real-time feedback requires modifying the network protocol stack code on both the terminal and service devices, making development difficult. Furthermore, a significant portion of performance indicator data is generated when users access third-party applications, making it unlikely that the terminal device will directly feed this data back to the service device, thus preventing the service device from obtaining fine-grained indicator data. The performance indicator data periodically provided to the service device by third-party applications can only be coarse-grained, such as providing average performance indicators for users in a province or city within a certain time period, but not fine-grained data like performance indicator data for a specific user at a specific point in time. Thus, the service device also cannot obtain fine-grained indicator data. Moreover, the provision of performance indicator data by third-party applications may pose a risk of leaking users' personal data, thereby affecting data security.
[0041] In summary, in related technologies, service equipment suffers from a lack of fine-grained data when optimizing transmission performance, resulting in poor performance optimization and low data security.
[0042] This application provides a data processing method, apparatus, device, computer-readable storage medium, and computer program product, which can improve the effect of transmission performance optimization and enhance data security. The exemplary applications of the management device, service device, and terminal device provided in this application are described below. The management device and service device provided in this application can be implemented as a server, and the terminal device can be implemented as various types of terminals such as laptops, desktop computers, set-top boxes, and mobile devices (e.g., mobile phones, portable music players, personal digital assistants, dedicated messaging devices, portable gaming devices). The exemplary applications when the management device and service device are implemented as servers and the terminal device is implemented as a smart terminal will be described below.
[0043] See Figure 1 , Figure 1 This is a schematic diagram of the architecture of the data processing system provided in the embodiments of this application. In order to support a data processing application, in the data processing system 100, the smart terminal 400 (terminal device) is connected to the first server 200 (management device) and the second server 500 (service device) through the network 300. The network 300 can be a wide area network or a local area network, or a combination of both.
[0044] The smart terminal 400 is used to encrypt the collected performance index data to obtain encrypted performance data, and carries the encrypted performance data in a data upload message to send it to the first server 200. The performance index data describes the quality of transmission performance when the data is received. The smart terminal 400 receives a data authorization request forwarded by the first server 200, generates a data authorization certificate in response to the data authorization request, and returns the data authorization certificate to the first server 200. The data authorization request is used to request the smart terminal 400 to authorize the use of the encrypted performance data.
[0045] The first server 200 is used to receive data upload messages from the smart terminal 400 and store the encryption performance data carried in the data upload messages; in response to the data authorization request from the second server 500, it forwards the data authorization request to the smart terminal 400; it receives the data authorization certificate returned by the smart terminal 400 in response to the data authorization request and sends the data authorization certificate back to the second server 500; in response to the data acquisition request generated by the second server 500 based on the data authorization certificate, it sends the encryption performance data to the second server 500.
[0046] The second server 500 is used to send a data authorization request to the first server 200; receive a data authorization certificate returned by the first server 200 in response to the data authorization request; generate a data acquisition request based on the data authorization certificate and send the data acquisition request to the first server 200; receive encryption performance data returned by the first server 200 in response to the data acquisition request; decrypt the encryption performance data using the terminal key obtained by decrypting from the data authorization certificate to obtain performance index data, and optimize the transmission performance based on the performance index data.
[0047] The embodiments of this application can be implemented with the help of cloud technology, which refers to a hosting technology that unifies a series of resources such as hardware, software, and network within a wide area network or local area network to realize data computing, storage, processing, and sharing.
[0048] Cloud technology is a general term encompassing network technology, information technology, integration technology, management platform technology, and application technology based on the cloud computing business model. It can form resource pools, allowing for on-demand use with flexibility and convenience. Cloud computing technology will become a crucial support. The backend services of cloud computing systems require substantial computing and storage resources.
[0049] As an example, the first server 200 and the second server 500 can be independent physical servers, or a server cluster or distributed system composed of multiple physical servers. They can also be cloud servers providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The smart terminal 400 can be a smartphone, tablet computer, laptop computer, desktop computer, smart speaker, smartwatch, smart home appliance, in-vehicle terminal, etc., but is not limited to these. The smart terminal and the first and second servers can be directly or indirectly connected via wired or wireless communication, which is not limited in this embodiment.
[0050] See Figure 2 , Figure 2 This is a schematic diagram of the structure of the first server (an implementation of a management device) provided in an embodiment of this application. Figure 2 The first server 200 shown includes at least one first processor 210, a first memory 250, at least one first network interface 220, and a first user interface 230. The various components of the first server 200 are coupled together via a first bus system 240. It is understood that the first bus system 240 is used to implement communication between these components. In addition to a data bus, the first bus system 240 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in… Figure 2The general designated all buses as the first bus system 240.
[0051] The first processor 210 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., wherein the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0052] The first user interface 230 includes one or more first output devices 231 that enable the presentation of media content, including one or more speakers and / or one or more visual displays. The first user interface 230 also includes one or more first input devices 232, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.
[0053] The first memory 250 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The first memory 250 may optionally include one or more storage devices physically located remote from the first processor 210.
[0054] The first memory 250 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The first memory 250 described in this application embodiment is intended to include any suitable type of memory.
[0055] In some embodiments, the first memory 250 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.
[0056] The first operating system 251 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, and driver layer, for implementing various basic business functions and handling hardware-based tasks. The first network communication module 252 is used to reach other computing devices via one or more (wired or wireless) first network interfaces 220, exemplary first network interfaces 220 including: Bluetooth, WiFi, and Universal Serial Bus (USB), etc. The first presentation module 253 is configured to enable the presentation of information (e.g., a user interface for operating peripheral devices and displaying content and information) via one or more first output devices 231 (e.g., a display screen, a speaker, etc.) associated with the first user interface 230. The first input processing module 254 is configured to detect and translate one or more user inputs or interactions from one or more first input devices 232.
[0057] In some embodiments, the first data processing apparatus provided in this application can be implemented in software. Figure 2 A first apparatus 255 for data processing stored in a first memory 250 is shown. This apparatus may be software in the form of programs and plug-ins, and includes the following software modules: a first receiving module 2551, a first sending module 2552, a resource processing module 2553, and a consensus processing module 2554. These modules are logically sequential and can therefore be arbitrarily combined or further divided according to their implemented functions. The functions of each module will be described below.
[0058] See Figure 3 , Figure 3 This is a schematic diagram of the structure of the second server (an embodiment of a service device) provided in an embodiment of this application. Figure 3 The second server 500 shown includes at least one second processor 510, a second memory 550, at least one second network interface 520, and a second user interface 530. The various components in the second server 500 are coupled together via a second bus system 540. It is understood that the second bus system 540 is used to implement communication between these components. In addition to a data bus, the second bus system 540 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in… Figure 3 The general designated all buses as the second bus system 540.
[0059] The second processor 510 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., wherein the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0060] The implementation of the second user interface 530 is similar to that of the first user interface 230, and will not be described again.
[0061] The second memory 550 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The second memory 550 may optionally include one or more storage devices physically located remote from the second processor 510.
[0062] The second memory 550 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The second memory 550 described in this application embodiment is intended to include any suitable type of memory.
[0063] In some embodiments, the second memory 550 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.
[0064] The implementation of the second operating system 551 is similar to that of the first operating system 251, and will not be described again. The implementation of the second network communication module 552 is similar to that of the first network communication module 252, and will not be described again. The implementation of the second presentation module 553 is similar to that of the first presentation module 253, and will not be described again. The implementation of the second input processing module 554 is similar to that of the first input processing module 254, and will not be described again.
[0065] In some embodiments, the second data processing apparatus provided in this application can be implemented in software. Figure 3 A second apparatus 555 for processing data stored in a second memory 550 is shown. This apparatus can be software in the form of programs and plug-ins, and includes the following software modules: a second sending module 5551, a second receiving module 5552, a request generation module 5553, and a performance optimization module 5554. These modules are logically connected and can therefore be arbitrarily combined or further divided according to the functions they implement. The functions of each module will be described below.
[0066] See Figure 4 , Figure 4 This is a schematic diagram of the structure of a smart terminal (an embodiment of a terminal device) provided in an embodiment of this application. Figure 4The illustrated smart terminal 400 includes at least one third processor 410, a third memory 450, at least one third network interface 420, and a third user interface 430. The various components in the smart terminal 400 are coupled together via a third bus system 440. It is understood that the third bus system 440 is used to implement communication between these components. In addition to a data bus, the third bus system 440 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in… Figure 4 The general designated all buses as the third bus system 440.
[0067] The third processor 410 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0068] The third user interface 430 includes one or more third output devices 431 that enable the presentation of media content, including one or more speakers and / or one or more visual displays. The third user interface 430 also includes one or more third input devices 432, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.
[0069] The third memory 450 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The third memory 450 may optionally include one or more storage devices physically located remote from the third processor 410.
[0070] The third memory 450 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The third memory 450 described in this application embodiment is intended to include any suitable type of memory.
[0071] In some embodiments, the third memory 450 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.
[0072] The third operating system 451 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, and driver layer, for implementing various basic business functions and handling hardware-based tasks. The third network communication module 452 is used to reach other computing devices via one or more (wired or wireless) third network interfaces 420, exemplary third network interfaces 420 including: Bluetooth, WiFi, and Universal Serial Bus (USB), etc. The third presentation module 453 is configured to enable the presentation of information (e.g., a user interface for operating peripheral devices and displaying content and information) via one or more third output devices 431 (e.g., a display screen, a speaker, etc.) associated with the third user interface 430. The third input processing module 454 is used to detect and translate one or more user inputs or interactions from one or more third input devices 432.
[0073] In some embodiments, the third data processing apparatus provided in this application can be implemented in software. Figure 4 A third apparatus 455 for data processing stored in a third memory 450 is shown. This apparatus can be software in the form of programs and plug-ins, and includes the following software modules: a third transmitting module 4551, a third receiving module 4552, and a proof generation module 4553. These modules are logically linked and can therefore be arbitrarily combined or further separated according to their implemented functions. The functions of each module will be described below.
[0074] In other embodiments, the first, second, and third data processing devices provided in this application can be implemented in hardware. For example, the first, second, and third devices provided in this application can be processors in the form of hardware decoding processors, which are programmed to execute the data processing methods provided in this application. For example, the processor in the form of a hardware decoding processor can be one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.
[0075] In some embodiments, the smart terminal (an implementation of a terminal device), the first server (an implementation of a management device), or the second server (an implementation of a service device) can implement the data processing method provided in the embodiments of this application by running a computer program. For example, the computer program can be a native program or software module in an operating system; it can be a native application (APP), i.e., a program that needs to be installed in the operating system to run, such as a network optimization APP; it can also be a mini-program, i.e., a program that only needs to be downloaded to a browser environment to run; or it can be a mini-program that can be embedded in any APP. In short, the above-mentioned computer program can be any form of application, module, or plugin.
[0076] The embodiments of this application can be applied to data processing scenarios such as cloud technology, artificial intelligence, smart transportation, and vehicle-mounted systems. Below, we will describe the data processing method provided by the embodiments of this application by combining exemplary applications and implementations of the terminal devices, management devices, and service devices provided in the embodiments of this application.
[0077] See Figure 5 , Figure 5 This is a flowchart illustrating a data processing method provided in an embodiment of this application, which will be combined with... Figure 5 The steps shown are explained.
[0078] S101. The terminal device encrypts the collected performance index data to obtain encrypted performance data, and sends the encrypted performance data to the management device in the data upload message.
[0079] This application embodiment is implemented in a scenario where the service device processes the performance index data obtained by the terminal device during data transmission to optimize the transmission performance through the performance index data. For example, it optimizes the transmission performance of audio and video data or the transmission performance of live stream data, so that subsequent users can obtain a better audio and video and live stream viewing experience through the terminal device.
[0080] First, the terminal device collects performance metrics data while receiving data from the service device. Then, the terminal device encrypts this performance metrics data using its private key or a real-time generated key, resulting in encrypted performance data. Next, the terminal device constructs a data upload message, including the encrypted performance data, and sends it to the management device. The management device receives the data upload message from the terminal device and stores the encrypted performance data included within it. It's important to note that the performance metrics data collected by the terminal device is granular at the individual user level; that is, the performance metrics data is fine-grained and can be used to optimize transmission performance.
[0081] As is understandable, performance metrics describe the quality of data transmission during reception. Therefore, encrypted performance data is obtained by encrypting the performance metrics describing the quality of data transmission during reception. Performance metrics data are collected by the terminal device when it sends a data retrieval request to the service device and receives data (such as live stream packets, audio / video traffic packets, where packets are a carrier of data transmission) sent by the service device in response to the request. After receiving the data sent by the service device, the terminal device can also return a confirmation message to the service device to notify it that the data has been received successfully.
[0082] It is understood that the performance metrics data may include: stutter duration, end-to-end latency (i.e., the latency from the terminal device generating the data to the terminal device receiving the data, for example, the latency from the broadcaster's terminal device to the viewer's terminal device during live streaming), first frame latency, streaming success rate, etc. This application embodiment does not make specific limitations here.
[0083] It is understood that the data upload message can be generated based on the address of the management device using any feasible method, and this application embodiment does not limit this. The terminal device may only carry the encryption performance data in the data upload message, or it may send its own address information (the address during data transmission, such as IP address, MAC address, etc.), the timestamp corresponding to the encryption performance data (or the timestamp corresponding to the performance index data), and the terminal device's signature information in the data upload message to the management device.
[0084] The terminal device's signature information is obtained by encrypting address information, timestamps, and encryption performance data using its private key. This terminal signature data can be used to prevent malicious tampering of encryption performance data, address information, and timestamps during transmission to the management device, and can also be used to identify the terminal device's identifier.
[0085] In some embodiments, after receiving a data upload message and extracting the encryption performance data, the management device can store the encryption performance data by writing it into its own database.
[0086] In other embodiments, after the management device extracts the encryption performance data from the data upload message, it performs consensus processing on the encryption performance data (at this time, the management device may include multiple system nodes, which can maintain a decentralized distributed ledger based on blockchain; each system node can be a server, terminal, or other type of device). After the consensus processing is completed, the encryption performance data is written into the distributed ledger. More specifically, the distributed ledger is represented by each block in the blockchain, that is, the distributed ledger is based on the blockchain. The blockchain consists of a series of blocks sequentially generated in chronological order. Once a new block is added to the blockchain, it will not be removed. The blocks record the encryption performance data submitted by the terminal device.
[0087] For example, Figure 6 This is an optional schematic diagram of the block structure provided in this application embodiment. Each block includes not only the encryption performance data of this block and the hash value of the encryption performance data (i.e., the hash value of this block), but also the hash value of the previous block. Blocks are connected through hash values to form a new block. Additionally, blocks may also contain information such as the timestamp of block generation. A blockchain is essentially a decentralized database, a chain of data blocks linked together using cryptographic methods. Each data block contains relevant information used to verify the validity of the information (anti-counterfeiting) and to generate the next block.
[0088] Of course, in some embodiments of this application, the management device may also store other data carried in the data upload request, namely address information, timestamps corresponding to encryption performance data (or timestamps corresponding to performance index data), and signature information of the terminal device, into a secure database or distributed ledger. This application embodiment does not make specific limitations here.
[0089] S102, The service device sends a data authorization request to the management device.
[0090] It should be noted that the data authorization request is used to request authorization from the terminal device for the use of encrypted performance data. In other words, when the service device needs to begin optimizing transmission performance, it constructs a data authorization request, hoping to obtain authorization from the terminal device for encrypted performance data. The management device receives the data authorization request sent by the service device.
[0091] In some embodiments, the service device may generate a data authorization request based on the time interval of the data to be acquired and the address information of the terminal device that uploaded the encrypted performance data (this address information may be provided to the service device by the management device). In other embodiments, the service device may generate a data request based on the address information of all terminal devices with which it has data interaction (this address information is the address information that has pulled data from the service device) and the time interval of the data to be acquired. This embodiment of the application does not limit this.
[0092] S103. The management device responds to the data authorization request from the service device and forwards the data authorization request to the terminal device.
[0093] After receiving a data authorization request from the service device, the management device forwards the data authorization request to the terminal device via the network. The terminal device receives the data authorization request forwarded by the management device, and the data authorization request is generated by the service device.
[0094] In other words, in this embodiment of the application, when the service device needs authorization from the terminal device, it does not communicate directly with the terminal device, but interacts with the terminal device through the management device to ensure that the management device can record all interactions.
[0095] S104. The management device receives the data authorization certificate returned by the terminal device in response to the data authorization request, and sends the data authorization certificate back to the service device.
[0096] In response to a data authorization request, the terminal device generates a data authorization certificate and returns it to the management device. At this point, the terminal device can display the request information in a graphical interface, allowing the user to decide whether to authorize the service device. When the terminal device responds to a user's trigger action and detects that the user has decided to authorize data usage on the service device, it responds to the data authorization request, generates a data authorization certificate, and sends the data authorization request to the management device via the network. Upon receiving the data authorization certificate returned by the terminal device, the management device sends it back to the service device. The service device then receives the data authorization certificate returned by the management device in response to the data authorization request.
[0097] It should be noted that the data authorization certificate is a permission certificate generated by the terminal device for the service device to obtain and use encrypted performance data. The service device can only request encrypted performance data from the management device with the data authorization certificate; otherwise, it cannot. In this way, the right to use the encrypted performance data on the terminal device is entirely determined by the user, ensuring that the user's private data on the terminal device is not leaked and protecting the user's data security.
[0098] In some embodiments, the terminal device can directly generate a data authorization certificate using the key used to encrypt the performance index data, i.e., the key corresponding to the encrypted performance data, and the storage location of the encrypted performance data. In other embodiments, the terminal device can encrypt the key corresponding to the encrypted performance data using the public key of the service device, and then generate a data authorization certificate using the encrypted key, the storage location of the encrypted performance data, and the validity period of the key. This application does not limit the scope of the embodiments.
[0099] S105. The service device generates a data acquisition request based on the data authorization certificate and sends the data acquisition request to the management device.
[0100] After receiving the data authorization certificate, the service device constructs a data retrieval request to request the encrypted performance data from the management device and sends the request to the management device. The management device receives the data retrieval request from the service device to confirm that the user has authorized the service device for the stored encrypted performance data.
[0101] In some embodiments, the service device can directly encapsulate the data authorization certificate to obtain a data acquisition request. In other embodiments, the service device can parse the information field used to prove that it has obtained authorization from the data authorization certificate, and encapsulate it based on the information field to obtain a data acquisition request. This embodiment of the application does not limit the scope of the request.
[0102] S106. In response to the data acquisition request generated by the service device based on the data authorization certificate, the management device sends the encrypted performance data to the service device.
[0103] In response to a received data retrieval request, the management device extracts the stored encryption performance data and returns it to the service device. The service device receives the encryption performance data returned by the management device in response to the data retrieval request.
[0104] When the management device stores encryption performance data in a database, it reads the encryption performance data from the database and sends it to the service device. When the management device stores encryption performance data in a distributed ledger, it reads the encryption performance data from the distributed ledger and sends it to the service device.
[0105] S107. The service device uses the terminal key obtained from the data authorization certificate to decrypt the encrypted performance data, obtain performance index data, and optimize the transmission performance based on the performance index data.
[0106] In addition to generating a data retrieval request based on the data authorization certificate, the service device also parses the key corresponding to the encrypted performance data from the data authorization certificate. This key is called the terminal key. The service device uses the terminal key to decrypt the encrypted performance data. After decryption, it uses the obtained performance index data to adjust the transmission protocol or the parameters of the congestion control algorithm to optimize transmission performance.
[0107] Understandably, compared to related technologies, service devices lack fine-grained data when optimizing transmission performance, resulting in poor performance optimization and lower data security. In this embodiment, the management device stores the encrypted performance data uploaded by the terminal device. When the service device forwards a data authorization request to the terminal device through the management device and obtains authorization from the terminal device to use the encrypted performance data (i.e., obtaining a data authorization certificate), it responds to the data acquisition request generated by the service device based on the data authorization certificate and returns the encrypted performance data. This allows the service device to decrypt the encrypted performance data to obtain performance index data at the individual user level. This not only enables the service device to obtain fine-grained performance index data during transmission performance optimization, improving the optimization effect based on fine-grained data, but also ensures that the fine-grained performance index data is used only with the user's permission, protecting the user's data privacy and improving data security.
[0108] In some embodiments of this application, after the management device receives the data authorization certificate returned by the terminal device in response to the data authorization request, the method may further include the following processing: triggering a smart contract, and determining a second number of virtual resources for the terminal device from a first number of virtual resources uploaded by the service device according to the smart contract; and distributing the second number of virtual resources to the terminal device. Wherein, the first number is greater than or equal to the second number.
[0109] In other words, after receiving the data authorization certificate from the terminal device, confirming that the terminal device has granted the service device permission to access encrypted performance data, the management device triggers a smart contract pre-set on the management device. Based on the protocol recorded in the smart contract, it extracts a second quantity of virtual resources from the virtual resources already uploaded by the service device and distributes this second quantity of virtual resources to the terminal device as an incentive. This increases the user's willingness to authorize encrypted performance data in the future, thereby helping the service device obtain more granular data.
[0110] The first quantity of virtual resources can be submitted to the management device before the service device generates a data authorization request, or it can be submitted to the management device after the service device sends the data authorization request to the management device. The first quantity can be determined by the service device itself or specified by the management device; this embodiment of the application does not impose any limitations on this.
[0111] It is understood that virtual resources can be virtual points, such as online coupons, discount coupons, etc., or virtual redemption quotas, such as those used to redeem decorations, equipment, etc. in virtual scenes. This application does not limit the scope of the embodiments.
[0112] The second quantity can be determined by the management device based on the number of terminal devices and the first quantity. For example, the second quantity is the ratio of the first quantity to the number of terminal devices that have uploaded encrypted performance data. The second quantity can also be determined by the management device based on the storage space occupied by the encrypted performance data of the terminal devices. For example, the larger the storage space occupied by the encrypted performance data, the richer the encrypted performance data, and thus the larger the second quantity.
[0113] It is understood that in this embodiment of the application, after the management device clearly agrees to the service device's use of encrypted performance data, it will issue a certain number of virtual resources to the terminal device to incentivize the terminal device, enabling the user to obtain certain value through its data and encouraging the user to upload data.
[0114] based on Figure 5 See Figure 7 , Figure 7 This is another flowchart illustrating the data processing method provided in this application. In some embodiments of this application, the encryption performance data is stored in a distributed ledger. In this case, the management device, in response to a data acquisition request generated by the service device based on a data authorization certificate, sends the encryption performance data to the service device. The specific implementation of S106 may include: S1061-S1062, as follows: S1061. The management device responds to the data acquisition request generated by the service device based on the data authorization certificate and parses the location information from the data acquisition request.
[0115] The management device parses the data retrieval request and extracts location information from the parsing results. This location information indicates the position of the cryptographic performance data within the distributed ledger; for example, the page number, line number, etc., where the cryptographic performance data is stored. The location information can be returned to the terminal device by the management device upon completion of storing the cryptographic performance data.
[0116] Understandably, the location information is obtained by the service device from the data authorization certificate and is provided to the management device in the data acquisition request.
[0117] S1062. The management device reads the encryption performance data from the distributed ledger based on the location information and sends the encryption performance data to the service device.
[0118] Based on the parsed location information, the management device locates the encryption performance data from the distributed ledger, reads the encryption performance data, and finally sends the read encryption performance data to the service device via the network. This completes the process of reading the encryption performance data.
[0119] In some embodiments of this application, before the management device parses the location information from the data acquisition request generated by the service device based on the data authorization certificate, it may also perform the following processing: perform consensus processing on the data acquisition request through multiple system nodes, and write the data acquisition request to the distributed ledger after the consensus processing is completed.
[0120] The multiple system nodes here are contained within the management device (i.e., the management device can be a cluster of devices). These system nodes can use existing consensus mechanisms (e.g., PoW, PoS, PBFT, etc.) to reach a consensus on data retrieval requests. After the consensus is reached, the data retrieval requests are written into the distributed ledger to record the data retrieval process from the service device.
[0121] In some embodiments of this application, the process of the management device sending the data authorization certificate back to the service device may include the following steps: performing consensus processing on the data authorization certificate through multiple system nodes, and writing the data authorization certificate to the distributed ledger after the consensus processing is completed; and reading the data authorization certificate from the distributed ledger in response to the certificate query request sent by the service device, and returning the data authorization certificate to the service device.
[0122] In other words, in this embodiment, after receiving the data authorization certificate from the terminal device, the management device does not directly send the data authorization certificate to the service device. Instead, it first writes the data authorization certificate into the distributed ledger. Then, when the service device actively queries the management device for the data authorization certificate through a certificate query request, the management device reads the data authorization certificate from the distributed ledger and returns it to the service device. In this way, the management device can record the generation and usage process of the data authorization certificate.
[0123] In some embodiments of this application, the management device may also record the address information of the terminal device in the distributed ledger so that the service device can obtain the address information from the distributed ledger.
[0124] Understandably, in addition to recording encryption performance data in the distributed ledger, management devices can also store data such as data acquisition requests, data authorization certificates, and address information in the distributed ledger. This ensures that all interactions between service devices and terminal devices are recorded, preventing the misuse of data such as data authorization certificates and further improving data security.
[0125] based on Figure 7 See Figure 8 , Figure 8 This is another flowchart illustrating the data processing method provided in the embodiments of this application. In some embodiments of this application, before the service device sends a data authorization request to the management device, i.e., before S101, the method may further include: S108. The service device sends an address query request to the management device.
[0126] S109. The service device receives the address information of the terminal device returned by the management device in response to the address query request.
[0127] In this embodiment, the service device does not specify which terminal devices have uploaded encrypted performance data to the management device. In this case, the service device generates an address query request and sends the address query request to the management device via the network. Responding to the address query request sent by the management device, the service device reads the address information of the terminal devices that uploaded encrypted performance data from the distributed ledger, such as IP address and MAC address, and sends the address information to the management device.
[0128] S110, Service equipment obtains first-time information and query time range.
[0129] The query time range refers to the time scale of the data to be queried. The query time range can be set according to actual needs, such as one month, two weeks, one hour, etc., and this embodiment does not limit this. The first time information is the time information at which the data authorization request is generated. It should be noted that after the first time information and the query time range are determined, the starting point for obtaining the encrypted performance data can be determined. For example, when the first time information is Timestamp_server and the query time range is Threshold_time, the service device needs to obtain the encrypted performance data of the address information from Timestamp_server-Threshold_time to Timestamp_server.
[0130] S111 The service device generates signature information based on address information, first time information, and query time range, and will use the address information, first time information, query time range, and signature information to generate a data authorization request.
[0131] The service device uses its private key to sign the data packet consisting of address information, first-time information, and query time range, obtaining the service device's signature information. This signature information, along with the address information, first-time information, and query time range, is then used to generate a data authorization request. The signature information ensures that the content of the data authorization request cannot be tampered with. At this point, the service device has completed the generation of the data authorization request.
[0132] In some embodiments of this application, the service device optimizes the transmission performance based on performance index data. Specifically, the implementation process of S107 may include the following steps: for the terminal device, determine the group of compatible devices to which it belongs; and optimize the transmission performance of the group of compatible devices based on performance index data.
[0133] The service device can use one or more of the following attributes of a terminal device, such as its location, network operator, and model, as matching criteria to match other terminal devices with the same conditions for a given terminal device, integrating these matched terminal devices into a group of compatible devices. Then, the service device uses performance index data to optimize the transmission performance of all terminal devices in this group of compatible devices, thereby achieving performance performance optimization for all terminal devices with similar characteristics for a user, using performance index data at the individual user level.
[0134] For example, the service device, based on a terminal device of model C located at location A (e.g., a shopping mall or street) using operator B, will form an adapted device group with the terminal device of model C also located at location A, using operator B. Then, using the performance index data of this terminal device, the transmission performance of the adapted device group will be uniformly optimized. It can be understood that the transmission performance optimization in this way is more precise than the transmission performance optimization in related technologies (because most related technologies optimize transmission performance at the regional or area level).
[0135] It is understood that service equipment can optimize transmission performance by adjusting the parameter values of traffic transmission protocols or congestion control algorithms. Adjusting the parameter values of traffic transmission protocols or congestion control algorithms includes, but is not limited to: switching between single-path transmission and multi-path transmission, switching between different congestion control algorithms, and adjusting different parameters of the same congestion control algorithm. This application embodiment does not limit this.
[0136] In some embodiments of this application, the terminal device encrypts the collected performance index data to obtain encrypted performance data. The specific implementation process of S101 can be achieved through the following steps: obtaining the encryption private key and the second time information; performing a hash operation on the encryption private key and the second time information to obtain the terminal key; and using the terminal key to encrypt the performance index data to obtain the encrypted performance data.
[0137] It should be noted that the second time information refers to the time when the encryption operation of the performance index data begins. This terminal key needs to be provided to the service device in the data authorization certificate. The terminal key is obtained by hashing the second time information. This not only protects the security of the terminal device's encryption private key but also improves the encryption effect of the encrypted performance data, making it difficult to crack.
[0138] In some embodiments of this application, the terminal device generates a data authorization certificate in response to a data authorization request, which can be achieved through the following process: in response to the data authorization request, the location information of the encrypted performance data in the distributed ledger and the terminal key are obtained; the terminal key is encrypted using the encryption public key of the service device to obtain the encrypted terminal key; and a data authorization certificate is generated based on the location information and the encrypted terminal key.
[0139] It should be noted that the location information of the encrypted performance data in the distributed ledger is returned by the management device in response to the data upload request from the terminal device. The encryption public key of the service device can be provided to the terminal device by the service device or by the management device. The terminal device can directly package the location information and the encrypted terminal key into a data authorization certificate, or it can use the encryption private key to sign the location information and the encrypted terminal key, and then package the resulting signature information, location information, and encrypted terminal key into a data authorization certificate. This embodiment of the application does not limit this.
[0140] It is understandable that using the service device's public key to encrypt the terminal key ensures that it can only be obtained by the service device and not by the management device, thereby guaranteeing the security of encrypted data storage and further improving data security.
[0141] The following will describe an exemplary application of the embodiments of this application in a real-world application scenario.
[0142] This application embodiment is implemented in a scenario where the transmission process is optimized using the user's QoE data (performance index data). In this application embodiment, a decentralized data value protection system (running on a management device) including an incentive mechanism is constructed. The data value protection system is used to transmit the user's terminal (terminal device) QoE data to the cloud server (service device).
[0143] Figure 9 This is a diagram illustrating the transmission process of QoE data provided in this embodiment. Terminal 9-1 and cloud server 9-2 are connected via a network. After receiving an audio / video traffic packet 9-31 (audio / video data) from cloud server 9-2, terminal 9-1 returns a message confirmation packet 9-32 to cloud server 9-2. Users can then, according to their wishes, upload their own QoE data 9-4 to the data value protection system 9-5 in an encrypted manner. The data value protection system 9-5 is maintained by multiple system maintenance nodes (i.e., system maintenance node 1 to system maintenance node n, these nodes are called system nodes). The uploaded QoE data 9-4 is confirmed within a short period. After confirmation, the QoE data 9-4 is recorded in the data value protection system 9-5, for example, in a blockchain formed by blocks 1 to m. Cloud server 9-2 queries the data value protection system 9-5 to obtain the IP addresses of terminals 9-1 that uploaded their QoE data 9-4. The data value protection system 9-5 then sends data permission requests 9-6 (data authorization requests) to these IP addresses. Upon receiving the data permission requests 9-6, terminal 9-1 returns a data permission certificate 9-7 (data authorization proof) to the cloud server through the data value protection system 9-5. Cloud server 9-2 extracts the QoE data 9-4 from the decentralized data value protection system 9-5 using the data permission certificate 9-7. Simultaneously, the smart contract in the data value protection system 9-5 is triggered, causing it to issue corresponding data value incentives 9-8 (virtual resources) to terminal 9-1. Cloud server 9-2 adjusts the parameters of audio and video traffic transmission protocols or congestion control algorithms based on the QoE data 9-4 to optimize transmission.
[0144] More specifically, the data value protection system is built on a decentralized distributed ledger based on blockchain. Multiple system maintenance nodes essentially maintain the distributed ledger and record the received QoE data within it. The cloud server reads the distributed ledger, obtains the terminal's IP address, and sends a data permission request to that IP address. Upon receiving the cloud server's data request, the terminal uploads the data permission certificate to the data value protection system. After the system maintenance nodes confirm and record the data permission certificate in the distributed ledger, the cloud server obtains the QoE data. Simultaneously, the smart contract in the distributed ledger is triggered, and the data value protection system distributes corresponding incentives to the terminal.
[0145] The specific implementation details of the above scheme will be explained below.
[0146] In this embodiment of the application, the data value protection system is built on a decentralized distributed ledger based on blockchain. Figure 10 This is a schematic diagram of the data value protection system provided in this application embodiment. The data value protection system 10-1 is jointly maintained by multiple system maintenance nodes, namely system dimension nodes 1 to n. These system maintenance nodes can be cloud servers, terminals, or devices that voluntarily participate in system maintenance. The distributed ledger 10-11 is represented by each block in the blockchain (blocks 1 to m are shown). The distributed ledger records encrypted QoE data (encryption performance data), data permission requests, and data permission certificates.
[0147] The distributed ledger is maintained by multiple system maintenance nodes through an existing consensus mechanism. The data value protection system includes a smart contract mechanism. When a terminal authorizes the cloud server to access its QoE data, the smart contract will be triggered, and a certain amount of incentive will be sent to the terminal.
[0148] In this embodiment of the application, the terminal can upload its own IP address, timestamp (second time information), encrypted QoE data DATA, and signature to the data value protection system. After confirmation, these data will be permanently recorded in the distributed ledger.
[0149] QoE data includes, but is not limited to, information such as the frequency and duration of stuttering measured by the terminal, the success rate of streaming, the first frame latency, and the end-to-end latency. The terminal needs to encrypt DATA using a symmetric key, Key. The encrypted QoE data can then be represented as: DATA_enc = Enc(Key, DATA). Here, Key is obtained by hashing the terminal's private key Key_private (encryption private key) and the timestamp. Key (the terminal key) can be represented as Key = Hash(Key_private, timestamp).
[0150] All data uploaded by the terminal to the data value protection system, DATA_all, can be represented as: DATA_all = {IP, timestamp, DATA_enc, Sign}. Here, Sign is obtained by encrypting the IP, timestamp, and DATA_enc using the terminal's private key Key_private, i.e., Sign = Sign(Key_private, {IP, timestamp, DATA_enc}). Sign helps identify the terminal and prevents data tampering.
[0151] In this embodiment of the application, before querying the QoE data of the terminal, the cloud server needs to complete operations such as paying a deposit (a first amount of virtual resources) and querying the terminal's IP address, and then initiate a data permission request to obtain the terminal data. This request is recorded in the distributed ledger.
[0152] More specifically, the cloud server obtains a set of IP addresses (terminal device address information) of terminals that have uploaded QoE data from the distributed ledger of the data value protection system, where IP_set = {ip1, ip2, ..., ip_m}. The deposit paid by the cloud server to the data value protection system is stored in a smart contract for future incentives for the terminals.
[0153] The cloud server sends a data permission request (Req_data) to the data value protection system to obtain QoE data. This request includes information such as the IP address set (IP_set) of the terminal to be queried, the timestamp (Timestamp_server) (first-time information), the time threshold (Threshold_time) (query time range), and the cloud server signature (Sigh_server). That is, Req_data = {IP_set, Timestamp_server, Threshold_time, Sigh_server}. Here, Timestamp_server represents the timestamp that generated Req_data, Threshold_time represents the time range for the cloud server to query QoE data (i.e., querying QoE data for IP_set within the time range from Timestamp_server - Threshold_time to Timestamp_server), and Sigh_server represents the signature of the cloud server using its private key Key_s, Sigh_server = Sign(Key_s, {IP_set, Timestamp_server, Threshold_time}). It should be noted that the steps of the cloud server paying the security deposit and generating and sending the data permission request are not sequential.
[0154] In this embodiment, the terminal obtains a data permission request from the data value protection system via a message, and then sends a data permission certificate ACK_proof to the data value protection system, allowing the cloud server to obtain its own QoE data. Once the data permission certificate is confirmed, a smart contract in the distributed ledger is triggered, and the smart contract distributes the security deposit paid by the cloud server to the corresponding terminal.
[0155] Figure 11 This is a schematic diagram illustrating the process of issuing incentives to a terminal according to an embodiment of this application. First, after receiving the audio and video traffic packets sent by the cloud server 11-4 through the network and returning a message confirmation message to the cloud server 11-4, the terminal 11-1 uploads the encrypted QoE data 11-2 to the data value protection system 11-3. The cloud server 11-4 pays a deposit 11-5 and sends a data license request 11-6 to the data value protection system 11-3. When the data value protection system 11-3 receives the data license certificate 11-7 from the terminal 11-1, it returns the data license certificate 11-7 to the cloud server 11-4 so that the cloud server 11-4 can obtain the encrypted QoE data 11-2 and trigger the smart contract to issue a data value incentive 11-8 to the terminal 11-1.
[0156] Specifically, the data proof ACK_proof includes the location information of the QoE data in the distributed ledger (Loca_data), the decryption key (Key) of the data DATA_enc, and the signature (Sign). This decryption key is encrypted using the cloud server's public key Key_server_pub (encryption public key). That is, ACK_proof = {Loca_data, Enc(Key_server_pub, Key), Sign_ack}. Enc(Key_server_pub, Key) represents the result of encrypting the key Key using the public key Key_server_pub (the encrypted terminal key). Sign_ack is calculated from the terminal's private key Key_private, Loca_data, and Enc(Key_server_pub, Key), i.e., Sign_ack = Sign(Key_private, {Loca_data, Enc(Key_server_pub, Key)}.
[0157] Once the data license ACK_proof is confirmed by the data value protection system, the smart contract in the data value protection system will be triggered, thereby distributing the security deposit paid by the cloud server equally among all terminals in the IP_set as an incentive (a second number of virtual resources).
[0158] In this embodiment of the application, the cloud server obtains the data permission proof ACK_proof from the distributed ledger with the help of a message (proof query request), and decrypts Enc(Key_server_pub, Key) with its own private key Key_server_private to obtain the decryption key Key of DATA_enc, and then obtains the specific content of QoE data DATA, that is, DATA=Dec(Key, DATA_enc).
[0159] After obtaining QoE data, the cloud server optimizes transmission performance by adjusting the traffic transmission protocol or congestion control algorithm to improve the quality of the QoE data. The parameter values that the cloud server adjusts for the traffic transmission protocol or congestion control algorithm include, but are not limited to: switching between single-path and multi-path transmission, switching between different congestion control algorithms (such as BBR, Cubic, and Copa), and adjusting different parameters of the same congestion control algorithm (such as adjusting the initial window to 0.5, 0.8, 2, or 4 times the original value).
[0160] In summary, see Figure 12 , Figure 12 This is a flowchart illustrating the process of optimizing transmission performance using QoE data, as provided in an embodiment of this application. The process includes the following steps: S201, Terminal uploads data.
[0161] S202. The data value protection system (hereinafter referred to as the system) determines whether the data has been confirmed. If so, proceed to S203; otherwise, return to continue executing S202.
[0162] S203, The cloud server queries the system for the set of terminal addresses.
[0163] S204. The cloud server sends a data permission request to the system.
[0164] S205. The cloud server pays a security deposit to the system.
[0165] S206. The terminal sends a data license certificate to the system.
[0166] S207, Cloud server data license certificate.
[0167] S208, The cloud server reads QoE data through the data license certificate.
[0168] S209. Adjust the parameters of the traffic transmission protocol and congestion control algorithm of the cloud server.
[0169] S210, The smart contract in the system is triggered, and the terminal receives an incentive.
[0170] It is understood that in the embodiments of this application, user information, such as QoE data, is involved. When the embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0171] The following description continues to illustrate the exemplary structure of the first data processing device 255 provided in the embodiments of this application as a software module. In some embodiments, such as... Figure 2 As shown, the software module in the first data processing device 255 stored in the first memory 250 may include: The first receiving module 2551 is used to receive data upload messages from the terminal device and store the encryption performance data carried in the data upload messages; the encryption performance data is obtained by encrypting performance index data describing the quality of transmission performance during data reception. The first sending module 2552 is configured to forward the data authorization request to the terminal device in response to the data authorization request from the service device; wherein the data authorization request is used to request the terminal device to authorize the use of the encrypted performance data; The first receiving module 2551 is further configured to receive the data authorization certificate returned by the terminal device in response to the data authorization request; The first sending module 2552 is further configured to send the data authorization certificate back to the service device; in response to the data acquisition request generated by the service device based on the data authorization certificate, send the encrypted performance data to the service device, so that the service device can optimize the transmission performance based on the performance index data obtained by decrypting the encrypted performance data.
[0172] In some embodiments of this application, the first data processing device 255 further includes: a resource processing module 2553, configured to trigger a smart contract and, based on the smart contract, determine a second number of virtual resources for the terminal device from a first number of virtual resources uploaded by the service device; wherein the first number is greater than or equal to the second number; The first sending module 2552 is further configured to send the second number of virtual resources to the terminal device.
[0173] In some embodiments of this application, the encryption performance data is stored in a distributed ledger; the first sending module 2552 is further configured to, in response to a data acquisition request generated by the service device based on the data authorization certificate, parse location information from the data acquisition request; wherein, the location information is used to indicate the location of the encryption performance data in the distributed ledger, and the location information is obtained by the service device from the data authorization certificate; based on the location information, the encryption performance data is read from the distributed ledger and sent to the service device.
[0174] In some embodiments of this application, the first data processing device 255 further includes a consensus processing module 2554, which is used to perform consensus processing on the data acquisition request through multiple system nodes, and write the data acquisition request to the distributed ledger after the consensus processing is completed.
[0175] In some embodiments of this application, the consensus processing module 2554 is further configured to perform consensus processing on the data authorization certificate through multiple system nodes, and write the data authorization certificate to the distributed ledger after the consensus processing is completed; The first sending module 2552 is further configured to, in response to a certificate query request sent by the service device, read the data authorization certificate from the distributed ledger and return the data authorization certificate to the service device.
[0176] The following description continues to illustrate the exemplary structure of the second data processing device 555 provided in the embodiments of this application as a software module. In some embodiments, such as... Figure 3 As shown, the software module in the second device 555 for data processing stored in the second memory 550 may include: The second sending module 5551 is used to send a data authorization request to the management device; wherein the data authorization request is used to request the terminal device to authorize the use of encrypted performance data; The second receiving module 5552 is used to receive the data authorization certificate returned by the management device in response to the data authorization request; the data authorization certificate is generated by the terminal device in response to the data authorization request and sent to the management device. The request generation module 5553 is used to generate a data acquisition request based on the data authorization certificate; The second sending module 5551 is further configured to send the data acquisition request to the management device; The second receiving module 5552 is further configured to receive encryption performance data returned by the management device in response to the data acquisition request; The performance optimization module 5554 is used to decrypt the encrypted performance data using the terminal key obtained from the data authorization certificate to obtain performance index data, and to optimize the transmission performance based on the performance index data.
[0177] In some embodiments of this application, the second sending module 5551 is further configured to send an address query request to the management device; The second receiving module 5552 is further configured to receive the address information of the terminal device returned by the management device in response to the address query request; The request generation module 5553 is further configured to obtain first time information and query time range; wherein, the first time information is the time information when the data authorization request is started; generate signature information based on the address information, the first time information and the query time range, and generate the data authorization request using the address information, the first time information, the query time range and the signature information.
[0178] In some embodiments of this application, the performance optimization module 5554 is further configured to determine the group of compatible devices to which the terminal device belongs; and optimize the transmission performance of the group of compatible devices based on the performance index data.
[0179] The following description continues to illustrate the exemplary structure of the third data processing device 455 provided in the embodiments of this application as a software module. In some embodiments, such as Figure 4As shown, the software module in the third device 455 for data processing stored in the third memory 450 may include: The third sending module 4551 is used to encrypt the collected performance index data to obtain encrypted performance data, and to send the encrypted performance data to the management device in a data upload message; the performance index data describes the quality of transmission performance when the data is received. The third receiving module 4552 is used to receive the data authorization request forwarded by the management device; wherein the data authorization request is used to request authorization for the use of the encrypted performance data, and the data authorization request is generated by the service device; The certificate generation module 4553 is used to generate a data authorization certificate in response to the data authorization request; The third sending module 4551 is further configured to return the data authorization certificate to the management device, so that the management device will send the data authorization certificate back to the service device, and the service device will obtain the encryption performance data from the management device based on the data acquisition request generated by the data authorization certificate, decrypt the encryption performance data, and optimize the transmission performance using the decrypted performance index data.
[0180] In some embodiments of this application, the third sending module 4551 is further configured to obtain an encryption private key and second time information; wherein, the second time information is the time information when the performance index data encryption operation begins; perform a hash operation on the encryption private key and the second time information to obtain a terminal key; and use the terminal key to encrypt the performance index data to obtain the encrypted performance data.
[0181] In some embodiments of this application, the proof generation module 4553 is further configured to, in response to the data authorization request, obtain the location information of the encrypted performance data in the distributed ledger and the terminal key; encrypt the terminal key using the encryption public key of the service device to obtain the encrypted terminal key; and generate the data authorization proof based on the location information and the encrypted terminal key.
[0182] This application provides a computer program product, which includes a computer program or computer-executable instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer-executable instructions from the computer-readable storage medium and executes the computer-executable instructions, causing the computer device (i.e., any one of a management device, service device, and terminal device) to perform the data processing method described in this application.
[0183] This application provides a computer-readable storage medium storing computer-executable instructions. When the computer-executable instructions are executed by a processor, a first processor will execute the data processing method on the management device side provided in this application, a second processor will execute the data processing method on the service device side provided in this application, and a third processor will execute the data processing method on the terminal device side provided in this application.
[0184] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.
[0185] In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0186] As an example, executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple collaborating files (e.g., a file that stores one or more modules, subroutines, or code sections).
[0187] As an example, executable instructions can be deployed to execute on a single computer device, or on multiple computer devices located in one location, or on multiple computer devices distributed across multiple locations and interconnected via a communication network.
[0188] In summary, the embodiments of this application not only enable service devices to obtain fine-grained performance index data during transmission performance optimization, thereby improving the optimization effect on transmission performance based on fine-grained data, but also ensure that the fine-grained performance index data is used only with the user's permission, protecting the user's data privacy and improving data security; a certain number of virtual resources are distributed to terminal devices to incentivize them, enabling users to obtain certain value through their data and encouraging users to upload data.
[0189] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.
Claims
1. A data processing method, characterized in that, The method includes: The system receives data upload messages from terminal devices and stores the encrypted performance data carried in the data upload messages in a distributed ledger; the encrypted performance data is obtained by encrypting performance index data describing the quality of transmission performance during data reception. In response to a data authorization request from a service device, the data authorization request is forwarded to the terminal device; wherein the data authorization request is used to request the terminal device to authorize the use of the encrypted performance data; The system receives a data authorization certificate returned by the terminal device in response to the data authorization request, and sends the data authorization certificate back to the service device. The data authorization certificate is generated by the terminal device in response to the data authorization request, obtaining the location information of the encryption performance data in the distributed ledger and the terminal key, and encrypting the terminal key using the encryption public key of the service device. In response to the data acquisition request generated by the service device based on the data authorization certificate, the location information is parsed from the data acquisition request, the encryption performance data is read from the distributed ledger based on the location information, and the encryption performance data is sent to the service device so that the service device can optimize the transmission performance based on the performance index data obtained by decrypting the encryption performance data.
2. The method according to claim 1, characterized in that, After receiving the data authorization certificate returned by the terminal device in response to the data authorization request, the method further includes: A smart contract is triggered, and based on the smart contract, a second number of virtual resources are determined for the terminal device from a first number of virtual resources uploaded by the service device; wherein the first number is greater than or equal to the second number. The second number of virtual resources are distributed to the terminal device.
3. The method according to claim 1, characterized in that, Before parsing the location information from the data acquisition request generated by the service device based on the data authorization certificate in response to the data acquisition request, the method further includes: The data acquisition request is processed through multiple system nodes to achieve consensus, and the data acquisition request is written to the distributed ledger after the consensus processing is completed.
4. The method according to claim 1, characterized in that, The step of sending the data authorization certificate back to the service device includes: The data authorization certificate is processed through consensus through multiple system nodes, and after the consensus process is completed, the data authorization certificate is written to the distributed ledger. In response to the certificate query request sent by the service device, the data authorization certificate is read from the distributed ledger and returned to the service device.
5. A data processing method, characterized in that, The method includes: Send a data authorization request to the management device; wherein the data authorization request is used to request the terminal device to authorize the use of encrypted performance data, which is stored in a distributed ledger; The terminal device receives a data authorization certificate returned by the management device in response to the data authorization request. The data authorization certificate is generated by the terminal device in response to the data authorization request, by obtaining the location information of the encrypted performance data in the distributed ledger and the terminal key, and by encrypting the terminal key using the encryption public key of the service device, and then sending it to the management device. Based on the data authorization certificate, a data acquisition request is generated and sent to the management device, so that the management device can parse the location information from the data acquisition request and read the encryption performance data from the distributed ledger based on the location information; The management device receives encryption performance data returned in response to the data acquisition request. The encryption performance data is obtained by the management device from the data acquisition request by parsing location information, and is then read from the distributed ledger based on the location information. Using the terminal key obtained by decrypting the data authorization certificate, the encrypted performance data is decrypted to obtain performance index data, and the transmission performance is optimized based on the performance index data.
6. The method according to claim 5, characterized in that, Before sending the data authorization request to the management device, the method further includes: Send an address query request to the management device; Receive the address information of the terminal device returned by the management device in response to the address query request; Obtain first-time information and query time range; wherein, the first-time information is the time information when the data authorization request is started; A signature is generated based on the address information, the first time information, and the query time range. The data authorization request is then generated using the address information, the first time information, the query time range, and the signature information.
7. The method according to claim 5, characterized in that, The optimization of transmission performance based on the performance index data includes: For the aforementioned terminal device, identify the corresponding group of compatible devices; Based on the performance metrics data, the transmission performance of the adapted device group is optimized.
8. A data processing method, characterized in that, The method includes: The collected performance index data is encrypted to obtain encrypted performance data, which is then carried in a data upload message and sent to the management device. The performance index data describes the quality of transmission performance during data reception, and the encrypted performance data is stored in a distributed ledger. Receive a data authorization request forwarded by the management device; wherein the data authorization request is used to request authorization for the use of the encrypted performance data, and the data authorization request is generated by the service device; In response to the data authorization request, the location information of the encrypted performance data in the distributed ledger and the terminal key are obtained. A data authorization certificate is generated using the encrypted public key of the service device and the terminal key, and the data authorization certificate is returned to the management device. The management device then sends the data authorization certificate back to the service device, and the service device generates a data acquisition request based on the data authorization certificate. The management device parses the location information from the data acquisition request, reads the encrypted performance data from the distributed ledger based on the location information, and sends it to the service device. The service device decrypts the encrypted performance data and uses the decrypted performance index data to optimize the transmission performance.
9. The method according to claim 8, characterized in that, The process of encrypting the collected performance index data to obtain encrypted performance data includes: Obtain the encryption private key and the second time information; wherein, the second time information is the time information when the encryption operation of the performance index data begins; A hash operation is performed on the encrypted private key and the second time information to obtain the terminal key; The performance index data is encrypted using the terminal key to obtain the encrypted performance data.
10. The method according to claim 9, characterized in that, The process of generating a data authorization certificate using the encrypted public key of the service device and the terminal key includes: In response to the data authorization request, obtain the location information of the encryption performance data in the distributed ledger and the terminal key; The terminal key is encrypted using the public key of the service device to obtain the encrypted terminal key; The data authorization certificate is generated based on the location information and the encrypted terminal key.
11. A management device, characterized in that, The management device includes: The first memory is used to store executable instructions; A first processor, when executing executable instructions stored in the first memory, implements the data processing method according to any one of claims 1 to 4.
12. A service device, characterized in that, The service equipment includes: The second memory is used to store executable instructions; The second processor, when executing executable instructions stored in the second memory, implements the data processing method according to any one of claims 5 to 7.
13. A terminal device, characterized in that, The terminal device includes: The third memory is used to store executable instructions; A third processor, when executing executable instructions stored in the third memory, implements the data processing method according to any one of claims 8 to 10.
14. A computer-readable storage medium storing computer-executable instructions, characterized in that, When the computer-executable instructions are executed by a first processor, they implement the data processing method according to any one of claims 1 to 4; when executed by a second processor, they implement the data processing method according to any one of claims 5 to 7; or when executed by a third processor, they implement the data processing method according to any one of claims 8 to 10.
Citation Information
Patent Citations
Attribute-based access control method on block chain
CN113761583A
Data security sharing and privacy protection method and system for intelligent medical engineering
CN114553436A
Digital asset right confirmation transaction method and system based on block chain
CN114638599A