CN118283032A - Service provider selection method and related device - Google Patents

Service provider selection method and related device Download PDF

Info

Publication number
CN118283032A
CN118283032A CN202211713313.2A CN202211713313A CN118283032A CN 118283032 A CN118283032 A CN 118283032A CN 202211713313 A CN202211713313 A CN 202211713313A CN 118283032 A CN118283032 A CN 118283032A
Authority
CN
China
Prior art keywords
candidate
target
terminal
data
quality information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211713313.2A
Other languages
Chinese (zh)
Inventor
吴波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211713313.2A priority Critical patent/CN118283032A/en
Publication of CN118283032A publication Critical patent/CN118283032A/en
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The application relates to the field of cloud technology, and provides a service provider selection method and a related device, which are used for optimizing service performance and improving service quality of a terminal, wherein the method comprises the following steps: and uploading the candidate quality information to a data storage system by each candidate data sharing terminal for storage, wherein the data request terminal can obtain a target quality information set which is read by the data storage system and accords with the information screening condition based on the request terminal address and the target service identifier by sending a data request message carrying the request terminal address and the target service identifier to the data storage system, and further screening out target cloud service providers from each candidate cloud service provider based on service quality evaluation values respectively contained in each target quality information. In this way, different terminals can autonomously select cloud service providers related to the service according to the service quality evaluation values provided by other terminals, so as to optimize service performance.

Description

Service provider selection method and related device
Technical Field
The application relates to the technical field of communication, and provides a service provider selection method and a related device.
Background
With the rapid development of computer and network technologies, various internet services have been explosively increased, and these services not only contain text and picture contents, but also have been gradually increased in audio and video traffic in recent years.
In the related art, for the same service, there may be multiple cloud service providers to provide the service, and in order to provide a better service quality for the terminal device, the content service provider may select one cloud service provider from the multiple cloud service providers to provide the service for each terminal device according to quality of service indexes such as quality of experience (Quality of Experience, qoE), quality of service (Quality of Services, qoS), and the like.
However, because the network environment where each terminal device is located is greatly different, the content service provider faces the cloud service provider selected by all the terminal devices, so that the service performance of part of the terminal devices is difficult to reach the optimum, and further, the content service provider is difficult to provide the service quality satisfactory to the terminal objects.
Disclosure of Invention
The embodiment of the application provides a service provider selection method and a related device, which are used for optimizing service performance and improving service quality of a terminal.
In a first aspect, an embodiment of the present application provides a service provider selection method, applied to a data request terminal, where the method includes:
Transmitting a data request message to a data storage system, wherein the data request message carries a request terminal address of the data request terminal and a target service identifier of a target service;
Receiving a target quality information set which is uploaded by the data storage system based on the request terminal address and the target service identifier and meets the information screening condition by at least one target data sharing terminal, wherein each target quality information set comprises: a quality of service assessment value for the target service for a candidate cloud service provider;
And screening candidate cloud service providers meeting preset quality conditions from the candidate cloud service providers based on the service quality evaluation values in the target quality information set to serve as target cloud service providers.
In a second aspect, an embodiment of the present application provides a service provider selection method, applied to a data storage device in a data storage system, where the method includes:
Receiving and storing at least one piece of candidate quality information uploaded by each candidate data sharing terminal, wherein each piece of candidate quality information at least comprises: a quality of service assessment value for a candidate service of a candidate cloud service provider;
when a data request message sent by a data request terminal is received, screening a target quality information set meeting information screening conditions from stored candidate quality information based on a request terminal address of the data request terminal and a target service identifier of a target service carried in the data request message;
And returning the target quality information set to the data request terminal, so that the data request terminal screens out candidate cloud service providers meeting the preset quality condition from all candidate cloud service providers based on the service quality evaluation value in the target quality information set to serve as target cloud service providers.
In a third aspect, an embodiment of the present application provides a service provider selection apparatus, including:
the sending unit is used for sending a data request message to the data storage system, wherein the data request message carries a request terminal address of the data request terminal and a target service identifier of a target service;
The receiving unit is used for receiving a target quality information set which is uploaded by the data storage system based on the request terminal address and the target service identifier and meets the information screening condition and is uploaded by at least one target data sharing terminal, and each target quality information set comprises: a quality of service assessment value for the target service for a candidate cloud service provider;
And the screening unit is used for screening candidate cloud service providers meeting the preset quality condition from the candidate cloud service providers based on the service quality evaluation values in the target quality information set to serve as target cloud service providers.
As a possible implementation manner, each piece of target quality information further includes a provider identifier of the candidate cloud service provider;
the screening unit is specifically configured to, when screening candidate cloud service providers meeting a preset quality condition from the candidate cloud service providers based on the quality evaluation values of the target quality information set as target cloud service providers:
determining at least one service quality evaluation value corresponding to each candidate cloud service provider based on the provider identifier contained in each target quality information, and obtaining a corresponding total quality evaluation value based on the at least one service quality evaluation value corresponding to each candidate cloud service provider;
and screening candidate cloud service providers meeting preset quality conditions from the candidate cloud service providers based on the obtained total quality evaluation values, and taking the candidate cloud service providers as target cloud service providers.
As a possible implementation manner, the data request message also carries a target application identifier of a target application program, and each target quality information also contains a candidate application identifier;
the screening unit is specifically configured to, when determining at least one service quality evaluation value corresponding to each candidate cloud service provider based on the provider identifier included in each target quality information, determine the candidate cloud service provider:
Screening out a plurality of target quality information corresponding to the target application identifiers from the target quality information based on candidate application identifiers contained in the target quality information;
And determining at least one service quality evaluation value corresponding to each candidate cloud service provider from the screened multiple target quality information based on the provider identification contained in each target quality information.
As a possible implementation manner, the key data contained in each target quality information is encrypted by adopting the shared key of the corresponding target data sharing terminal, and the key data at least comprises a service quality evaluation value;
the screening unit is further configured to, after the sending of the data request message to the data storage system, screen candidate cloud service providers meeting a preset quality condition from the candidate cloud service providers based on the quality of service evaluation values in the target quality information set, before the candidate cloud service providers are selected as target cloud service providers:
receiving respective public key keys sent to the data request terminal by the at least one target data sharing terminal through a data storage system, wherein each public key is obtained based on a corresponding sharing key;
and obtaining each decrypted key data based on the public key of each data sharing terminal.
As a possible implementation manner, each public key is obtained by encrypting the own shared key by adopting the request terminal public key of the data request terminal by the corresponding target data sharing terminal;
the screening unit is specifically configured to, when obtaining each decrypted key data based on the public key of each of the at least one data sharing terminal:
decrypting the received at least one public key by adopting a request terminal private key of the data request terminal to obtain respective shared keys of the at least one target data sharing terminal;
And decrypting the encrypted key information by adopting the obtained at least one shared key to obtain each piece of decrypted key data.
In a fourth aspect, an embodiment of the present application provides a service provider selection apparatus, including:
The storage unit is used for receiving and storing at least one piece of candidate quality information uploaded by each candidate data sharing terminal, and each piece of candidate quality information at least comprises: a quality of service assessment value for a candidate service of a candidate cloud service provider;
The screening unit is used for screening a target quality information set meeting information screening conditions from stored candidate quality information based on a request terminal address of the data request terminal and a target service identifier of a target service carried in the data request message when the data request message sent by the data request terminal is received;
and the sending unit returns the target quality information set to the data request terminal, so that the data request terminal screens out candidate cloud service providers meeting the preset quality condition from all candidate cloud service providers as target cloud service providers based on the service quality evaluation value in the target quality information set.
As a possible implementation manner, each candidate quality information further includes a shared terminal address of the corresponding candidate data sharing terminal and a candidate service identifier of the one candidate service;
The screening unit is specifically configured to, when screening out a target quality information set meeting an information screening condition from the stored candidate quality information based on a request terminal address of the data request terminal and a target service identifier of a target service carried in the data request message:
screening out at least one candidate quality information which contains the same candidate service identifier as the target service identifier and is used as a target quality information set meeting the information screening condition, wherein the similarity between the contained shared terminal address and the request terminal address meets the set similarity condition.
As a possible implementation, the screening unit is further configured to:
Determining that the similarity between the shared terminal address and the request terminal address meets a set similarity condition when the corresponding candidate data shared terminal and the data request terminal are determined to be positioned in the same geographic position range based on the shared terminal address and the request terminal address;
When the shared terminal address and the request terminal address determine that the corresponding candidate data shared terminal and the network access mode of the data request terminal are the same, determining that the similarity between the shared terminal address and the request terminal address meets the set similarity condition;
And determining that the similarity between the shared terminal address and the request terminal address meets a set similarity condition when the corresponding candidate data shared terminal and the data request terminal are positioned in the same geographic position range and the network access mode of the corresponding candidate data shared terminal and the data request terminal is the same based on the shared terminal address and the request terminal address.
As a possible implementation manner, the sending unit is further configured to use, as at least one target data sharing terminal, a candidate data sharing terminal corresponding to each target quality information in the target quality information set, and send a key request message to the at least one target data sharing terminal, where the key request message carries the address of the request terminal;
The storage unit is further used for receiving public key keys returned by the at least one target data sharing terminal, each public key is obtained by encrypting a shared key of the corresponding target data sharing terminal by adopting a request terminal public key, and the request terminal public key is obtained based on the request terminal address;
And the sending unit is also used for sending the public key returned by each of the at least one target data sharing terminal to the data request terminal so that the data request terminal obtains each decrypted target quality information through each public key.
As one possible implementation, the data storage device maintains nodes for any one of the blockchain systems;
The storage unit is specifically configured to, when receiving and storing at least one candidate quality information uploaded by each candidate data sharing terminal:
Broadcasting the received quality information of each candidate to other maintenance nodes in the block chain after receiving at least one quality information of each candidate uploaded by each candidate data sharing terminal;
And after consensus with the other maintenance nodes is achieved, storing the candidate quality information into a distributed account book.
As a possible implementation manner, when the receiving unit receives at least one candidate quality information uploaded by each candidate data sharing terminal, the storage unit is further configured to:
Receiving first signature information corresponding to each candidate quality information, wherein the first signature information is generated based on a sharing terminal private key of each candidate data sharing terminal;
And when the first signature information of each candidate data sharing terminal passes the verification based on the public key of the sharing terminal of each candidate data sharing terminal, storing at least one piece of candidate quality information uploaded by each candidate data sharing terminal.
In a fifth aspect, an embodiment of the present application provides an electronic device, including a processor and a memory, where the memory stores a computer program that, when executed by the processor, causes the processor to perform the steps of any of the methods of the first or second aspects.
In a sixth aspect, an embodiment of the present application provides a computer readable storage medium comprising a computer program for causing an electronic device to perform the steps of any one of the methods of the first or second aspects described above when the computer program is run on the electronic device.
In a seventh aspect, embodiments of the present application provide a computer program product comprising a computer program stored in a computer readable storage medium, from which a processor of an electronic device reads and executes the computer program, causing the electronic device to perform the steps of any of the methods of the first or second aspects described above.
In the embodiment of the application, each candidate data sharing terminal uploads candidate quality information to a data storage system, and a data request terminal can obtain a target quality information set which is returned by the data storage system and accords with an information screening condition based on a request terminal address and a target service identifier by sending a data request message carrying the request terminal address and the target service identifier to the data storage system, so that a target cloud service provider is screened out from candidate cloud service providers based on service quality evaluation values respectively contained in each target quality information.
Therefore, by constructing the data storage system of the cross-cloud service provider, the cross-service and the cross-terminal, the effective circulation of data such as service quality of different cloud service providers, network performance of different services, service quality evaluation values of different terminals and the like is realized, so that important support is provided when the best cloud service provider is selected for the data request terminal, and meanwhile, as different terminals can select the cloud service provider related to the service according to the service quality evaluation values of different types of services provided by other terminals, the service quality of the terminals is improved, and the service experience of users is further improved. In addition, the terminal is used as a maintainer of novel network ecology, so that the terminal has the capability of autonomously selecting a cloud service provider, thereby realizing user-oriented or connection-level business experience optimization, and further being beneficial to constructing the Internet ecology which is cooperatively built by cloud service, content service and user terminal.
Additional features and advantages of the application will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the application. The objectives and other advantages of the application will be realized and attained by the structure particularly pointed out in the written description and claims thereof as well as the appended drawings.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute a limitation on the application. In the drawings:
FIG. 1 is a logic diagram of a selection process for a cloud service provider;
fig. 2 is a schematic diagram of an application scenario provided in an embodiment of the present application;
FIG. 3A is a block chain system according to an embodiment of the present application;
FIG. 3B is a schematic diagram of a block according to an embodiment of the present application;
FIG. 3C is a schematic diagram of a block generation process according to an embodiment of the present application;
FIG. 4 is a schematic diagram illustrating interactions among a data sharing terminal, a data requesting terminal, and a data storage system according to an embodiment of the present application;
fig. 5 is a logic diagram of a process for uploading candidate quality information according to an embodiment of the present application;
FIG. 6 is a schematic diagram of a process for transferring candidate quality information according to an embodiment of the present application;
FIG. 7 is a schematic diagram of a data request message sending process according to an embodiment of the present application;
fig. 8 is a schematic flow chart of a first method for determining a target cloud service provider according to an embodiment of the present application;
FIG. 9 is a logic diagram of a first determination target cloud service provider according to an embodiment of the present application;
Fig. 10 is a schematic flow chart of a second method for determining a target cloud service provider according to an embodiment of the present application;
FIG. 11 is a logic diagram of a second determination target cloud service provider according to an embodiment of the present application;
fig. 12 is a schematic diagram of a key held by each of a data sharing terminal and a key requesting terminal in an embodiment of the present application;
FIG. 13A is a schematic diagram of a key data encryption process according to an embodiment of the present application;
fig. 13B is a schematic structural diagram of quality information according to an embodiment of the present application;
FIG. 14 is a schematic diagram of a first signature information generation process according to an embodiment of the present application;
FIG. 15 is a logic diagram of a signature verification process in an embodiment of the present application;
FIG. 16 is a schematic diagram of a public key generation process in an embodiment of the present application;
FIG. 17 is a schematic diagram of a key data decryption process according to an embodiment of the present application;
FIG. 18 is a schematic diagram of another application scenario in an embodiment of the present application;
FIG. 19 is a schematic diagram illustrating interaction among another data sharing terminal, a data requesting terminal, and a data storage system according to an embodiment of the present application;
fig. 20 is a schematic structural diagram of a service provider selection device according to an embodiment of the present application;
fig. 21 is a schematic structural diagram of a service provider selection device according to an embodiment of the present application;
Fig. 22 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the technical solutions of the present application, but not all embodiments. All other embodiments, based on the embodiments described in the present document, which can be obtained by a person skilled in the art without any creative effort, are within the scope of protection of the technical solutions of the present application.
In the following, some terms involved in the embodiments of the present application will be explained first.
And the data sharing terminal: and the terminal equipment is used for reporting the quality information to the data storage system.
And the data request terminal: a terminal device requesting quality information from the data storage system.
Cloud service provider: i.e., content delivery network (Content Delivery Network, CDN) vendors, for providing cloud technology based platforms, infrastructure, applications, or storage services.
Cloud technology (Cloud technology): cloud technology refers to a hosting technology for unifying serial resources such as hardware, software, network and the like in a wide area network or a local area network to realize calculation, storage, processing and sharing of data. Cloud technology (Cloud technology) is based on the general terms of network technology, information technology, integration technology, management platform technology, application technology and the like applied by Cloud computing business models, and can form a resource pool, so that the Cloud computing business model is flexible and convenient as required. Cloud computing technology will become an important support. Background services of technical networking systems require a large amount of computing, storage resources, such as video websites, picture-like websites, and more portals. Along with the high development and application of the internet industry, each article possibly has an own identification mark in the future, the identification mark needs to be transmitted to a background system for logic processing, data with different levels can be processed separately, and various industry data needs strong system rear shield support and can be realized only through cloud computing.
In the related art, for the same service, there may be multiple cloud service providers to provide the service, and in order to provide a better service quality for the terminal device, the content service provider may select one cloud service provider from the multiple cloud service providers according to quality of service indexes such as QoE, qoS, and the like, to provide the service for each terminal device.
For example, referring to fig. 1, a content service provider 1 provides services 1 for a terminal 1 and a terminal 2, a content service provider 1 provides services 2 for a terminal 3 and a terminal 4, a content service provider 2 provides services 1 for a terminal 5 and a terminal 6, and the content service provider can select different cloud service providers for different services according to a service quality index and in combination with factors such as traffic cost, so as to realize maximum service quality with minimum cost. As shown in fig. 1, the content service provider 1 selects a CDN vendor 1 for its own service 1, provides a CDN vendor 2 for service 2, and the content service provider 2 selects a CDN vendor 3 for its own service 1.
However, because the network environment where each terminal device is located is greatly different, the content service provider faces the cloud service provider selected by all the terminal devices, so that the service performance of part of the terminal devices is difficult to reach the optimum, and further, the content service provider is difficult to provide the service quality satisfactory to the terminal objects. For example, the content service provider 1 selects the CDN vendor 1 for the service 1 corresponding to the terminal 1 and the terminal 2, however, the terminal 1 and the terminal 2 are located in different network environments, and the network states of the terminals are different, so that the service 1 provided by the CDN vendor 1 cannot ensure that the service performance of the terminal 1 and the service performance of the terminal 2 are simultaneously optimal.
In the embodiment of the application, each candidate data sharing terminal uploads candidate quality information to a data storage system, and a data request terminal can obtain a target quality information set which is returned by the data storage system and accords with an information screening condition based on a request terminal address and a target service identifier by sending a data request message carrying the request terminal address and the target service identifier to the data storage system, so that a target cloud service provider is screened out from candidate cloud service providers based on service quality evaluation values respectively contained in each target quality information.
Therefore, by constructing the data storage system of the cross-cloud service provider, the cross-service and the cross-terminal, the effective circulation of data such as service quality of different cloud service providers, network performance of different services, service quality evaluation values of different terminals and the like is realized, so that important support is provided when the best cloud service provider is selected for the data request terminal, and meanwhile, as different terminals can select the cloud service provider related to the service according to the service quality evaluation values of different types of services provided by other terminals, the service quality of the terminals is improved, and the service experience of users is further improved. In addition, the terminal is used as a maintainer of novel network ecology, so that the terminal has the capability of autonomously selecting a cloud service provider, and the self-adaptive cloud service selection of a connection level cannot be supported in a related method is made up, so that the service experience optimization for a user or the connection level is realized, and the construction of the Internet ecology which is cooperatively built by the cloud service, the content service and the user terminal is facilitated.
Fig. 2 is a schematic diagram of a possible application scenario provided in an embodiment of the present application. The application scene comprises the following steps: the n terminals, the data storage system 220, and the plurality of cloud service providers 240, wherein the n terminals include at least one data sharing terminal 210 and at least one data requesting terminal 230. Wherein n is a positive integer.
In the embodiment of the present application, each of the n terminals may be used as the data sharing terminal 210 or the data requesting terminal 230. When a terminal sends a data request message to the data storage system 220, the terminal is considered a data requesting terminal 230. When a terminal uploads candidate quality information to the data storage system 220, the terminal is considered a data sharing terminal 210. In the embodiment of the present application, only the terminal i is taken as the data request terminal 230, and the other terminals except the terminal i, such as the terminal 1, the terminal 2, the terminal n, and the like, among the n terminals are all exemplified as the data sharing terminal 210.
The data sharing terminals 210, such as terminal 1, terminal 2, and terminal n, may report their own one or more candidate quality information to the data storage system 220. The data storage system 220 receives and stores candidate quality information reported by each of the data sharing terminals 210.
The data request terminal 230 may periodically send a data request message carrying the request terminal address and the target service identifier to the data storage system 220, so that the data storage system 220 returns a target quality information set meeting the information filtering condition to the corresponding data request terminal 230 based on the request terminal address and the target service identifier. Further, the data requesting terminal 230 screens out target cloud service providers from the plurality of cloud service providers 240 based on the quality of service evaluation values included in each of the target quality information. Further, the data request terminal 230 may send the traffic request and traffic interaction information to the target cloud service provider, so that the target cloud service provider provides the target service for the data request terminal 230.
The direct interaction process of the data sharing terminal 210, the data requesting terminal 230, and the data storage system 220 is described below, and will not be described here.
In one possible application scenario, the data storage system 220 may be a distributed cloud storage system, where cloud storage (cloud storage) is a new concept that extends and develops in the concept of cloud computing, and the distributed cloud storage system refers to a cloud storage system that integrates a large number of storage devices (storage devices are also called as storage nodes) of different types in a network through application software or application interfaces to cooperatively provide data storage and service access functions together through functions such as cluster application, grid technology, and distributed storage file systems.
At present, the storage method of the distributed cloud storage system comprises the following steps: when creating logical volumes, each logical volume is allocated a physical storage space, which may be a disk composition of a certain storage device or of several storage devices. The client stores data on a certain logical volume, that is, the data is stored on a file system, the file system divides the data into a plurality of parts, each part is an object, the object not only contains the data but also contains additional information such as an Identity (ID) of the data, the file system writes each object into a physical storage space of the logical volume, and the file system records storage position information of each object, so that when the client requests to access the data, the file system can enable the client to access the data according to the storage position information of each object.
The process of distributing physical storage space for the logical volumes by the distributed cloud storage system specifically comprises the following steps: physical storage space is divided into stripes in advance according to the set of capacity measures for objects stored on a logical volume (which measures tend to have a large margin with respect to the capacity of the object actually to be stored) and redundant array of independent disks (RAID, redundant Array of INDEPENDENT DISK), and a logical volume can be understood as a stripe, whereby physical storage space is allocated for the logical volume.
In another possible application scenario, the data storage system 220 may be a blockchain system. Blockchain (Blockchain) is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanisms, encryption algorithms, and the like. The blockchain is essentially a decentralised database, and is a series of data blocks which are generated by association by using a cryptography method, and each data block contains information of a batch of network transactions and is used for verifying the validity (anti-counterfeiting) of the information and generating a next block. The blockchain may include a blockchain underlying platform, a platform product services layer, and an application services layer.
Referring to FIG. 3A, data storage system 220 may include a plurality of nodes 301, and the plurality of nodes 301 may refer to various maintenance nodes in a blockchain system. Each node 301 may receive input information during normal operation and maintain shared data within the data storage system 220 based on the received input information. In order to ensure interworking of information within the data storage system 220, there may be an information connection between each node in the data storage system 220 through which information may be transferred between the nodes.
The node may be a server, a terminal or a software or hardware device that the third party is willing to participate in. The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, basic cloud computing services such as big data and artificial intelligent platforms. The terminal may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc. The terminal and the server may be directly or indirectly connected through wired or wireless communication, and the present application is not limited herein.
In one embodiment, when any node in the data storage system 220 receives input information such as candidate quality information, other nodes in the data storage system 220 acquire the input information according to a consensus algorithm, and store the input information as data in the shared data, so that the data stored on all nodes in the data storage system 220 are consistent. Consensus algorithms may employ, but are not limited to, proof of work (PoW), proof of equity (PoS), bayer fault tolerance mechanisms (Byzantine Fault Tolerance, PBFT), and the like.
For each node in data storage system 220, there is a node identification corresponding thereto, and each node in data storage system 220 may store the node identifications of other nodes in data storage system 220 for subsequent broadcasting of the generated chunk to other nodes in data storage system 220 based on the node identifications of the other nodes. Each node can maintain a node identification list shown in the following table, and the node names and the node identifications are correspondingly stored in the node identification list. The node identifier may be a protocol (Internet Protocol, IP) address of interconnection between networks, and any other information that can be used to identify the node, and the IP address is only illustrated in table 1.
TABLE 1 IP Address
Node name Node identification
Node 1 117.114.151.174
Node 2 117.116.189.145
Node N 119.123.789.258
Each node in data storage system 220 stores an identical blockchain, which may also be referred to as a distributed ledger or a shared ledger. The blockchain is composed of a plurality of blocks, referring to fig. 3B, the blockchain is composed of a plurality of blocks, the starting block comprises a block header and a block main body, the block header stores an input information characteristic value, a version number, a time stamp and a difficulty value, and the block main body stores input information; the next block of the starting block takes the starting block as a father block, the next block also comprises a block head and a block main body, the block head stores the input information characteristic value of the current block, the block head characteristic value of the father block, the version number, the timestamp and the difficulty value, and the like, so that the block data stored in each block in the block chain are associated with the block data stored in the father block, and the safety of the input information in the block is ensured.
When each block in the blockchain is generated, referring to fig. 3C, when the node where the blockchain is located receives input information, checking the input information, after the checking is completed, storing the input information into a memory pool, and updating a hash tree used for recording the input information; then, updating the update time stamp to the time of receiving the input information, trying different random numbers, and calculating the characteristic value for a plurality of times, so that the calculated characteristic value can meet the following formula:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
Wherein SHA256 is a eigenvalue algorithm used to calculate eigenvalues; version (version number) is version information of the related block protocol in the block chain; the prev_hash is the block header characteristic value of the parent block of the current block; merkle _root is a characteristic value of input information; ntime is the update time of the update timestamp; the nbits is the current difficulty, is a fixed value in a period of time, and is determined again after exceeding a fixed period of time; x is a random number; TARGET is a eigenvalue threshold that can be determined from nbits.
Thus, when the random number meeting the formula is calculated, the information can be correspondingly stored to generate the block head and the block main body, and the current block is obtained. And then, the node where the blockchain is located sends the newly generated blocks to other nodes in the data storage system 220 where the newly generated blocks are located according to the node identifications of other nodes in the data storage system 220, the other nodes verify the newly generated blocks, and after the verification is completed, the newly generated blocks are added into the blockchain stored in the newly generated blocks.
In the following, only the data sharing terminal x is described as an example, and the data sharing terminal x is any one of the candidate data sharing terminals such as the terminal 1, the terminal 2, and the terminal n.
Referring to fig. 4, an interaction schematic diagram between a data sharing terminal x, a terminal data request terminal, and a data storage system in a cloud service provider selection process provided in an embodiment of the present application is shown in the following specific flow:
S401, uploading at least one piece of candidate quality information to a data storage system by a data sharing terminal x, wherein each piece of candidate quality information at least comprises: quality of service assessment values for a candidate service of a candidate cloud service provider.
In the embodiment of the present application, the data sharing terminal x may report the candidate quality information at least one of the following moments:
(1) And after the service session of the service z between the data sharing terminal x and the cloud service provider y is finished, reporting the candidate quality information.
The cloud service provider y may be any one of candidate cloud service providers, and the service z may be any one of candidate services provided by the cloud service provider y. Candidate services include, but are not limited to, web browsing, file downloading, audio-video on demand, audio-video live broadcast, etc. For web browsing services, the end of a service session refers to the user closing the browsing; for file downloading service, the end of service session means that the user completes file downloading; for audio-video on-demand service and audio-video live broadcast service, the service session end refers to the transmission of the audio-video end.
(2) And periodically reporting the candidate quality information according to the set reporting period. For example, the reporting period may be every 5 minutes, every 10 minutes, etc.
In the embodiment of the present application, taking the Service z provided by the cloud Service provider y to the data sharing terminal x as an example, the candidate quality information may further include a provider identifier (cdn_id) of the cloud Service provider y, a sharing terminal address (client_ip) of the data sharing terminal x, and a Service identifier (service_id) of the Service z, in addition to the Service quality evaluation value (client_qoe). Further, the candidate quality information may further include an application identification (app_id) of the application program.
The cdn_id is used to uniquely identify a cloud service provider, which includes, but is not limited to, a messenger cloud, a hua-yun, an ali cloud, etc.
The service_id is used to uniquely identify the Service z, which includes but is not limited to web browsing, file downloading, audio-video on demand, live audio-video services, etc.
App_id is used to uniquely identify an application that is used to provide service z, including but not limited to tremble, fast-handed, weChat, tencel video, etc.
The shared terminal address may be, but not limited to, an IP address, and the shared terminal address may be used as a terminal identification of the data sharing terminal x.
The Client QoE may consist of one or more of the following metrics: the response time, packet loss rate, delay, throughput, stuck frequency, and stuck duration may also be an evaluation value obtained by weighting calculation based on one or more of the above indexes, and the specific weighting manner is not limited in the embodiment of the present application. The evaluation value obtained by the weighting calculation will be described only as an example.
Taking the data sharing terminal x as the terminal 1 as an example, referring to fig. 5, the data sharing terminal x uploads candidate quality information once every 5 minutes, where the uploaded candidate quality information includes: quality information and quality information 2, quality information 1 contains { cdn_id:1, service_id:1, app_id:1, client_ip: 66, client_qoe:0.9}, the quality information 2 contains { cdn_id:1, service_id:2, app_id:2, client_ip: 66, client_qoe:0.8}, wherein the value of cdn_id is 1, the cloud Service provider is a messenger cloud, the Service is a video on demand when the value of service_id is 1, the Service is a file download when the value of service_id is 2, the application is a messenger video when the value of app_id is 1, the application is a WeChat when the value of app_id is 2, the client_QoE is an evaluation value obtained by weighting calculation based on response time, packet loss rate and time delay, and obviously, quality information 1 is quality information of the video on demand provided by terminal 1 for the messenger cloud in the messenger video, and quality information 2 is quality information of the file download provided by terminal 1 for the messenger cloud in the WeChat.
S402, the data storage system stores at least one piece of candidate quality information uploaded by the data sharing terminal x.
As one possible implementation manner, when the data storage system is a distributed cloud storage system, a client of the distributed cloud storage system stores at least one candidate quality information uploaded by the data sharing terminal x into the storage node.
As another possible implementation manner, when the data storage system is a blockchain system, the data sharing terminal x may upload at least one candidate quality information to a certain maintenance node, and store the at least one candidate quality information through the maintenance node. The maintenance node may be any one of the maintenance nodes, or may be one maintenance node corresponding to the data sharing terminal x. The correspondence between the data sharing terminal x and the maintenance node may be set in advance according to the geographical location where the data sharing terminal x is located, but is not limited thereto. Specifically, after receiving each candidate quality information uploaded by the data sharing terminal x, the maintenance node broadcasts each received candidate quality information to other maintenance nodes in the blockchain. And after consensus is achieved with other maintenance nodes, storing each candidate quality information into the distributed account book.
In some embodiments, each candidate quality information further carries the first signature information sign_usr of the data sharing terminal x. The data storage system stores candidate quality information uploaded by the data sharing terminal x after determining that the first signature information sign_usr passes verification based on the sharing terminal public key of the data sharing terminal x.
In the distributed cloud storage system, after verification is carried out on the client side of the distributed cloud storage system, the client side stores corresponding candidate quality information after the first signature information sign_usr is confirmed to pass verification.
In a blockchain system, when any maintenance node in a data storage system receives one piece of candidate quality information, after verifying the validity of first signature information sign_usr in the candidate quality information, the candidate quality information is broadcasted to other maintenance nodes. When consensus is reached between the maintenance nodes, the candidate quality information is stored into the distributed ledger. The generation and use of the first signature information sign_usr is described below.
Taking a blockchain system as an example, referring to fig. 6, the data storage system includes a maintenance node 1, a maintenance node 2, a maintenance node 3 and a maintenance node 4, the quality information 1 includes first signature information sign_usr, when the maintenance node 2 receives the quality information 1, the maintenance node 2 broadcasts the quality information 1 to the maintenance node 1, the maintenance node 3 and the maintenance node 4 after verifying the validity of the first signature information sign_usr, the maintenance node 1, the maintenance node 3 and the maintenance node 4 verify the validity of the first signature information sign_usr, and supposing that a PoW mechanism is adopted in the consensus mechanism, when more than half of the maintenance nodes determine that the first signature information sign_usr passes the verification, the maintenance node 1, the maintenance node 2, the maintenance node 3 and the maintenance node 4 agree on each other, then, the quality information 1 is recorded in a distributed account book, and i+1 blocks are stored in the distributed account book before the quality information 1 is stored in fig. 6.
Through a digital signature mechanism, the problems of data counterfeiting, repudiation, impersonation and tampering can be effectively solved, so that the network information security is ensured.
S403, the data request terminal sends a data request message to the data storage system, wherein the data request message carries the request terminal address of the data request terminal and the target service identifier of the target service.
In the embodiment of the application, the data request terminal can periodically send the data request message to the data storage system, and the effect of real-time adjustment of the cloud service provider can be achieved by adjusting the set sending period. For example, the transmission period may be set every 5 minutes, every 15 minutes, or the like. Here, only one cycle is described as an example.
The data request message may further carry a target application identifier (target app_id) of the target application program, in addition to the request terminal address (client_ip_req) of the data request terminal and the target Service identifier (target service_id) of the target Service.
The client_ip_req may use, but is not limited to, an IP address of the data request terminal, and the client_ip_req may be used as a terminal identifier of the data request terminal.
For example, referring to fig. 7, the data request terminal sends a data request message once every 10 minutes, where the sent data request message includes a data request message 1, a data request message 2, and the like, and the data request message 1 is taken as an example, where the data request message 1 carries a client_ip_req, a target service_id, and a target app_id, where the client_ip_req is 111.33..56, the value of the target service_id is 1, the value of the target App is 1, when the value of the target service_id is 1, the target Service is video on demand, and when the value of the target app_id is 1, the target application is a messenger video.
S404, the data storage system screens out a target quality information set meeting the information screening condition from the stored candidate quality information based on the request terminal address and the target service identifier.
In the embodiment of the application, for each candidate quality information in each candidate quality information, the data storage system can select the candidate quality information meeting the information screening condition from each candidate quality information as target quality information by comparing the request terminal address with the target service identifier and the shared terminal address and the candidate service identifier contained in the candidate quality information, thereby obtaining a target quality information set.
When the data storage system is a distributed cloud storage system, the client of the distributed cloud storage system screens out a target quality information set meeting the information screening condition from the stored candidate quality information based on the address of the request terminal and the target service identifier. When the data storage system is a block chain system, a maintenance node which receives the data request message screens out a target quality information set which accords with the information screening condition from the stored candidate quality information based on the request terminal address and the target service identifier.
Specifically, the data storage system may screen out candidate quality information satisfying two conditions simultaneously from the stored candidate quality information, as a target quality information set meeting the information screening conditions:
Condition one: the similarity between the shared terminal address and the request terminal address contained in the candidate quality information satisfies a set similarity condition.
Specifically, when the similarity between a shared terminal address and a request terminal address satisfies any one of the following conditions, it is determined that the similarity between the shared terminal address and the request terminal address satisfies the set similarity condition:
condition one (1): and determining that the corresponding candidate data sharing terminal and the data requesting terminal are positioned in the same geographic position range based on the sharing terminal address and the requesting terminal address.
The same geographical location range may refer to the same city, the same province, or the same city, but is not limited thereto. As one possible implementation manner, the data storage system determines the geographic position corresponding to the IP address based on the preset correspondence between the IP address range and the geographic position, and as another possible implementation manner, geographic position identification can be performed on the IP address based on deep learning, and it is to be noted that the manner of determining the geographic position based on the IP address in the embodiment of the present application is not limited, and is not described herein.
For example, the candidate quality information is quality information 1, and the shared terminal address included in the quality information 1 is the IP address of the terminal 1: 66, the request terminal address carried in the data request message 1 is the IP address of the terminal 4: and (56) assuming that the same geographical location range is the same province, the shared terminal address represents that the terminal 1 is located in Tianjin, and the request terminal address represents that the terminal 4 is located in Tianjin.
For another example, the candidate quality information is quality information 3, and the shared terminal address included in the quality information 3 is the IP address of the terminal 2: the request terminal address carried in the data request message 1 is the IP address of the terminal 4: and (56) assuming that the same geographical location range is the same province, the shared terminal address represents that the terminal 2 is located in beijing city, the request terminal address represents that the terminal 4 is located in Tianjin city, and obviously, the data storage system can determine that the terminal 2 and the terminal 4 are located in different provinces based on the shared terminal address and the request terminal address, so that the similarity between the shared terminal address and the request terminal address does not meet the set similarity condition.
Condition one (2): the shared terminal address and the request terminal address determine that the network access modes of the corresponding candidate data shared terminal and the data request terminal are the same.
The network access manner includes, but is not limited to, wiFi, fourth generation mobile communication technology (4th Generation Mobile Communication Technology,4G), fifth generation mobile communication technology (5th Generation Mobile Communication Technology,5G), and the like. In the embodiment of the application, the mode of determining the network access mode based on the IP address is not limited.
For example, the candidate quality information is quality information 1, and the shared terminal address included in the quality information 1 is the IP address of the terminal 1: 66, the request terminal address carried in the data request message 1 is the IP address of the terminal 4: and (56) assuming that the network access mode of the shared terminal address representing the terminal 1 is WiFi, and the network access mode of the request terminal address representing the terminal 4 is WiFi, it is obvious that the data storage system can determine that the network access modes of the terminal 1 and the terminal 4 are the same based on the shared terminal address and the request terminal address, and further determine that the similarity between the shared terminal address and the request terminal address meets the set similarity condition.
For another example, the candidate quality information is quality information 3, and the shared terminal address included in the quality information 3 is the IP address of the terminal 2: the request terminal address carried in the data request message 1 is the IP address of the terminal 4: and (56) assuming that the network access mode of the shared terminal address representing the terminal 2 is WiFi, and the network access mode of the request terminal address representing the terminal 4 is 5G, it is obvious that the data storage system can determine that the network access modes of the terminal 2 and the terminal 4 are different based on the shared terminal address and the request terminal address, and further determine that the similarity between the shared terminal address and the request terminal address does not meet the set similarity condition.
Condition one (3): and determining that the corresponding candidate data sharing terminal and the data request terminal are positioned in the same geographic position range based on the sharing terminal address and the request terminal address, wherein the network access modes of the corresponding candidate data sharing terminal and the data request terminal are the same. See in particular condition one (1) and condition one (2), which are not described in detail here.
By the implementation mode, whether the candidate data sharing terminal is in a similar network environment with the data request terminal or not can be measured from the aspects of geographic position, network access mode and the like, so that screening accuracy of target quality information is improved.
Condition II: the candidate service identifier contained in the candidate quality information is the same as the target service identifier. And when the candidate service identification is the same as the target service identification, the candidate service is characterized as the same as the target service. In the embodiment of the application, the candidate service identifier and the target service identifier are only described by taking the same identification mode as an example, in the practical application process, the candidate service identifier and the target service identifier can also adopt different identification modes, for example, the candidate service identifier adopts a digital identifier, the target service identifier adopts a letter identifier, and if the candidate service identifier and the target service identifier adopt different identification modes, the candidate service represented by the candidate service identifier and the target service represented by the target service identifier are the same.
For example, the target service identifier is 1, that is, the target service is video on demand, and the candidate quality information includes quality information 1, quality information 2 and quality information 3, where the quality information 1 and the quality information 2 are uploaded by the terminal 1, the quality information 3 is uploaded by the terminal 2, the candidate service identifier included in the quality information 1 is 1, the candidate service identifier included in the quality information 2 is 1, and the candidate service identifier included in the quality information 3 is 1, and obviously, the candidate service identifiers included in the quality information 1 and the quality information 3 are the same as the target service identifier. Assuming that the similarity between the shared terminal address and the request terminal address contained in each of the quality information 1 and the quality information 2 satisfies the set similarity condition, and the similarity between the shared terminal address and the request terminal address contained in the quality information 3 does not satisfy the set similarity condition, then the candidate quality information satisfying both the condition one and the condition two is quality information 1, and the quality information 1 is taken as target quality information.
According to the implementation mode, the candidate quality information of the candidate data sharing terminal which is in a similar network environment and has the same service with the data requesting terminal can be screened out, so that the service quality evaluation value contained in the screened candidate quality information can be adapted to the network environment of the data requesting terminal, and the selected cloud service provider can provide better service experience for the data requesting terminal.
In one embodiment, if there is no candidate quality information satisfying both the first and second conditions in the stored candidate quality information, candidate quality information satisfying either the first or second conditions may be screened out as target quality information satisfying the information screening condition, thereby obtaining a target quality information set. The process of screening the candidate quality information satisfying the first condition or the second condition is similar to the process of screening the candidate quality information satisfying the first condition and the second condition, and will not be described herein.
In the embodiment of the present application, for convenience of description, a candidate data sharing terminal corresponding to the target quality information is used as the target data sharing terminal.
S405, the data storage system returns the target quality information set to the data request terminal.
And S406, the data request terminal screens out candidate cloud service providers meeting the preset quality conditions from the candidate cloud service providers based on the service quality evaluation values in the target quality information set to serve as target cloud service providers.
In one embodiment, the data request terminal may classify each target quality information based on the provider identifier included in each target quality information, so as to determine candidate cloud service providers to which each target quality information belongs, and further determine the target cloud service provider from the candidate cloud service providers according to the service quality evaluation values corresponding to each candidate cloud service provider.
Specifically, referring to fig. 8, a schematic flow chart of a first determination of a target cloud service provider according to an embodiment of the present application is shown, where the specific flow chart is as follows:
s4061a, the data request terminal determines at least one service quality evaluation value corresponding to each candidate cloud service provider based on the provider identifier included in each target quality information.
For example, referring to fig. 9, the target quality information includes: quality information 1, quality information 4, quality information 5, quality information 6, quality information 7, quality information 8, wherein, the provider identification that contains in quality information 1, quality information 4 and quality information 5 is 1, the provider identification that contains in quality information 6 and quality information 7 is 2, the provider identification that contains in quality information 8 is 3, the characteristic candidate cloud service provider is the messenger cloud when the provider identification is 1, the characteristic candidate cloud service provider is the china-saw cloud when the provider identification is 2, the characteristic candidate cloud service provider is the Arian cloud when the provider identification is 3, the data request terminal is based on the provider identification that each target quality information contains respectively, the service quality evaluation value that the messenger cloud corresponds includes: the quality of service evaluation values contained in the quality information 1, the quality information 4 and the quality information 5 respectively are respectively 0.9, 0.85 and 0.95, and the quality of service evaluation values corresponding to the cloud in the quality information 1, the quality of service evaluation values contained in the quality information 4 and the quality of service evaluation values contained in the quality information 5 respectively comprise: the quality of service evaluation values contained in the quality information 6 and the quality information 7 respectively, the quality of service evaluation values contained in the quality information 6 and the quality information 7 respectively are 0.8 and 0.7, and the quality of service evaluation values corresponding to the alicloud include: the quality of service evaluation value contained in the quality information 8 is 0.8.
And S4062a, the data request terminal obtains a corresponding total quality evaluation value based on at least one service quality evaluation value corresponding to each candidate cloud service provider.
Specifically, for each candidate cloud service provider, the data request terminal may use an average value of at least one quality of service evaluation value corresponding to the data request terminal as a total quality evaluation value corresponding to the data request terminal. In the embodiment of the present application, the average value is merely described as an example, but the present application is not limited thereto.
For example, still referring to fig. 9, the candidate cloud service provider includes: the data request terminal base Yu Tengxun cloud obtains total quality evaluation values (0.9+0.85+0.95)/3=0.9 corresponding to the Tencent cloud, then the data request terminal obtains total quality evaluation values (0.8+0.7)/2=0.75 corresponding to the Cinna cloud based on the Cinna cloud service quality evaluation values 0.8 and 0.7, and then the data request terminal obtains total quality evaluation value 0.8 corresponding to the Cinna cloud based on the Cinna cloud service quality evaluation values 0.8+0.7)/2=0.75.
And S4063a, the data request terminal screens out candidate cloud service providers meeting the preset quality condition from the candidate cloud service providers based on the obtained total quality evaluation values, and takes the candidate cloud service providers as target cloud service providers.
As a possible implementation manner, the data request terminal screens out candidate cloud service providers with optimal corresponding service quality from the candidate cloud service providers as target cloud service providers based on the obtained total quality evaluation values. Taking the example that the higher the service quality evaluation value is, the better the service quality is, the data request terminal can screen out the candidate cloud service provider with the highest service quality evaluation value from all candidate cloud service providers as a target cloud service provider.
For example, still referring to fig. 9, the total quality evaluation value corresponding to the flight cloud is 0.9, the total quality evaluation value corresponding to the cloud is 0.75, the total quality evaluation value corresponding to the ali cloud is 0.8, and the data request terminal screens the flight cloud with the highest service quality evaluation value from all candidate cloud service providers as the target cloud service provider.
By the implementation mode, the data request terminal can select a proper target cloud service provider aiming at target service, so that the self service experience is improved, and the user side QoE and other multiple indexes are improved.
In one embodiment, for the same service provided by the same cloud service provider, a certain difference in service quality of different application programs is considered, so that the target cloud service provider can be screened from the perspective of the application programs. The data request message carries the target application identifier of the target application program, and each target quality information comprises the candidate application identifier.
Specifically, referring to fig. 10, a flow chart of a second method for determining a target cloud service provider according to an embodiment of the present application is shown, where the specific flow chart is as follows:
s4061b, the data request terminal screens out a plurality of target quality information corresponding to the target application identifier from the target quality information based on the candidate application identifiers contained in the target quality information.
For example, referring to fig. 11, assume that the target application identifier is 1, i.e., the target application is a messenger video, and the target quality information includes: the method comprises the steps of quality information 1, quality information 4, quality information 5, quality information 6, quality information 7 and quality information 8, wherein candidate application identifiers contained in the quality information 1, the quality information 5, the quality information 7 and the quality information 8 are all 1, candidate application identifiers contained in the quality information 4 and the quality information 6 are all 2, when the candidate application identifier is 1, the candidate application program is represented as a vacation video, when the candidate application identifier is 2, the candidate application program is represented as a WeChat, the data request terminal screens out target quality information corresponding to the target application identifier from the target quality information based on the candidate application identifiers contained in the target quality information, and the target quality information corresponding to the target application identifier comprises the following components: quality information 1, quality information 5, quality information 7, quality information 8.
S4062b, the data request terminal determines at least one service quality evaluation value corresponding to each candidate cloud service provider from the screened multiple target quality information based on the provider identification contained in each target quality information.
For example, still referring to fig. 11, the data request terminal determines, based on the provider identifier included in each target quality information, the quality evaluation value corresponding to the flight cloud from the screened quality information 1, quality information 5, quality information 7, and quality information 8, including: the quality of service evaluation values contained in the quality information 1 and the quality information 5 respectively are 0.9 and 0.95, and the quality of service evaluation value corresponding to the cloud in the quality information 1 and the quality information 5 respectively comprises: the quality of service evaluation value 0.7 included in the quality information 7, the quality of service evaluation value corresponding to the alicloud includes: the quality of service evaluation value contained in the quality information 8 is 0.8.
S4063b, the data request terminal obtains a corresponding total quality evaluation value based on at least one service quality evaluation value corresponding to each candidate cloud service provider. See S4052a, which is not described here.
For example, still referring to fig. 11, the data request terminal obtains the total quality evaluation value (0.9+0.95)/2=0.925 corresponding to the Tencentrated cloud based on the quality evaluation values 0.9, 0.85, 0.95 corresponding to the Tencentrated cloud, then the data request terminal obtains the total quality evaluation value 0.7 corresponding to the Cincentrated cloud based on the quality evaluation value 0.7 corresponding to the Cincentrated cloud, and then the data request terminal obtains the total quality evaluation value 0.8 corresponding to the Cincentrated cloud based on the 0.8 corresponding to the Cincentrated cloud.
And S4064b, the data request terminal screens out candidate cloud service providers meeting the preset quality condition from the candidate cloud service providers based on the obtained total quality evaluation values, and takes the candidate cloud service providers as target cloud service providers. See S4053a, which is not described here.
For example, still referring to fig. 11, the total quality evaluation value corresponding to the flight cloud is 0.925, the total quality evaluation value corresponding to the cloud is 0.7, the total quality evaluation value corresponding to the ori cloud is 0.8, and the data request terminal screens the flight cloud with the highest service quality evaluation value from all candidate cloud service providers as the target cloud service provider.
Through the implementation manner, different target cloud service providers can be selected for different application programs in the face of the same service, so that the cloud service providers are adapted to the application programs, the service performance is further improved, and the service quality of the terminal is further improved.
In some embodiments, to improve communication security, a key may be used to encrypt information that is interacted with during communication. The encryption mechanism relates to encryption of communication between the data sharing terminal and the data storage system, and encryption of communication between the data requesting terminal and the data storage system, and the key use procedures involved in the present application will be described below, respectively.
Referring to fig. 12, a data sharing terminal x holds a sharing terminal private Key (key_usr_pri) and a sharing terminal public Key (key_usr_pub), wherein key_usr_pub is disclosed to a data storage system and a data requesting terminal. The data request terminal holds a request terminal private Key (Key_client_req_pri) and a request terminal public Key (Key_client_req_pub), wherein Key_client_req_pub is disclosed to the data storage system and the data sharing terminal.
For each candidate quality information in the at least one candidate quality information, the data sharing terminal x may encrypt key data in the candidate quality information and then upload the encrypted candidate quality information to the data storage system. Next, a communication encryption process between the data sharing terminal and the data storage system will be described using one candidate quality information as an example.
The key data includes a quality of service evaluation value, and may further include one or more of a provider identifier and an application identifier, and hereinafter, only the key data including the quality of service evaluation value, the provider identifier and the application identifier will be described as an example.
Before reporting the candidate quality information to the Data storage system, the Data sharing terminal x encrypts the Key Data by using a shared Key (key_share) to obtain encrypted Key Data (data_client), wherein the key_share is generated based on key_usr_pri. That is, in the candidate service_info reported by the data sharing terminal x, the client_ip and the service_id are not encrypted, and the cdn_id, the app_id, and the client_qoe are encrypted by the shared Key.
Specifically, the candidate quality information further includes a timestamp, and the data sharing terminal can splice the key_usr_pri, the client_ip, the service_id and the timestamp to obtain a spliced character string, and then hash the spliced character string to obtain the key_share.
Illustratively, data_client can be calculated using the following equation (1):
Data_client=enc (key_share, CDN_ID App_ID Client QoE) formula (1)
Where the function Enc (α, β) represents encrypting the data β using the key α, and the symbol "||" represents the concatenation operation.
Key_share can be calculated using the following equation (2):
Key_share=Hash (Key_usr_pri_client_IP_service_ID_Time) formula (2)
Where the function Hash () represents a Hash operation, time represents a Time stamp, and the symbol "||" represents a concatenation operation. The hash operation may be implemented by direct addressing, digital analysis, remainder removal, etc., but is not limited thereto.
Taking the quality information 1 as an example, referring to fig. 13A, assuming that the Time is 1671010697, the data sharing terminal x first splices the key_usr_pri, the client_ip, the service_id, and the Time to obtain a spliced string, and then hashes the spliced string to obtain the key_share. Then, the Data sharing terminal x splices the CDN_ID, the App_ID and the client_QoE to obtain Key Data, and encrypts the Key Data by adopting the Key_share to obtain the data_client. Referring to fig. 13B, quality information 1 reported by the Data sharing terminal x includes client_ip, service_id, data_client and Time.
Obviously, by encrypting the key data, the problem of data leakage can be avoided, so that the safety of the data in the transmission and subsequent storage processes is improved.
In order to further provide communication security, to prevent the transmitted data from being tampered or lost, the candidate quality information may further include first signature information (sign_usr) of the data sharing terminal x.
Specifically, the Data sharing terminal x may splice the client_ip, the device_id, the data_client, and the Time to obtain a signature string, and then Sign the signature string with the key_usr_pri to obtain the sign_usr of the sharing terminal x.
Illustratively, sign_usr may be calculated using the following equation (3):
Sign_usr=sign (key_usr_pri, client_ip_service_id_id_data_client_time) formula (3)
Wherein Sign (a, b) represents the calculation of the signature value using the key a and the data b, and the symbol "||" represents the concatenation operation.
For example, referring to fig. 14, after the Data sharing terminal x splices the client_ip, the device_id, the data_client, and the Time, a signature string is obtained, and then the signature string is signed by using the key_usr_pri, so as to obtain the first signature information of the sharing terminal x. In fig. 14, the quality information 1 includes client_ip, service_id, data_client, time, sign_usr.
The composition of the candidate quality information reported by the data sharing terminal is shown in formula (4):
Service_info={Client_IP,Service_ID,Data_client,Time,Sign_usr} (4)
After receiving the candidate quality information from the data sharing terminal x, the data storage system may reply to the data sharing terminal x with a message confirmation message, and verify sign_usr carried in the candidate quality information. And if the verification result indicates that the sign_usr passes verification, storing the candidate quality information.
For example, referring to fig. 15, the Data storage system may splice the shared terminal addresses client_ip, service_id, data_client, and Time included in the quality information 1 to obtain a string to be verified, decrypt sign_usr included in the quality information 1 by using key_usr_pub to obtain a signature string, and then compare whether the string to be verified is consistent with the signature string, if so, determine that the sign_usr passes verification, or determine that the sign_usr fails verification.
In some embodiments, the data request message carries third signature information (sign_usr_req) of the data request terminal, which may be generated by:
The data request terminal obtains third signature information by requesting a terminal private key and combining the client_IP_req, the service_ID and the App_ID.
Illustratively, sign_usr_req can be calculated using equation (5):
Sign_usr_req=sign (key_client_req_pri, client_ip_req|service_id|app_id) formula (5)
Wherein Sign (a, b) represents the calculation of the signature value using the key a and the data b.
Correspondingly, after receiving ssg_req, the maintenance node of the data storage system uses the request terminal public key of the data request terminal to verify the third signature information, and if the verification is passed, the data request message is broadcast to other maintenance nodes. After receiving the data request message, the other maintenance nodes verify the third signature information by using the public key of the request terminal. When each maintenance node reaches consensus, the data request message is stored in the distributed account book. The process of verifying the third signature information is similar to the process of verifying the first signature information, and will not be described again.
In some embodiments, the data storage system uses candidate data sharing terminals corresponding to each target quality information in the target quality information set as at least one target data sharing terminal, and sends key request messages to the at least one target data sharing terminal respectively, where the key request messages carry the request terminal addresses; and then, receiving the public key returned by each of the at least one target data sharing terminal, and sending the public key returned by each of the at least one target data sharing terminal to the data request terminal.
Taking the data sharing terminal x as an example, after the data storage system determines that the data sharing terminal x is a target data sharing terminal, a key request message (pkt_key_req) is sent to the data sharing terminal x, where the key request message carries a request terminal address of the data requesting terminal. The key request message further contains service_id and Time in the screened target quality information, and considering that the terminal has mobility, the key request message further contains client_ip in the target quality information.
Specifically, after receiving the Key request message, the data sharing terminal x may firstly calculate, according to the client_ip, service_id and Time carried in the Key request message and by combining its own shared terminal private Key, by using formula (2) to obtain a shared Key, secondly obtain, according to the request terminal address carried in the Key request message, a request terminal public Key of the data requesting terminal, and then encrypt, based on the request terminal public Key, the shared Key to obtain a public Key (key_share_enc), and then return, to the data storage system, a Key response message (pkt_key_ack), where the Key response message carries the public Key.
Illustratively, the public key may be calculated using equation (6):
keyshare enc=enc (keyclient req pub, keyshare) formula (6)
For example, referring to fig. 16, the key request message includes the address of the requesting terminal: 56, client_ip: 66, service_id:1 (video on demand) and Time1671010697, the data sharing terminal x calculates to obtain a shared key by adopting a formula (2) according to the client_ip, service_id and Time carried in the key request message and by combining the shared terminal private key of the data sharing terminal x, then obtains a request terminal public key of the data requesting terminal according to a request terminal address 111.33..56 carried in the key request message, and then encrypts the shared key based on the request terminal public key to obtain a public key.
In some embodiments, the key response message further includes second signature information (sign_client_share) of the data sharing terminal x. Specifically, the second signature information may be generated by:
the data sharing terminal x signs the key response message by adopting a sharing terminal private key to obtain second signature information.
Illustratively, sign_client_share can be calculated using equation (7):
sign_client_share=sign (key_usr_pri, pkt_key_ack) formula (7)
Correspondingly, after receiving the key response message, the data storage system adopts the shared terminal public key to verify the second signature information carried in the key response message, and when the second signature information passes the verification, the public key is extracted from the key response message, and the public key and the target quality information are sent to the data request terminal. Specifically, the data storage system may decrypt the second signature information carried in the key response message by using the shared terminal public key, to obtain a message to be verified, then compare the message to be verified with the key response message, if the message to be verified is consistent with the key response message, determine that the second signature information passes the verification, otherwise determine that the second signature information fails the verification.
After receiving the key response message, the maintenance node of the data storage system uses the shared terminal public key to check the second signature information, and if the second signature information passes the check, the maintenance node broadcasts the key response message to other maintenance nodes. After receiving the data request message, the other maintenance nodes verify the second signature information by using the shared terminal public key. When each maintenance node achieves consensus, the public key carried by the key response message can be stored in the distributed account book.
In some embodiments, the data storage system may send the public key to the data requesting terminal along with the target quality information set.
In some embodiments, the data request terminal receives the respective public key keys sent by the at least one target data sharing terminal to the data request terminal through the data storage system, and then obtains the decrypted key data based on the respective public key keys of the at least one data sharing terminal. The data sharing terminal x will be described as an example.
Specifically, after the data request terminal receives the target quality information and the public key returned by the data storage system, the following steps can be adopted to obtain key data such as a service quality evaluation value:
And step A, the data request terminal adopts the private key of the request terminal to decrypt the public key and obtain the shared key. Illustratively, the shared Key key_share may be calculated using equation (8):
key_share=dec (key_client_req_pri, key_share_enc) formula (8)
Where Dec (a, b) represents decrypting data b using private key a.
And B, decrypting the data_client in the target quality information by using the shared secret key by the Data request terminal to obtain key Data. The key data includes: cdn_id, app_id, and client_qoe.
For example, referring to fig. 17, the Data request terminal decrypts the public key with the private key of the request terminal to obtain the shared key, and then decrypts the data_client in the target quality information with the shared key to obtain the key Data, where the key Data includes: cdn_id: 1. app_id:1 and client_qoe:0.9.
In some embodiments, the data storage system may also automatically issue rewards to data sharing terminals participating in data sharing in a timely manner through smart contract technology. Rewards include, but are not limited to, points, electronic resources, and the like. And when the data storage system receives the candidate quality information uploaded by the data sharing terminal x or the data storage system determines that the candidate quality information uploaded by the data sharing terminal x is the target quality information, rewards are issued to the data sharing terminal x through an intelligent contract technology, so that more terminals are stimulated to participate in data sharing.
The application will now be described with reference to a specific example.
Referring to fig. 18, the candidate data sharing terminals include a terminal 1 and a terminal 2, and the data requesting terminal is a terminal 5. The terminal 1 and the terminal 2 upload respective candidate quality information through the maintenance node 1, and the terminal 5 acquires a target quality information set through the maintenance node 4.
Specifically, referring to fig. 19, the interaction process between the terminal 1, the terminal 2, the terminal 5 and the data storage system is as follows:
s1901, terminal 1 and terminal 2 upload the respective candidate quality information to the data storage system, respectively. The candidate quality information uploaded by the terminal 1 is quality information 1, and the candidate quality information uploaded by the terminal 1 is quality information 3.
Specifically, terminal 1 is based on client_ip: 66, service_id:1 and the terminal 1 shares the terminal private key 1, the shared key 1 is calculated by adopting the formula (1), and then, based on the shared key 1, the CDN_ID is combined: 1, app_id:1, client_qoe:0.9, time:1671010697, calculating by using a formula (2) to obtain first signature information 1, and then obtaining quality information 1 based on the first signature information 1, wherein the quality information 1 comprises: { CDN_ID:1, service_id:1, app_id:1, client_ip: 66, client_qoe:0.9, time:1671010697, first signature information 1}, then, the quality information 1 is uploaded to the maintenance node 1.
Terminal 2 is based on client_ip: 117.113.66, service_id:1 and the terminal 2 shares the terminal private key 1, calculate the shared key 2 by adopting the formula (1), and then combine the cdn_id based on the shared key 2: 1, app_id:1, client_qoe:0.7, time:1671010697, calculating by using a formula (2) to obtain first signature information 3, and then obtaining quality information 3 based on the first signature information 2, wherein the quality information 3 comprises: { CDN_ID:1, service_id:2, app_id:2, client_ip: 117.113.66, client_qoe:0.7, time:1671010697, first signature information 3}, then, the quality information 3 is uploaded to the maintenance node 1.
S1902, when the data storage system determines that the first signature information 1 carried in the quality information 1 passes the verification, the data storage system stores the quality information 1, and when the data storage system determines that the first signature information 3 carried in the quality information 3 passes the verification, the data storage system stores the quality information 3.
Specifically, after the maintenance node 1 verifies the first signature information 1, the quality information 1 is broadcast to the maintenance node 2, the maintenance node 3 and the maintenance node 4, and the maintenance node 2, the maintenance node 3 and the maintenance node 4 all verify the first signature information 1. When it is determined that consensus is reached among maintenance node 1, maintenance node 2, maintenance node 3, and maintenance node 4 based on the verification result, quality information 1 is recorded in the distributed ledger. Since the storage process of the quality information 3 is similar to that of the quality information 1, the description thereof will be omitted. The verification process of the first signature information 1 and the first signature information 3 is shown in fig. 15.
S1903, the maintenance node 1 returns message confirmation messages to the terminal 1 and the terminal 2, respectively.
S1904, the terminal 5 sends a data request message to the maintenance node 4 in the data storage system. The data request message carries the request terminal address, the target service identifier of the target service, the target application identifier of the target application program and the third signature information.
Specifically, the data request terminal sends a data request message to the maintenance node 4 in the data storage system. The IP address of the terminal 5 is 117.113. The third signature information is calculated by the data request terminal based on the request terminal address, the target service identifier, the target application identifier and the request terminal private key by adopting a formula (5).
And S1905, when the data storage system determines that the third signature information passes the verification, storing the data request message.
Specifically, after the maintenance node 4 verifies the third signature information, the data request message is broadcast to the maintenance node 1, the maintenance node 2 and the maintenance node 3, and the maintenance node 1, the maintenance node 2 and the maintenance node 3 all verify the third signature information. When it is determined that consensus is reached among maintenance node 1, maintenance node 2, maintenance node 3, and maintenance node 4 based on the verification result, the data request message is recorded in the distributed ledger.
S1906, the maintenance node 1 screens the quality information 3 from the stored candidate quality information based on the request terminal address and the target service identifier, and uses the quality information 3 as the target quality information. I.e. the target data sharing terminal is terminal 2. See S404 specifically, and will not be described in detail herein.
S1907, the maintenance node 1 sends a key request message to the terminal 2, where the key request message carries the IP address of the terminal 5 and further carries the service_id and Time in the quality information 3.
S1908, the terminal 2 returns a key response message to the maintenance node 1, where the key response message carries the public key and the second signature information. The generation of the public key is described above.
And S1909, when the data storage system determines that the second signature information passes the verification, storing the public key.
Specifically, after the maintenance node 1 verifies the second signature information, the data request message is broadcast to the maintenance node 2, the maintenance node 3 and the maintenance node 4, and the maintenance node 2, the maintenance node 3 and the maintenance node 4 all verify the second signature information. When it is determined that consensus is reached among maintenance node 1, maintenance node 2, maintenance node 3, and maintenance node 4 based on the verification result, the public key is recorded in the distributed ledger. And the target quality information set and the public key will be returned to the terminal 5 by the maintenance node 4.
S1910, the data storage system returns the quality information 3 and the public key to the terminal 5 through the maintenance node 4.
S1911, the terminal 5 obtains the shared key 2 based on the public key and the private key of the requesting terminal, and decrypts to obtain the service quality evaluation value in the quality information 3 based on the shared key 2.
And S1912, the terminal 5 screens out candidate cloud service providers meeting the preset quality condition from the candidate cloud service providers based on the service quality evaluation value, and takes the candidate cloud service providers as target cloud service providers. See in particular S406.
Based on the same inventive concept, the embodiment of the application provides a service provider selection device. As shown in fig. 20, which is a schematic structural diagram of the service provider selection apparatus 2000, may include:
A sending unit 2001, configured to send a data request message to a data storage system, where the data request message carries a request terminal address of the data request terminal and a target service identifier of a target service;
A receiving unit 2002, configured to receive a target quality information set meeting an information screening condition uploaded by at least one target data sharing terminal returned by the data storage system based on the address of the requesting terminal and the target service identifier, where each target quality information includes: a quality of service assessment value for the target service for a candidate cloud service provider;
And a screening unit 2003, configured to screen, from the candidate cloud service providers, candidate cloud service providers that meet a preset quality condition as target cloud service providers based on the quality evaluation values of the target quality information set.
As a possible implementation manner, each piece of target quality information further includes a provider identifier of the candidate cloud service provider;
The screening unit 2003 is specifically configured to, when screening candidate cloud service providers meeting a preset quality condition from the candidate cloud service providers based on the quality evaluation values of the target quality information set as target cloud service providers:
determining at least one service quality evaluation value corresponding to each candidate cloud service provider based on the provider identifier contained in each target quality information, and obtaining a corresponding total quality evaluation value based on the at least one service quality evaluation value corresponding to each candidate cloud service provider;
and screening candidate cloud service providers meeting preset quality conditions from the candidate cloud service providers based on the obtained total quality evaluation values, and taking the candidate cloud service providers as target cloud service providers.
As a possible implementation manner, the data request message also carries a target application identifier of a target application program, and each target quality information also contains a candidate application identifier;
the screening unit 2003 is specifically configured to, when determining at least one service quality evaluation value corresponding to each candidate cloud service provider based on the provider identifier included in each target quality information,:
Screening out a plurality of target quality information corresponding to the target application identifiers from the target quality information based on candidate application identifiers contained in the target quality information;
And determining at least one service quality evaluation value corresponding to each candidate cloud service provider from the screened multiple target quality information based on the provider identification contained in each target quality information.
As a possible implementation manner, the key data contained in each target quality information is encrypted by adopting the shared key of the corresponding target data sharing terminal, and the key data at least comprises a service quality evaluation value;
The screening unit 2003 is further configured to, after the sending of the data request message to the data storage system, screen out candidate cloud service providers meeting the preset quality condition from the candidate cloud service providers based on the quality of service evaluation values in the target quality information set, before the candidate cloud service providers are used as the target cloud service providers:
receiving respective public key keys sent to the data request terminal by the at least one target data sharing terminal through a data storage system, wherein each public key is obtained based on a corresponding sharing key;
and obtaining each decrypted key data based on the public key of each data sharing terminal.
As a possible implementation manner, each public key is obtained by encrypting the own shared key by adopting the request terminal public key of the data request terminal by the corresponding target data sharing terminal;
the screening unit 2003 is specifically configured to, when obtaining each decrypted key data based on the public key of each of the at least one data sharing terminal:
decrypting the received at least one public key by adopting a request terminal private key of the data request terminal to obtain respective shared keys of the at least one target data sharing terminal;
And decrypting the encrypted key information by adopting the obtained at least one shared key to obtain each piece of decrypted key data.
Based on the same inventive concept, the embodiment of the application provides a service provider selection device. As shown in fig. 21, which is a schematic structural diagram of the service provider selection apparatus 2100, may include:
a storage unit 2101, configured to receive and store at least one candidate quality information uploaded by each candidate data sharing terminal, where each candidate quality information at least includes: a quality of service assessment value for a candidate service of a candidate cloud service provider;
A screening unit 2102, configured to screen, when a data request message sent by a data request terminal is received, a target quality information set meeting an information screening condition from stored candidate quality information based on a request terminal address of the data request terminal and a target service identifier of a target service carried in the data request message;
And the sending unit 2103 returns the target quality information set to the data request terminal, so that the data request terminal screens out candidate cloud service providers meeting the preset quality condition from all candidate cloud service providers as target cloud service providers based on the service quality evaluation value in the target quality information set.
As a possible implementation manner, each candidate quality information further includes a shared terminal address of the corresponding candidate data sharing terminal and a candidate service identifier of the one candidate service;
The screening unit 2102 is specifically configured to, when screening out a target quality information set meeting an information screening condition from the stored candidate quality information based on a request terminal address of the data request terminal and a target service identifier of a target service carried in the data request message:
screening out at least one candidate quality information which contains the same candidate service identifier as the target service identifier and is used as a target quality information set meeting the information screening condition, wherein the similarity between the contained shared terminal address and the request terminal address meets the set similarity condition.
As a possible implementation, the screening unit 2102 is further configured to:
Determining that the similarity between the shared terminal address and the request terminal address meets a set similarity condition when the corresponding candidate data shared terminal and the data request terminal are determined to be positioned in the same geographic position range based on the shared terminal address and the request terminal address;
When the shared terminal address and the request terminal address determine that the corresponding candidate data shared terminal and the network access mode of the data request terminal are the same, determining that the similarity between the shared terminal address and the request terminal address meets the set similarity condition;
And determining that the similarity between the shared terminal address and the request terminal address meets a set similarity condition when the corresponding candidate data shared terminal and the data request terminal are positioned in the same geographic position range and the network access mode of the corresponding candidate data shared terminal and the data request terminal is the same based on the shared terminal address and the request terminal address.
As a possible implementation manner, the sending unit 2103 is further configured to use, as at least one target data sharing terminal, a candidate data sharing terminal corresponding to each target quality information in the target quality information set, and send a key request message to the at least one target data sharing terminal, where the key request message carries the address of the request terminal;
The storage unit 2101 is further configured to receive public key keys returned by the at least one target data sharing terminal, where each public key is obtained by encrypting a shared key of the corresponding target data sharing terminal by using a public key of the requesting terminal, and the public key of the requesting terminal is obtained based on the address of the requesting terminal;
And the sending unit 2103 is further configured to send the public key returned by each of the at least one target data sharing terminal to the data request terminal, so that the data request terminal obtains each decrypted target quality information through each public key.
As one possible implementation, the data storage device maintains nodes for any one of the blockchain systems;
the storage unit 2101 is specifically configured to, when receiving and storing at least one candidate quality information uploaded by each candidate data sharing terminal:
Broadcasting the received quality information of each candidate to other maintenance nodes in the block chain after receiving at least one quality information of each candidate uploaded by each candidate data sharing terminal;
And after consensus with the other maintenance nodes is achieved, storing the candidate quality information into a distributed account book.
As a possible implementation manner, when receiving at least one candidate quality information uploaded by each candidate data sharing terminal, the storage unit 2101 is further configured to:
receiving signature information corresponding to each candidate quality information, wherein the signature information is generated based on a sharing terminal private key of each candidate data sharing terminal;
And when the signature information of each candidate data sharing terminal passes the verification based on the public key of the sharing terminal of each candidate data sharing terminal, storing at least one piece of candidate quality information uploaded by each candidate data sharing terminal.
For convenience of description, the above parts are described as being functionally divided into modules (or units) respectively. Of course, the functions of each module (or unit) may be implemented in the same piece or pieces of software or hardware when implementing the present application.
The specific manner in which the respective units execute the requests in the apparatus of the above embodiment has been described in detail in the embodiment concerning the method, and will not be described in detail here.
Those skilled in the art will appreciate that the various aspects of the application may be implemented as a system, method, or program product. Accordingly, aspects of the application may be embodied in the following forms, namely: an entirely hardware embodiment, an entirely software embodiment (including firmware, micro-code, etc.) or an embodiment combining hardware and software aspects may be referred to herein as a "circuit," module "or" system.
Based on the same inventive concept, the embodiment of the application also provides electronic equipment. In one embodiment, the electronic device may be a server or a terminal device. Referring to fig. 22, which is a schematic structural diagram of one possible electronic device provided in an embodiment of the present application, in fig. 22, an electronic device 2200 includes: a processor 2210 and a memory 2220.
The memory 2220 stores a computer program executable by the processor 2210, and the processor 2210 can execute the steps of the service provider selection method described above by executing instructions stored in the memory 2220.
Memory 2220 may be volatile memory (RAM), such as random-access memory (RAM); the Memory 2220 may also be a nonvolatile Memory (non-volatile Memory), such as Read-Only Memory (ROM), flash Memory (flash Memory), hard disk (HARD DISK DRIVE, HDD) or solid state disk (solid-state disk) (STATE DRIVE, SSD); or memory 2220 is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to such. Memory 2220 may also be a combination of the above.
The processor 2210 may include one or more central processing units (central processing unit, CPUs) or digital processing units, or the like. A processor 2210 for implementing the above-described service provider selection method when executing the computer program stored in the memory 2220.
In some embodiments, processor 2210 and memory 2220 may be implemented on the same chip, or they may be implemented separately on separate chips in some embodiments.
The specific connection medium between the processor 2210 and the memory 2220 is not limited to the specific connection medium described above in the embodiment of the present application. In the embodiment of the present application, the processor 2210 and the memory 2220 are connected by a bus, and the bus is depicted in fig. 22 by a thick line, and the connection manner between other components is only schematically illustrated, but not limited thereto. The buses may be divided into address buses, data buses, control buses, etc. For ease of description, only one thick line is depicted in fig. 22, but only one bus or one type of bus is not depicted.
Based on the same inventive concept, an embodiment of the present application provides a computer readable storage medium comprising a computer program for causing an electronic device to perform the steps of the above-mentioned service provider selection method when the computer program is run on the electronic device. In some possible embodiments, aspects of the service provider selection method provided by the present application may also be implemented in the form of a program product comprising a computer program for causing an electronic device to perform the steps of the service provider selection method described above, when the program product is run on the electronic device, e.g. the electronic device may perform the steps as shown in fig. 4.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium would include the following: an electrical connection having one or more wires, a portable disk, a hard disk, a RAM, a ROM, an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (Compact Disk Read Only Memory, CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The program product of embodiments of the present application may take the form of a CD-ROM and comprise a computer program and may run on an electronic device. However, the program product of the present application is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a computer program for use by or in connection with a command execution system, apparatus, or device.
The readable signal medium may comprise a data signal propagated in baseband or as part of a carrier wave in which a readable computer program is embodied. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a computer program for use by or in connection with a command execution system, apparatus, or device.
While preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted as including the preferred embodiments and all such alterations and modifications as fall within the scope of the application.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the spirit or scope of the application. Thus, it is intended that the present application also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (16)

1. A service provider selection method, applied to a data request terminal, comprising:
Transmitting a data request message to a data storage system, wherein the data request message carries a request terminal address of the data request terminal and a target service identifier of a target service;
Receiving a target quality information set which is uploaded by the data storage system based on the request terminal address and the target service identifier and meets the information screening condition by at least one target data sharing terminal, wherein each target quality information set comprises: a quality of service assessment value for the target service for a candidate cloud service provider;
And screening candidate cloud service providers meeting preset quality conditions from the candidate cloud service providers based on the service quality evaluation values in the target quality information set to serve as target cloud service providers.
2. The method of claim 1, wherein each target quality information further comprises a provider identification of the one candidate cloud service provider;
Screening candidate cloud service providers meeting a preset quality condition from the candidate cloud service providers based on the service quality evaluation values in the target quality information set as target cloud service providers, including:
determining at least one service quality evaluation value corresponding to each candidate cloud service provider based on the provider identifier contained in each target quality information, and obtaining a corresponding total quality evaluation value based on the at least one service quality evaluation value corresponding to each candidate cloud service provider;
and screening candidate cloud service providers meeting preset quality conditions from the candidate cloud service providers based on the obtained total quality evaluation values, and taking the candidate cloud service providers as target cloud service providers.
3. The method of claim 2, wherein the data request message further carries a target application identifier of a target application program, and each target quality information further comprises a candidate application identifier;
Determining at least one service quality evaluation value corresponding to each candidate cloud service provider based on the provider identification contained in each target quality information, including:
Screening out a plurality of target quality information corresponding to the target application identifiers from the target quality information based on candidate application identifiers contained in the target quality information;
And determining at least one service quality evaluation value corresponding to each candidate cloud service provider from the screened multiple target quality information based on the provider identification contained in each target quality information.
4. A method according to claim 1,2 or 3, wherein the key data contained in each target quality information piece is encrypted using the shared key of the corresponding target data sharing terminal, the key data including at least a quality of service evaluation value;
And after the data request message is sent to the data storage system, before screening candidate cloud service providers meeting a preset quality condition from the candidate cloud service providers based on the service quality evaluation values in the target quality information set, the method further comprises the steps of:
receiving respective public key keys sent to the data request terminal by the at least one target data sharing terminal through a data storage system, wherein each public key is obtained based on a corresponding sharing key;
and obtaining each decrypted key data based on the public key of each data sharing terminal.
5. The method of claim 4, wherein each public key is obtained by encrypting its own shared key by the corresponding target data sharing terminal using the requesting terminal public key of the data requesting terminal;
obtaining each decrypted key data based on the public key of each data sharing terminal, including:
decrypting the received at least one public key by adopting a request terminal private key of the data request terminal to obtain respective shared keys of the at least one target data sharing terminal;
And decrypting the encrypted key information by adopting the obtained at least one shared key to obtain each piece of decrypted key data.
6. A service provider selection method for use with a data storage device in a data storage system, the method comprising:
Receiving and storing at least one piece of candidate quality information uploaded by each candidate data sharing terminal, wherein each piece of candidate quality information at least comprises: a quality of service assessment value for a candidate service of a candidate cloud service provider;
when a data request message sent by a data request terminal is received, screening a target quality information set meeting information screening conditions from stored candidate quality information based on a request terminal address of the data request terminal and a target service identifier of a target service carried in the data request message;
And returning the target quality information set to the data request terminal, so that the data request terminal screens out candidate cloud service providers meeting the preset quality condition from all candidate cloud service providers based on the service quality evaluation value in the target quality information set to serve as target cloud service providers.
7. The method of claim 6, wherein each candidate quality information further comprises a shared terminal address of a corresponding candidate data sharing terminal and a candidate service identifier of the one candidate service;
The screening a target quality information set meeting information screening conditions from the stored candidate quality information based on a request terminal address of the data request terminal and a target service identifier of a target service carried in the data request message, including:
screening out at least one candidate quality information which contains the same candidate service identifier as the target service identifier and is used as a target quality information set meeting the information screening condition, wherein the similarity between the contained shared terminal address and the request terminal address meets the set similarity condition.
8. The method of claim 7, wherein the satisfaction of the set similarity condition for the similarity between the shared terminal address and the requesting terminal address is determined by at least one of:
Determining that the similarity between the shared terminal address and the request terminal address meets a set similarity condition when the corresponding candidate data shared terminal and the data request terminal are determined to be positioned in the same geographic position range based on the shared terminal address and the request terminal address;
When the shared terminal address and the request terminal address determine that the corresponding candidate data shared terminal and the network access mode of the data request terminal are the same, determining that the similarity between the shared terminal address and the request terminal address meets the set similarity condition;
And determining that the similarity between the shared terminal address and the request terminal address meets a set similarity condition when the corresponding candidate data shared terminal and the data request terminal are positioned in the same geographic position range and the network access mode of the corresponding candidate data shared terminal and the data request terminal is the same based on the shared terminal address and the request terminal address.
9. The method as claimed in claim 6, 7 or 8, wherein after screening out a target quality information set meeting information screening conditions from the stored candidate quality information based on a request terminal address of the data request terminal and a target service identifier of a target service carried in the data request message, before returning the target quality information set to the data request terminal, the method further comprises:
candidate data sharing terminals corresponding to each target quality information in the target quality information set are used as at least one target data sharing terminal, key request messages are respectively sent to the at least one target data sharing terminal, and the key request messages carry the request terminal addresses;
receiving public key keys returned by the at least one target data sharing terminal, wherein each public key is obtained by encrypting a shared key of the corresponding target data sharing terminal by adopting a request terminal public key, and the request terminal public key is obtained based on the request terminal address;
And sending the public key returned by each of the at least one target data sharing terminal to the data request terminal so that the data request terminal obtains the decrypted quality information of each target through each public key.
10. The method of claim 6, 7 or 8, wherein the data storage device is any one of the maintenance nodes in the blockchain system;
The receiving and storing at least one candidate quality information uploaded by each candidate data sharing terminal respectively comprises the following steps:
Broadcasting the received quality information of each candidate to other maintenance nodes in the block chain after receiving at least one quality information of each candidate uploaded by each candidate data sharing terminal;
And after consensus with the other maintenance nodes is achieved, storing the candidate quality information into a distributed account book.
11. The method as claimed in claim 6, 7 or 8, wherein when receiving at least one candidate quality information uploaded by each candidate data sharing terminal, the method further comprises:
Receiving first signature information corresponding to each candidate quality information, wherein the first signature information is generated based on a sharing terminal private key of each candidate data sharing terminal;
storing at least one candidate quality information uploaded by each candidate data sharing terminal, including:
And when the first signature information of each candidate data sharing terminal passes the verification based on the public key of the sharing terminal of each candidate data sharing terminal, storing at least one piece of candidate quality information uploaded by each candidate data sharing terminal.
12. A service provider selection apparatus, comprising:
the sending unit is used for sending a data request message to the data storage system, wherein the data request message carries a request terminal address of the data request terminal and a target service identifier of a target service;
The receiving unit is used for receiving a target quality information set which is uploaded by the data storage system based on the request terminal address and the target service identifier and meets the information screening condition and is uploaded by at least one target data sharing terminal, and each target quality information set comprises: a quality of service assessment value for the target service for a candidate cloud service provider;
And the screening unit is used for screening candidate cloud service providers meeting the preset quality condition from the candidate cloud service providers based on the service quality evaluation values in the target quality information set to serve as target cloud service providers.
13. A service provider selection apparatus, comprising:
The storage unit is used for receiving and storing at least one piece of candidate quality information uploaded by each candidate data sharing terminal, and each piece of candidate quality information at least comprises: a quality of service assessment value for a candidate service of a candidate cloud service provider;
The screening unit is used for screening a target quality information set meeting information screening conditions from stored candidate quality information based on a request terminal address of the data request terminal and a target service identifier of a target service carried in the data request message when the data request message sent by the data request terminal is received;
and the sending unit returns the target quality information set to the data request terminal, so that the data request terminal screens out candidate cloud service providers meeting the preset quality condition from all candidate cloud service providers as target cloud service providers based on the service quality evaluation value in the target quality information set.
14. An electronic device comprising a processor and a memory, wherein the memory stores a computer program which, when executed by the processor, causes the processor to perform the steps of the method of any one of claims 1 to 5 or the steps of the method of any one of claims 6 to 11.
15. A computer readable storage medium, characterized in that it comprises a computer program for causing an electronic device to perform the steps of the method of any one of claims 1-5 or the steps of the method of any one of claims 6-11 when said computer program is run on the electronic device.
16. A computer program product, characterized in that it comprises a computer program stored in a computer readable storage medium, from which computer readable storage medium a processor of an electronic device reads and executes the computer program, causing the electronic device to perform the steps of the method according to any one of claims 1-5 or to perform the steps of the method according to any one of claims 6-11.
CN202211713313.2A 2022-12-29 2022-12-29 Service provider selection method and related device Pending CN118283032A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211713313.2A CN118283032A (en) 2022-12-29 2022-12-29 Service provider selection method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211713313.2A CN118283032A (en) 2022-12-29 2022-12-29 Service provider selection method and related device

Publications (1)

Publication Number Publication Date
CN118283032A true CN118283032A (en) 2024-07-02

Family

ID=91636564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211713313.2A Pending CN118283032A (en) 2022-12-29 2022-12-29 Service provider selection method and related device

Country Status (1)

Country Link
CN (1) CN118283032A (en)

Similar Documents

Publication Publication Date Title
US20230023857A1 (en) Data processing method and apparatus, intelligent device, and storage medium
CN109522330B (en) Cloud platform data processing method, device, equipment and medium based on block chain
CN111930851B (en) Control data processing method, device, medium and electronic equipment of block chain network
CN107276765B (en) Processing method and device for consensus in block chain
KR102566892B1 (en) Blockchain consensus method, device and system
CN111556120B (en) Data processing method and device based on block chain, storage medium and equipment
US10091004B2 (en) Large-scale simultaneous digital signature service system based on hash function and method thereof
US20190394175A1 (en) Systems and methods for permissioned blockchain infrastructure with fine-grained access control and confidentiality-preserving publish/subscribe messaging
CN111625593B (en) Block chain-based data processing method and device and computer equipment
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
CN111294379B (en) Block chain network service platform, authority hosting method thereof and storage medium
CN113328997B (en) Alliance chain crossing system and method
WO2022121538A1 (en) Data synchronization method and system based on blockchain, and related device
CN111522874B (en) Block chain consensus method, apparatus, computer device and storage medium
CN112307501B (en) Big data system based on block chain technology, storage method and using method
US11431493B1 (en) Systems and methods for secure authentication
Tong et al. Privacy-preserving data integrity verification for secure mobile edge storage
CN111275495A (en) Advertisement putting monitoring method, device and system based on block chain
Mershad et al. Lightweight blockchain solutions: Taxonomy, research progress, and comprehensive review
CN116806038A (en) Decentralizing computer data sharing method and device
CN116886718A (en) Data storage method and device based on transaction weight
da Costa et al. Securing light clients in blockchain with DLCP
CN116668456A (en) Block generation method, device and system based on DAG multi-node consensus
CN118283032A (en) Service provider selection method and related device
CN113966602A (en) Distributed storage of blocks in a blockchain

Legal Events

Date Code Title Description
PB01 Publication