Farm full-chain data capitalization management system
By combining monitoring, analysis, and allocation units, the value contribution of each stage of breeding chicken farming is quantified, solving the problem of unreasonable data management in farms and realizing asset-based management and resource optimization of data across the entire chain.
Patent Information
- Application Number
- CN202511476228.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-16
- Publication Date
- 2025-11-14
AI Technical Summary
The lack of an effective allocation scheme for the data asset management of farms makes it difficult to quantify the contribution of each farming environment, resulting in unreasonable data management.
By acquiring parameter values of breeding chickens at each stage of breeding through the monitoring and acquisition unit, analyzing the impact weight of revenue and benchmark parameter values using the benchmark calculation unit, and calculating the value contribution of each breeding stage in conjunction with the revenue distribution unit, the asset-based management of data across the entire chain is realized.
It enables quantitative analysis of the value contribution of data information across the entire breeding chicken chain, supports reasonable data asset management, and optimizes resource allocation.
Smart Images

Figure CN120952844A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of digital management technology for aquaculture, and in particular relates to a data asset management system for the entire chain of aquaculture farms. Background Technology
[0002] Breeding chicken farming is a core link in the poultry industry chain. Its production management involves multiple stages, including breeding, hatching, feeding, disease prevention and control, and hatching egg production, resulting in data with high value and complexity. However, due to the complexity of the farming process, it is difficult to quantify the monetization contribution of each farming environment, leading to a lack of technically feasible allocation and management solutions for the assetization of farm data. Summary of the Invention
[0003] The purpose of this invention is to provide a data asset management system for the entire chain of breeding farms. By summarizing and analyzing the detection items of various breeding environments, the value contribution of each breeding link to the full chain of data information of breeding chickens can be obtained.
[0004] To solve the above-mentioned technical problems, the present invention is achieved through the following technical solution: This invention provides a data asset management system for the entire chain of aquaculture farms, comprising: The monitoring and data acquisition unit is used to collect the parameter values of each breeding chicken in each breeding stage as the whole chain data information of each breeding chicken; The benchmark calculation unit is used to query transaction records to obtain the full-chain data information of the transactions and the corresponding transaction revenue; Based on the full-chain data of completed transactions and the corresponding transaction revenue, we obtain the revenue impact weight of each breeding link on the transaction revenue and the benchmark parameter values of the monitoring items for each breeding link. The revenue distribution unit is used to obtain the full-chain data information of the current breeding chickens and the corresponding transaction revenue; Based on the current full-chain data of breeding chickens, the weight of each breeding link's impact on transaction revenue, and the benchmark parameter values of each breeding link's monitoring items, we can determine the value contribution of each breeding link to the current transaction revenue of breeding chickens.
[0005] This invention summarizes and analyzes the testing items of various breeding environments to determine the value contribution of each breeding link to the entire chain of data information of breeding chickens, thereby achieving reasonable data asset management.
[0006] Of course, any product implementing this invention does not necessarily need to achieve all of the advantages described above at the same time. Attached Figure Description
[0007] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0008] Figure 1 This is a schematic diagram of the functional units and information flow of a farm full-chain data asset management system according to an embodiment of the present invention; Figure 2 This is a schematic diagram of the operation steps of the monitoring and acquisition unit, the benchmark calculation unit, and the profit distribution unit of the present invention in one embodiment; Figure 3 This is a flowchart illustrating step S3 of the present invention in one embodiment; Figure 4 This is a flowchart illustrating step S31 of the present invention in one embodiment. Figure 5 This is a flowchart illustrating step S5 of the present invention in one embodiment; The attached diagram lists the components represented by each number as follows: 1-Monitoring and data acquisition unit, 2-Benchmark calculation unit, 3-Revenue distribution unit. Detailed Implementation
[0009] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0010] It should be noted that the terms "first," "second," etc., used in this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0011] Please see Figures 1 to 2 As shown, this invention provides a full-chain data asset management system for livestock farms, functionally divided into a monitoring and acquisition unit 1, a benchmark calculation unit 2, and a revenue distribution unit 3. The monitoring and acquisition unit 1 is used to monitor various stages of breeding chicken operations. The benchmark calculation unit 2 performs weight analysis on each breeding stage and calculates the benchmark parameter values for each monitoring item. The revenue distribution unit 3 rationally classifies the revenue from the full-chain data information assets of each breeding chicken.
[0012] During operation, the monitoring and acquisition unit 1 first performs step S1 to collect parameter values of monitoring items for each breeder hen at each stage of the breeding process, thus providing complete data information for each breeder hen. The breeding stages include selection, hatching, feeding, disease control, and egg production. The monitoring item for the selection stage is egg weight; for the hatching stage, it is incubation temperature; for the feeding stage, it is weight gain; for the disease control stage, it is disinfection frequency; and for the egg production stage, it is average daily feed intake.
[0013] Please see Figure 2 and 3 As shown, the benchmark calculation unit 2 in this system can first execute step S2 to query transaction records to obtain the full-chain data information of the transactions and the corresponding transaction revenue. Next, it can execute step S3 to obtain the revenue impact weight of each breeding link on the transaction revenue and the benchmark parameter values of the monitoring items of each breeding link based on the full-chain data information of the transactions and the corresponding transaction revenue. Specifically, it can first execute step S31 to classify the full-chain data information based on the parameter values of the monitoring items of the breeding chickens in each breeding link corresponding to the full-chain data information of the transactions, and classify the full-chain data information with common breeding monitoring status into the same information set.
[0014] Please see Figure 4 As shown, in order to maintain consistency of the entire chain of data information within the same information set, step S311 can be executed to divide all the entire chain of data information into multiple information sets according to the numerical gradient of transaction revenue.
[0015] Although breeder chickens with similar transaction returns have similar growth environments and testing parameters, differences may still exist in their breeding monitoring status. Therefore, further segmentation and consistency verification are needed. Specifically, step S312 can be executed to calculate the mean parameter of the monitoring items in each breeding stage of all full-chain data information within each information set. Next, step S313 can be executed to accumulate the difference in parameter values of the monitoring items in each breeding stage between two full-chain data sets as the degree of divergence between the two full-chain data sets. The full-chain data information with the smallest degree of divergence from the mean parameter of the monitoring items in each breeding stage of all full-chain data information within each information set can be selected as the core full-chain data information of that information set. Next, step S314 can be executed to classify each full-chain data information other than the core full-chain data information into the same information set as the core full-chain data information with the smallest degree of divergence. Finally, step S315 can be executed to recalculate the core full-chain data information for each information set.
[0016] If the core full-chain data information obtained after recalculation remains consistent, step S316 can be executed to determine that the full-chain data information belonging to the same information set at this time has a commonality in the aquaculture monitoring status. If the core full-chain data information obtained after recalculation changes, steps S314 to S316 can be executed to continuously recalculate the information set and recalculate the core full-chain data information accordingly, until the core full-chain data information obtained after recalculation remains consistent.
[0017] To supplement the explanation of the implementation process of steps S311 to S316 above, source code for some functional modules is provided, with comparative explanations in the comments. To avoid data leakage involving trade secrets, data that does not affect the implementation of the solution has been anonymized; the same applies below.
[0018] / / Data structure for the entire breeding chicken chain struct ChickenData { std::string chickenID; struct { double eggWeight; / / Breeding stage - hatching egg weight (g) double hatchTemp; / / Incubation stage - incubation temperature (°C) double weightGain; / / Weight gain during feeding (kg) double disinfectionFreq; / / Disinfection frequency (times / week) in disease prevention and control. double dailyFeedIntake; / / Average daily feed intake (g) during hatching egg production. productionParams; double transactionPrice; / / Transaction revenue (yuan) }; / / Information collection structure struct DataGroup { std::vector <chickendata>records; / / All records in the collection ChickenData coreRecord; / / Core record std::vector <double>paramMeans; / / Average values of parameters for each stage (5 parameters) }; class PoultryDataClassifier { private: std::vector <chickendata>allRecords; / / All transaction records std::vector <datagroup>dataGroups; / / Classification results / / Calculate the divergence between two records (by summing the parameter differences) double calculateDivergence(const ChickenData&a, const ChickenData&b){ double divergence = 0.0; divergence += abs(a.productionParams.eggWeight -b.productionParams.eggWeight); divergence += abs(a.productionParams.hatchTemp -b.productionParams.hatchTemp); divergence += abs(a.productionParams.weightGain -b.productionParams.weightGain); divergence += abs(a.productionParams.disinfectionFreq - b.productionParams.disinfectionFreq); divergence += abs(a.productionParams.dailyFeedIntake - b.productionParams.dailyFeedIntake); return divergence; } / / Initialize grouping according to return gradient (quantile method) void initializeGroupsByPrice(int groupCount) { / / Sort by transaction price std::sort(allRecords.begin(), allRecords.end(), [](const ChickenData&a, const ChickenData&b) { return a.transactionPrice <b.transactionPrice; }); / / Calculate the theoretical size for each group size_t groupSize = allRecords.size() / groupCount; dataGroups.resize(groupCount); / / Assign records to each group for (size_t i = 0; i <allRecords.size(); ++i) { size_t groupIdx = std::min(i / groupSize, dataGroups.size() - 1); dataGroups[groupIdx].records.push_back(allRecords[i]); } } / / Calculate the mean values of parameters for each group void calculateGroupMeans() { for (auto&group : dataGroups) { if (group.records.empty()) continue; / / Initialize the mean calculator (5 parameters) group.paramMeans = std::vector <double>(5, 0.0); / / Accumulate parameters for each stage for (const auto&record : group.records) { group.paramMeans[0] += record.productionParams.eggWeight; group.paramMeans[1] += record.productionParams.hatchTemp; group.paramMeans[2] += record.productionParams.weightGain; group.paramMeans[3] += record.productionParams.disinfectionFreq; group.paramMeans[4] += record.productionParams.dailyFeedIntake; } / / Calculate the mean double count = group.records.size(); for (double&mean : group.paramMeans) { mean / = count; } } } / / Find the core record in each group with the smallest divergence from the mean. void findCoreRecords() { for (auto&group : dataGroups) { if (group.records.empty()) continue; / / Create a dummy mean record for comparison ChickenData meanRecord; meanRecord.productionParams.eggWeight = group.paramMeans[0]; meanRecord.productionParams.hatchTemp = group.paramMeans[1]; meanRecord.productionParams.weightGain = group.paramMeans[2]; meanRecord.productionParams.disinfectionFreq = group.paramMeans[3]; meanRecord.productionParams.dailyFeedIntake = group.paramMeans[4]; / / Find the record with the smallest divergence double minDivergence = std::numeric_limits <double>::max(); ChickenData bestCore; for (const auto&record : group.records) { double div = calculateDivergence(record, meanRecord); if (div <minDivergence) { minDivergence = div; bestCore = record; } } group.coreRecord = bestCore; } } / / Redistribute all records based on the current core record bool reassignRecords() { bool changed = false; / / Temporarily store the new group std::vector <datagroup>newGroups(dataGroups.size()); for (size_t i = 0; i <dataGroups.size(); ++i) { newGroups[i].coreRecord = dataGroups[i].coreRecord; } / / Find the core record with the least divergence for each record for (const auto&record : allRecords) { double minDivergence = std::numeric_limits <double>::max(); size_t bestGroup = 0; for (size_t i = 0; i <dataGroups.size(); ++i) { double div = calculateDivergence(record, dataGroups[i].coreRecord); if (div <minDivergence) { minDivergence = div; bestGroup = i; } } newGroups[bestGroup].records.push_back(record); } / / Check if the grouping has changed for (size_t i = 0; i <dataGroups.size(); ++i) { if (dataGroups[i].records.size() != newGroups[i].records.size()) { changed = true) break } / / Check if the record IDs are the same (simplified comparison) std::set <std::string>oldIDs, newIDs; for (const auto&r : dataGroups[i].records) oldIDs.insert(r.chickenID); for (const auto&r : newGroups[i].records) newIDs.insert(r.chickenID); if (oldIDs != newIDs) { changed = true) break } } if (changed) { dataGroups = std::move(newGroups); } return changed; } public: / / Add transaction record void addTransactionRecord(const ChickenData&record) { allRecords.push_back(record); } / / Execute the complete classification process void classify(int groupCount = 3, int maxIterations = 100) { if (allRecords.empty()) return; Step 1: Initialize grouping according to transaction revenue gradient initializeGroupsByPrice(groupCount); int iteration = 0; bool changed. do { / / Step 2: Calculate the mean of parameters for each group calculateGroupMeans(); Step 3: Identify the core records for each group findCoreRecords(); / / Save old core records for comparison std::vector <chickendata>oldCoreRecords; for (const auto&group : dataGroups) { oldCoreRecords.push_back(group.coreRecord); } Step 4: Reassign based on core records changed = reassignRecords(); Step 5: Check if the core records have changed. if (!changed) { for (size_t i = 0; i <dataGroups.size(); ++i) { if (calculateDivergence(dataGroups[i].coreRecord, oldCoreRecords[i])>0.001) { changed = true) break } } } iteration++; } while (changed&&iteration <maxIterations); } / / Get classification results const std::vector <datagroup>&getClassificationResults() const { return dataGroups; } }; int main() { PoultryDataClassifier classifier; / / Example: Generating Test Data for (int i = 0; i<200; ++i) { ChickenData data; data.chickenID = "CHICKEN_" + std::to_string(i+1); / / Simulating parameters of breeder chickens of different qualities if (i<70) { / / low quality group data.productionParams.eggWeight = 60.0 + (rand() % 100) / 10.0; data.productionParams.hatchTemp = 37.5 + (rand() % 30) / 100.0; data.transactionPrice = 300.0 + (rand() % 200); } else if (i<140) { / / Medium quality group data.productionParams.eggWeight = 65.0 + (rand() % 80) / 10.0; data.productionParams.hatchTemp = 37.7 + (rand() % 20) / 100.0; data.transactionPrice = 500.0 + (rand() % 300); } else { / / High-quality group data.productionParams.eggWeight = 68.0 + (rand() % 60) / 10.0; data.productionParams.hatchTemp = 37.8 + (rand() % 15) / 100.0; data.transactionPrice = 800.0 + (rand() % 400); } / / Other parameters data.productionParams.weightGain = 1.2 + (rand() % 100) / 100.0; data.productionParams.disinfectionFreq = 2 + rand() % 4; data.productionParams.dailyFeedIntake = 120.0 + (rand() % 100); classifier.addTransactionRecord(data); } / / Perform the classification (divided into 3 groups) classifier.classify(3); / / Output results const auto&results = classifier.getClassificationResults(); for (size_t i = 0; i <results.size(); ++i) { std::cout<<"===Information Collection"< <i+1<<" ==="<<std::endl; std::cout<<"Core record ID: "< <results[i].coreRecord.chickenID<<std::endl; std::cout<<"Number of records: "< <results[i].records.size()<<std::endl; std::cout<<"Core record parameters:"< <std::endl; std::cout << "Hatching egg weight: " << results[i].coreRecord.productionParams.eggWeight << " g" << std::endl; std::cout << "Hatching temperature: " << results[i].coreRecord.productionParams.hatchTemp << " °C" << std::endl; std::cout << "Weight gain: " << results[i].coreRecord.productionParams.weightGain << " kg" << std::endl; std::cout << "Disinfection frequency: " << results[i].coreRecord.productionParams.disinfectionFreq << " times / week" << std::endl; std::cout << "Daily feed intake: " << results[i].coreRecord.productionParams.dailyFeedIntake << " g" << std::endl; std::cout << "Transaction price: " << results[i].coreRecord.transactionPrice << " yuan" << std::endl; std::cout << "Parameter mean value:" << std::endl; std::cout << "Hatching egg weight: " << results[i].paramMeans[0] << " g" << std::endl; std::cout << "Hatching temperature: " << results[i].paramMeans[1] << " °C" << std::endl; std::cout << "Weight gain: " << results[i].paramMeans[2] << " kg" << std::endl; std::cout << "Disinfection frequency: " << results[i].paramMeans[3] << " times / week" << std::endl; std::cout<<"Average daily food intake: "< <results[i].paramMeans[4]<<"g"<<std::endl; std::cout< <std::endl; } return 0; } This code implements a classification algorithm for breeder chicken data based on dynamic core records. During execution, the data is first initially grouped according to the transaction revenue gradient. Then, the mean parameters of each group are calculated, and the core record with the lowest dissimilarity is determined. Finally, the grouping structure is iteratively optimized until convergence. The algorithm automatically clusters data by quantifying the differences (dissimilarity) of parameters at each stage of the breeding process, ensuring that data within the same group share common production statuses, providing a high-quality data grouping foundation for subsequent revenue weight calculations. The implementation includes a complete initialization, mean calculation, core record selection, and iterative optimization process, effectively handling nonlinear data distribution problems in actual farms.
[0019] Please continue reading. Figure 2 and 3 As shown, after completing the classification information set, the next step is to execute step S32, within each information set, using the full-chain data information with the highest transaction revenue as the benchmark full-chain data information. Next, step S33, within each information set, calculates the cumulative difference between the parameter values of each full-chain data information and the monitoring items of each breeding stage within that information set, obtaining the cumulative parameter difference for each breeding stage of that information set. Next, step S34, for each information set, uses the reciprocal of the proportional coefficient between the cumulative parameter differences of each breeding stage's monitoring items as the revenue impact weight for each breeding stage of that information set. Finally, step S35, within each information set, uses the parameter values of the monitoring items of each breeding stage corresponding to the benchmark full-chain data information of that information set as the benchmark parameter values.
[0020] Please see Figure 2 and 5 As shown, after the benchmark calculation unit 2 performs weight analysis on each breeding stage and calculates the benchmark parameter values for each monitoring item, the revenue distribution unit 3 can then execute step S4 to obtain the full-chain data information of the current breeding chicken and the corresponding transaction revenue. Next, step S5 can be executed to determine the value contribution of each breeding stage to the current breeding chicken's transaction revenue based on the full-chain data information of the current breeding chicken, the revenue impact weight of each breeding stage on the transaction revenue, and the benchmark parameter values of the monitoring items for each breeding stage.
[0021] In calculating the value contribution, step S51 is first executed to calculate the degree of divergence between the current breeder chicken's full-chain data information and the benchmark full-chain data information of each information set. The benchmark full-chain data information of the information set with the lowest divergence is selected as the target benchmark full-chain data information. Next, step S52 is executed to calculate the ratio of the difference between the current breeder chicken's full-chain data information and the target benchmark full-chain data information for each monitoring item to the benchmark parameter value of the corresponding monitoring item in the target benchmark full-chain data information. This ratio is used as the degree of deviation between the current breeder chicken's full-chain data information and the target benchmark full-chain data information for each monitoring item. Finally, step S53 is executed to multiply the degree of deviation between the current breeder chicken's full-chain data information and the target benchmark full-chain data information for each monitoring item by the revenue impact weight for each breeding stage of the information set, thereby obtaining the value contribution of each breeding stage to the transaction revenue of the current breeder chicken.
[0022] To provide supplementary explanations for the implementation process of steps S51 to S53 above, source code for some functional modules is provided, with comparative explanations in the comments.
[0023] / / Data structure for the entire breeding chicken chain struct ChickenData { std::string chickenID; struct { double eggWeight; / / Breeding stage - hatching egg weight (g) double hatchTemp; / / Incubation stage - incubation temperature (°C) double weightGain; / / Weight gain during feeding (kg) double disinfectionFreq; / / Disinfection frequency (times / week) in disease prevention and control. double dailyFeedIntake; / / Average daily feed intake (g) during hatching egg production. productionParams; double transactionPrice; / / Transaction revenue (yuan) }; / / Information set structure (including baseline data and weights) struct DataGroup { ChickenData benchmarkRecord; / / Benchmark record std::map<std::string, double> weights; / / Weights for each stage {"Selection and Breeding": 0.2, "Hatching": 0.3, ...} std::map<std::string, double> baselineParams; / / Baseline parameters {"Breeding":65.0,"Hatching":37.8,...} }; class ValueContributionCalculator { private: std::vector <datagroup>dataGroups; / / All information collections (including baselines and weights) / / Calculate the divergence between two records (the sum of the absolute values of the parameter differences) double calculateDivergence(const ChickenData&a, const ChickenData&b){ double divergence = 0.0; divergence += abs(a.productionParams.eggWeight -b.productionParams.eggWeight); divergence += abs(a.productionParams.hatchTemp -b.productionParams.hatchTemp); divergence += abs(a.productionParams.weightGain -b.productionParams.weightGain); divergence += abs(a.productionParams.disinfectionFreq - b.productionParams.disinfectionFreq); divergence += abs(a.productionParams.dailyFeedIntake - b.productionParams.dailyFeedIntake); return divergence; } / / Find the best matching baseline record (with the least divergence) const ChickenData&findTargetBenchmark(const ChickenData¤tChicken) { double minDivergence = std::numeric_limits <double>::max(); const ChickenData* targetBenchmark = nullptr; for (const auto&group : dataGroups) { double div = calculateDivergence(currentChicken,group.benchmarkRecord); if (div <minDivergence) { minDivergence = div; targetBenchmark =&group.benchmarkRecord; } } if (!targetBenchmark) { throw std::runtime_error("No benchmark records available"); } return *targetBenchmark; } / / Get the weights and baseline parameters of the corresponding information set const DataGroup&getTargetGroup(const ChickenData&benchmark) { for (const auto&group : dataGroups) { if (&group.benchmarkRecord ==&benchmark) { return group; } } throw std::runtime_error("Matching group not found"); } public: / / Add information set (including baseline records and weights) void addDataGroup(const DataGroup&group) { dataGroups.push_back(group); } / / Calculate the value contribution of each stage std::map<std::string, double> calculateContributions(constChickenData¤tChicken) { std::map<std::string, double> contributions Step 1: Find the benchmark record with the smallest discrepancy. const ChickenData&targetBenchmark = findTargetBenchmark(currentChicken); const DataGroup&targetGroup = getTargetGroup(targetBenchmark); / / Step 2: Calculate the degree of deviation (relative value) of parameters in each step. std::map<std::string, double> deviations; deviations["Selection"] = (currentChicken.productionParams.eggWeight - targetBenchmark.productionParams.eggWeight) / targetGroup.baselineParams["selection and breeding"]; deviations["hatch"] = (currentChicken.productionParams.hatchTemp - targetBenchmark.productionParams.hatchTemp) / targetGroup.baselineParams["Incubation"]; deviations["feeding"] = (currentChicken.productionParams.weightGain - targetBenchmark.productionParams.weightGain) / targetGroup.baselineParams["Feeding"]; deviations["epidemic control"] = (currentChicken.productionParams.disinfectionFreq - targetBenchmark.productionParams.disinfectionFreq) / targetGroup.baselineParams["Epidemic Control"]; deviations["production"] = (currentChicken.productionParams.dailyFeedIntake- targetBenchmark.productionParams.dailyFeedIntake) / targetGroup.baselineParams["Production"]; / / Step 3: Calculate the value contribution = Deviation × Weight × Current transaction price for (const auto&[paramName, weight] : targetGroup.weights) { contributions[paramName] = deviations[paramName]* weight *currentChicken.transactionPrice; } Return contributions; } }; int main() { ValueContributionCalculator calculator; / / Example constructs 3 information sets (in actual applications, these should be obtained from a classification system). std::vector <std::string>paramNames = {"Breeding", "Hatching", "Feeding", "Disease Control", "Production"}; / / Information Set 1 (High-Quality Breeding Chickens) DataGroup group1; group1.benchmarkRecord = {"BENCHMARK_1", {68.5, 37.8, 1.8, 3, 180},1200.0}; group1.weights = {{"Breeding", 0.25}, {"Hatching", 0.15}, {"Feeding", 0.30}, {"Disease Control", 0.10}, {"Production", 0.20}}; group1.baselineParams = {{"Breeding", 68.0}, {"Hatching", 37.8}, {"Feeding", 1.8}, {"Disease Control", 3}, {"Production", 180}}; calculator.addDataGroup(group1); / / Information Set 2 (Medium-Quality Breeding Chickens) DataGroup group2; group2.benchmarkRecord = {"BENCHMARK_2", {65.0, 37.6, 1.5, 4, 150},800.0}; group2.weights = {{"Breeding", 0.20}, {"Hatching", 0.10}, {"Feeding", 0.35}, {"Disease Control", 0.15}, {"Production", 0.20}}; group2.baselineParams = {{"Breeding", 65.0}, {"Hatching", 37.6}, {"Feeding", 1.5}, {"Disease Control", 4}, {"Production", 150}}; calculator.addDataGroup(group2); / / Information Set 3 (Low-Quality Breeding Chickens) DataGroup group3; group3.benchmarkRecord = {"BENCHMARK_3", {62.0, 37.5, 1.2, 5, 120},500.0}; group3.weights = {{"Breeding", 0.15}, {"Hatching", 0.05}, {"Raising", 0.40}, {"Disease Control", 0.20}, {"Production", 0.20}}; group3.baselineParams = {{"Breeding", 62.0}, {"Hatching", 37.5}, {"Raising",1.2}, {"Disease Control", 5}, {"Production", 120}}; calculator.addDataGroup(group3); / / Test case: current breeding chicken data ChickenData currentChicken; currentChicken.chickenID = "CURRENT_001"; currentChicken.productionParams = {66.3, 37.7, 1.6, 3, 160}; / / Between medium and high quality currentChicken.transactionPrice = 950.0; / / Transaction price / / Calculate value contribution auto contributions = calculator.calculateContributions(currentChicken); / / Output results std::cout << "Analysis of value contributions of each link of the current breeding chicken (total transaction price: " << currentChicken.transactionPrice << " yuan)\n"; for (const auto&[paramName, value] : contributions) { std::cout << paramName << " link contribution value: " << value << " yuan(" << (value / currentChicken.transactionPrice * 100) << "%)\n"; } return 0; } This code implements a precise function to calculate the value contribution of each stage of breeder chicken farming. During operation, it first calculates the degree of divergence from benchmark records and automatically matches the most similar information set. Then, it quantifies the relative deviation of the parameters of each stage of the breeder chicken farming process from the benchmark values. Finally, it combines preset profit impact weights to calculate the specific contribution of each farming stage to the final transaction price. The algorithm innovatively uses a method of multiplying the relative deviation by the weight, considering both the differences in absolute parameter values and the differences in the impact of different stages on profits, providing data-driven decision support for farms. It can intuitively display the value contribution ratio of each production stage, helping to optimize resource allocation.
[0024] Please continue reading. Figure 1 and 2 As shown, after the revenue distribution unit 3 completes the analysis of the full-chain data information of the current breeding chicken, step S6 can be executed to input the full-chain data information of the current breeding chicken and the corresponding transaction revenue into the transaction record, resulting in an updated transaction record. Step S7 can also be executed to continuously calculate and update the revenue impact weight of each breeding link on the transaction revenue and the benchmark parameter values of the monitoring items for each breeding link based on the updated transaction record.
[0025] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved.
[0026] It should also be noted that each block in the block diagram and / or flowchart, as well as combinations of blocks in the block diagram and / or flowchart, can be implemented using hardware that performs the corresponding function or action, such as circuits or ASICs (Application Specific Integrated Circuits), or using a combination of hardware and software, such as firmware.
[0027] Although the invention has been described herein in conjunction with various embodiments, those skilled in the art will understand and implement other variations of the disclosed embodiments by reviewing the accompanying drawings, disclosure, and appended claims in carrying out the claimed invention. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple components. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.
[0028] The various embodiments of this application have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or improvement of the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.< / std::string> < / double> < / datagroup> < / datagroup> < / chickendata> < / std::string> < / double> < / datagroup> < / double> < / double> < / datagroup> < / chickendata> < / double> < / chickendata>
Claims
1. A data asset management system for the entire chain of aquaculture farms, characterized in that, include, The monitoring and data acquisition unit is used to collect the parameter values of each breeding chicken in each breeding stage as the whole chain data information of each breeding chicken; The benchmark calculation unit is used to query transaction records to obtain the full-chain data information of the transactions and the corresponding transaction revenue; Based on the full-chain data of completed transactions and the corresponding transaction revenue, we obtain the revenue impact weight of each breeding link on the transaction revenue and the benchmark parameter values of the monitoring items for each breeding link. The revenue distribution unit is used to obtain the full-chain data information of the current breeding chickens and the corresponding transaction revenue; Based on the current full-chain data of breeding chickens, the weight of each breeding link's impact on transaction revenue, and the benchmark parameter values of each breeding link's monitoring items, we can determine the value contribution of each breeding link to the current transaction revenue of breeding chickens.
2. The system according to claim 1, characterized in that, The breeding process includes selection, incubation, feeding, disease prevention and control, and hatching egg production.
3. The system according to claim 2, characterized in that, The monitoring item during the breeding process is the weight of hatching eggs; The monitoring item during the incubation process is the incubation temperature; The monitoring item during the feeding process is the rate of weight gain; The monitoring item in the disease prevention and control process is the frequency of disinfection; The monitoring item for hatching egg production is the average daily feed intake.
4. The system according to claim 1, characterized in that, The steps described are as follows: obtaining the revenue impact weight of each breeding link on the transaction revenue and the benchmark parameter values of the monitoring items for each breeding link based on the full-chain data information of the transactions and the corresponding transaction revenue. include, Based on the parameter values of the monitoring items of the breeding chickens in each breeding stage corresponding to the traded full-chain data information, the full-chain data information with common breeding monitoring status is classified into the same information set; Within each information set, the full-chain data information with the highest transaction revenue within that information set is used as the benchmark full-chain data information; Within each information set, the cumulative difference between the parameter values of each full-chain data information and the monitoring items of each breeding stage within the information set is calculated to obtain the cumulative difference of the monitoring items of each breeding stage for that information set. For each information set, the reciprocal of the proportional coefficient between the cumulative differences of the parameters of each monitoring item in each breeding stage of the information set is used as the weight of the impact of each breeding stage on the transaction revenue for that information set. Within each information set, the parameter values of the monitoring items for each aquaculture stage corresponding to the baseline full-chain data information of that information set are used as the baseline parameter values.
5. The system according to claim 4, characterized in that, The step of classifying the entire chain of data information based on the parameter values of monitoring items for breeding chickens at each stage of the breeding process, and grouping the entire chain of data information with common breeding monitoring status into the same information set, is as follows: include, All the data information across the entire chain is divided into multiple information sets according to the numerical gradient of transaction revenue.
6. The system according to claim 5, characterized in that, The step of classifying the entire chain data information based on the parameter values of monitoring items for breeding chickens at each stage of the breeding process, and grouping the entire chain data information with common breeding monitoring status into the same information set, further includes: For each information set, calculate the average parameter values of the monitoring items in each breeding stage for all full-chain data information within that information set; The sum of the differences in parameter values of monitoring items in each breeding stage between two full-chain data information is taken as the degree of divergence between the two full-chain data information. The full-chain data information with the smallest degree of divergence between the full-chain data information in each breeding stage and the average parameter value of all full-chain data information in the information set is taken as the core full-chain data information of the information set. Each piece of data in the entire chain other than the core data information is classified into the same information set as the core data information with the least divergence. Recalculate and obtain the core full-chain data information for each information set; If the core full-chain data information is recalculated and remains consistent before and after, the full-chain data information belonging to the same information set at this time will be considered to have the commonality of aquaculture monitoring status.
7. The system according to claim 6, characterized in that, The step of classifying the entire chain data information based on the parameter values of monitoring items for breeding chickens at each stage of the breeding process, and grouping the entire chain data information with common breeding monitoring status into the same information set, further includes: If the core full-chain data information obtained through recalculation changes before and after, the information set will be continuously recalculated, and the core full-chain data information will be recalculated accordingly, until the core full-chain data information obtained through recalculation remains consistent before and after.
8. The system according to any one of claims 4 to 7, characterized in that, The step of determining the value contribution of each breeding stage to the current breeding chicken's transaction revenue based on the current full-chain data information, the revenue impact weight of each breeding stage on the transaction revenue, and the benchmark parameter values of the monitoring items for each breeding stage includes: Calculate the degree of divergence between the current full-chain data information of the breeding chicken and the baseline full-chain data information of each information set, and select the baseline full-chain data information of the information set with the lowest divergence as the target baseline full-chain data information; The difference between the current breeder chicken's full-chain data information and the target benchmark full-chain data information at each monitoring item is calculated as the ratio of the benchmark parameter value of the corresponding monitoring item in the target benchmark full-chain data information. This ratio is used as the degree of deviation between the current breeder chicken's full-chain data information and the target benchmark full-chain data information at each monitoring item. The deviation between the current full-chain data of breeding chickens and the target benchmark full-chain data for each monitoring item is multiplied by the revenue impact weight of each breeding link for that information set to obtain the value contribution of each breeding link to the current breeding chicken's transaction revenue.
9. The system according to claim 1, characterized in that, It also includes, The current full-chain data information of the breeding chickens and the corresponding transaction revenue are entered into the transaction record to obtain the updated transaction record.
10. The system according to claim 9, characterized in that, It also includes, Based on the updated transaction records, the impact weight of each breeding stage on transaction revenue and the benchmark parameter values of monitoring items for each breeding stage are continuously calculated and updated.