WO2021006506A1 - System, method, and program for distributing food by using blockchain - Google Patents

System, method, and program for distributing food by using blockchain Download PDF

Info

Publication number
WO2021006506A1
WO2021006506A1 PCT/KR2020/008260 KR2020008260W WO2021006506A1 WO 2021006506 A1 WO2021006506 A1 WO 2021006506A1 KR 2020008260 W KR2020008260 W KR 2020008260W WO 2021006506 A1 WO2021006506 A1 WO 2021006506A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
food
user terminal
processor
information
Prior art date
Application number
PCT/KR2020/008260
Other languages
French (fr)
Korean (ko)
Inventor
이광열
장미란
유태연
Original Assignee
이광열
엠앤에이치소프트주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이광열, 엠앤에이치소프트주식회사 filed Critical 이광열
Publication of WO2021006506A1 publication Critical patent/WO2021006506A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B3/00Audible signalling systems; Audible personal calling systems
    • G08B3/10Audible signalling systems; Audible personal calling systems using electric transmission; using electromagnetic transmission
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/725Cordless telephones

Definitions

  • the present invention relates to a food distribution system, method, and program using a block chain, and more specifically, by printing a QR code on the food itself, through which the production and distribution process to producers, distributors and consumers is blocked. It relates to chain-managed food distribution systems, methods and programs.
  • Japanese Patent Application Laid-Open No. 2016-146091 (hereinafter referred to as “conventional technology”) is a technology behind the present invention.
  • the prior art discloses an egg, an information display system, and an information display method that can expect an advertisement effect by displaying information such as advertisement display on the surface of the egg.
  • the present invention is a food distribution system, method, and program in which an image-modified QR code is printed on food, for example, an egg itself, and the production and distribution process to producers, distributors, and consumers is managed through a blockchain. Provides.
  • the present invention enables QR recognition with a general smartphone by printing an image-modified QR code on food, for example, the egg itself, through which producer, distributor, and consumer information about egg production through a block chain. , To share history information and history information is a task to solve.
  • a food distribution system using a block chain for solving the above problems includes a QR code printing device; A plurality of user terminals capable of recognizing QR codes; A plurality of nodes to which the plurality of user terminals are accessible; A block chain in which the plurality of nodes are registered; At least one processor; And at least one memory in which instructions for causing the at least one processor to perform an operation are stored when executed by the at least one processor, wherein the at least one processor is configured based on QR data received from the server.
  • a QR code Generate a QR code, generate a second QR code by performing image conversion processing on the first QR code, store the second QR code in the memory, and by the QR code printing device, in the memory
  • the stored second QR code is printed on the food itself, which is a curved surface, and the curved body includes an oval-shaped curved body having different radii of curvature at points along the curved surface.
  • the food information includes production information, history information, and location information, and the production information includes the origin, content, grade determination date, packaging date, expiration date, producer, and sales person of the food- ,
  • the production information includes the origin, content, grade determination date, packaging date, expiration date, producer, and sales person of the food- .
  • the food distribution system further includes a temperature/humidity sensor installed in at least one of the packaging box of the food, a box and a warehouse in which the food is stored, and a loading box of a vehicle that moves the food.
  • a temperature/humidity sensor installed in at least one of the packaging box of the food, a box and a warehouse in which the food is stored, and a loading box of a vehicle that moves the food.
  • the at least one processor the temperature and humidity sensor to measure the temperature and humidity of the environment in which the food is stored in real time, and when the environment in which the food is stored changes, the food is moved to another place.
  • the temperature and the humidity of the environment in which the food is stored are measured and provided to the user terminal, and the history information is the food It is characterized by including the temperature and the humidity of the stored environment.
  • the temperature/humidity sensor includes a GPS function for real-time recognition of position coordinates at which the temperature/humidity sensor is located, and the environment in which the food is stored
  • the location coordinates where the temperature/humidity sensor is located are recognized, the location information includes the location coordinates, and the at least one processor includes the location coordinates consecutive on the map. It characterized in that the location information indicated by a dot or a line is provided to the user terminal.
  • the at least one processor uses a 64-bit key for the QR data after generating the first QR code and before generating the second QR code. Then, encryption is performed by applying a data encryption algorithm over three steps, and when the first QR code or the second QR code is recognized by the user terminal, in the server to which the user terminal is accessed through the URL The decryption is performed, and the location of the user terminal, the number of times the user terminal recognizes the first QR code or the second QR code, and an ID of the user terminal are collected.
  • the user terminal includes a first user terminal and a second user terminal
  • the at least one processor is a place in which the location of the second user terminal is preset.
  • the first QR code recognized by the second user terminal or the second If the QR code is determined as a fake and the location of the second user terminal does not exceed the preset distance from the preset place, the second user terminal recognizes the first QR code or the second QR code If one number exceeds a preset number and the ID of the second user terminal is different from the ID of the first user terminal at the preset place, the first QR recognized by the second user terminal
  • the code or the second QR code is determined as a fake, the location of the second user terminal does not exceed the preset distance from the preset place, and the second user terminal is the first QR code or the second When the number of times the QR code is recognized does not exceed the preset number,
  • the at least one processor when the environment in which the food is stored changes, if the temperature or the humidity changes by exceeding a preset threshold, the at least one processor It characterized in that it provides a push alarm (Push Alarm) to all user terminals that have recognized the second QR code printed on the food and the first QR code printed on the packaging paper or the packaging box of the food.
  • Push Alarm a push alarm
  • the at least one processor collects a cache from the user terminal to form big data including the user's age and internet search record, and the big data From, in consideration of the user's age, the Internet search record, and environment variables, a customized recipe is provided to the user terminal.
  • the at least one processor by the user terminal, at least one of the first QR code, at least one of the second QR code, or, at least one
  • the first QR code or the second QR code captured by the user terminal is recognized as a plurality, and a plurality of
  • the food information is provided for each list.
  • a food distribution method using a block chain comprises the steps of: generating a first QR code based on QR data received from a server; Generating a second QR code by performing image conversion processing on the first QR code; Storing the second QR code in a memory; Printing the second QR code stored in the memory on the food itself, which is a curved surface, by a QR code printing apparatus, the curved body including an oval-shaped curved body having different radiuses of curvature at points along the curved surface; Printing the first QR code on at least one of a packaging paper and a packaging box of the food by the QR code printing device; When the first QR code or the second QR code is recognized by the user terminal, providing food information corresponding to the food through a URL to the user terminal-The food information includes production information, history information, and It includes location information, and the production information includes the origin of the food, the content amount, the grade determination date, the packaging date, the expiration date, the producer, and the sales person; Registering a block including a
  • a computer program according to an embodiment of the present invention is characterized in that it is stored in a medium to execute a food distribution method using a block chain on an electronic device.
  • an image-modified QR code on the food itself, for example, the egg itself, it is possible to recognize QR even with a general smartphone, and through this block chain between producers, distributors and consumers.
  • Share egg production information, history information, and history information For example, in the event of an egg-related safety problem such as a pesticide surge or bird flu, it is possible to quickly and clearly identify the production source and distribution process of the problem egg. Customized responses such as discarding only eggs are possible.
  • the present invention by printing an image-modified QR code on the food itself, even after the food finally reaches the consumer, even when the consumer removes the packaging paper or packaging box of the food and stores the food itself in a refrigerator or the like, Through the QR code, it is possible to easily check food history information and expiration date.
  • the QR code it is possible to easily check food history information and expiration date.
  • food production information, history information, and history information are registered in the blockchain, and the information is shared and managed with producers, distributors and consumers, so the integrity and clarity of information can be ensured. Through this, it is possible to prevent intermediary merchants from buying and selling stores, dramatically improve cold chain logistics, and prevent forgery and falsification of information.
  • the present invention by performing the encryption and decryption step on the QR code, it is possible to prevent the distribution of fake food by forgery and falsification of the QR code, and provide reliable genuine food to consumers.
  • the present invention by including the temperature and humidity of the environment in which the food is stored in the food history information, when an abnormality in the environment occurs, a push alarm is provided to the producer or distributor related thereto, enabling a quick response. do.
  • FIG. 1 is a conceptual diagram showing an apparatus for printing a QR code according to an embodiment of the present invention.
  • FIG. 2 is an explanatory diagram illustrating image conversion processing for a QR code according to an embodiment of the present invention.
  • FIG. 3 is a conceptual diagram showing a block chain according to an embodiment of the present invention.
  • FIG. 4 is a flow chart showing a food distribution method according to an embodiment of the present invention.
  • 5 is an exemplary program screen for providing food production information according to an embodiment of the present invention.
  • 6A is an exemplary program screen providing history information of food according to an embodiment of the present invention.
  • 6B is an exemplary program screen providing history information of food according to an embodiment of the present invention.
  • FIG. 7 is an exemplary program screen for providing a food recipe according to an embodiment of the present invention.
  • FIG. 8 is an exemplary program screen showing that a plurality of QR codes are recognized according to an embodiment of the present invention.
  • the'user terminal' and the'electronic device' can communicate with a smartphone, a wearable device (eg, smart glasses, watches, etc.), an IoT terminal, a personal digital assistant (PDA), a tablet PC, a laptop computer, or a server.
  • a smartphone e.g., a smart glasses, watches, etc.
  • an IoT terminal e.g., a personal digital assistant (PDA)
  • PDA personal digital assistant
  • tablet PC e.g., a laptop computer
  • server e.g., a server
  • It may be any device that has a built-in camera and can recognize a QR code.
  • the'processor' may include a hardware configuration such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, and a data bus.
  • MPU micro processing unit
  • CPU central processing unit
  • cache memory a cache memory
  • data bus a data bus
  • the'server' is a general computing device (e.g., a computer processor, memory, storage, input device and output device, devices that may include components of other conventional computing devices, electronic communication devices such as routers, switches, etc.
  • Electronic information storage systems such as attached storage (NAS) and storage area networks (SAN)) and computer software (i.e., instructions that cause a computing device to function in a specific way) to achieve desired system performance and functionality. It may be to achieve.
  • NAS attached storage
  • SAN storage area networks
  • 'media' includes a computer-readable storage medium.
  • the storage medium can be any available medium that can be accessed by a computer.
  • such computer-readable storage media may be in the form of RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or instructions or data structures. It may include, but is not limited to, any other medium that may be used to carry or store program code and that may be accessed by a computer.
  • the'program' is stored in the above-described medium, and may be a computer program including an application or software.
  • FIG. 1 An apparatus for printing a QR code according to an embodiment of the present invention will be described in detail through FIG. 1.
  • the QR code printing apparatus 100 includes at least one processor 110, at least one memory storing instructions for causing the at least one processor 110 to perform an operation when executed by the at least one processor 110 It includes 120, and further includes an input device 130 for receiving a QR code from the server 200 or receiving a user input, and an output device 140 for ejecting ink to print the QR code.
  • the processor 110 receives QR data from the server 200.
  • the QR data is data for generating a QR code, and may be data to which base64-string technology is applied, for example. Accordingly, since one QR code is matched with respect to one string, a QR code corresponding thereto may be generated based on the QR data.
  • the generated QR code is image-converted to be described later, so that the image-converted QR code is stored in the memory 120 and printed on the object itself by the output device 140.
  • the object includes a curved body, and an example of a curved body is an egg.
  • the radius of curvature at points along the curved surface of the egg has a different oval shape, and the present invention can use a technique of printing a QR code on the curved body itself, for example, the egg itself. have.
  • the original QR code generated based on the QR data and before the image conversion processing (hereinafter, referred to as'first QR code') 300 is a first indicating the length from the center of the first QR code in the first direction.
  • 1 length a second length indicating a length in a second direction perpendicular to the first direction from the center of the first QR code, and a third direction that is a diagonal direction in the first direction and the second direction from the center of the first QR code
  • a third length indicating the length of the furnace.
  • the size of the QR code is 1X1 cm 2
  • the first length is 0.5 cm
  • the second length is 0.5 cm
  • the third length is about 0.71 cm.
  • the size of the QR code may be selected within the range of 1X1 cm 2 to 1.2X1.2 cm 2 .
  • the image is converted from the first QR code, and the rounded QR code (hereinafter referred to as a “second QR code”) to be printed on the curved body itself 400 is the center of the second QR code 400.
  • a fourth length indicating a length in a first direction from, a fifth length indicating a length in a second direction from the center of the second QR code 400, and a third direction from the center of the second QR code 400 Includes a sixth length indicating the length of.
  • the fourth and fifth lengths of the second QR code 400 are respectively larger than the first and second lengths of the first QR code 300, and the fourth and fifth lengths of the second QR code 400 5 lengths are substantially equal to each other.
  • the sixth length of the second QR code 400 and the third length of the first QR code 300 are substantially the same as each other.
  • the fourth and fifth lengths of the second QR code 400 are larger than the first and second lengths of the first QR code 300, respectively, and the fourth length of the second QR code 400
  • the length and the fifth length are substantially equal to each other, and this length conversion is performed based on the following equations (1) to (3).
  • x u is the first length
  • x d is the fourth length
  • is the first weight for the first direction.
  • Equation (2) y u is the second length, y d is the fifth length, and ⁇ is the second weight for the second direction.
  • Equation (3) r u is the third length, r d is the sixth length, and ⁇ is the third weight for the third direction.
  • the fourth and fifth lengths of the second QR code 400 are larger than the first and second lengths of the first QR code 300, respectively, and the fourth and fifth lengths of the second QR code 400 Is substantially equal to each other, so ⁇ and ⁇ are greater than 0, and ⁇ and ⁇ are substantially equal to each other.
  • the maximum value is the first of the first QR code 300. It is about 1.4 times the length of 1 and the second length, preferably 1.3 times. Thus, ⁇ and ⁇ are greater than 0 and less than 0.25.
  • is substantially zero.
  • the first QR code 300 is divided into a grid.
  • the first QR code 300 may be divided into 5X5 to 100X100, preferably 10X10.
  • Even in one egg there may be an area with a large radius of curvature and an area with a small radius of curvature.
  • the radius of curvature at the top of the egg may be different depending on the size of the egg, that is, large egg, medium egg, and turbulence.
  • the length of the gratings in the first direction and the second direction passing through the center of the first QR code 300 is maximized.
  • the length change can be gradually reduced as it increases, and the distance from these grids.
  • the second weight is reduced from ⁇ to 0, and the second direction and the opposite direction from the center of the first QR code 300
  • the first weight can be reduced from ⁇ to 0 as the distance increases.
  • the first weight may be equally applied to grids that are collinear in the first direction
  • the second weight may be equally applied to grids that are collinear in the second direction.
  • the first weight or the second weight may be linearly decreased, or exponentially may be decreased.
  • the radius of curvature at the center of the curved body on which the second QR code 400 is to be printed decreases, the first weight and the second weight are reduced, and the radius of curvature at the center of the curved body on which the second QR code 400 is to be printed is The smaller the number, the higher the first weight and the second weight. That is, the first weight and the second weight when the radius of curvature at the center of the curved body on which the second QR code 400 is to be printed are small are larger than the first weight and the second weight when the radius of curvature is large, respectively. I can.
  • the second QR code 400 is stored in the memory 120 only when the length-transformed degree (eg, ratio) of the above-described grid is within a predetermined value.
  • the first weight and the second weight are adjusted at least once by feedback, so that the length of the grid is within a predetermined value. Only the second QR code 400 may be stored in the memory 120.
  • the first ratio value of the fourth length of the second QR code 400 to the first length of the first QR code 300 is less than or equal to a first predetermined value, and the first ratio value is the first If it is less than a predetermined value, the second QR code 400 is stored in the memory 120, and if the first ratio value exceeds the first predetermined value, the first weight is decreased and a new generated through image conversion process
  • the fourth length of the second QR code 400 determines whether the ratio value of the fourth length of the new second QR code 400 to the first length of the first QR code 300 is less than or equal to the first predetermined value You can judge again.
  • the second ratio value of the fifth length of the second QR code 400 to the second length of the first QR code 300 is less than or equal to the first predetermined value, and the second ratio value is the first preset value. If it is less than the predetermined value, the second QR code 400 is stored in the memory 120, and if the second ratio value exceeds the first predetermined value, the second weight is decreased and a new product generated through image conversion processing is performed. 2 By calculating the fifth length of the QR code 400, whether the ratio value of the fifth length of the new second QR code 400 to the second length of the first QR code 300 is less than or equal to the first predetermined value. I can judge.
  • the first predetermined value may be selected within the range of 1 to 1.4. Preferably, 1.3 may be selected as the first predetermined value.
  • the ratio of the area of the second QR code 400 and the area of the first QR code 300 generated according to the above-described grid length conversion is within a predetermined value. Only in the case of the second QR code 400 is stored in the memory 120, and when the ratio of the above-described area exceeds a predetermined value, the first weight and the second weight adjustment by feedback are performed at least once or more. As a result, the second QR code 400 may be stored in the memory 120 only when the ratio of the new area is within a predetermined value.
  • the area of the first QR code 300 and the area of the second QR code 400 are respectively calculated, and a ratio value of the area of the second QR code 400 to the area of the first QR code 300 It is determined whether it is less than or equal to the second predetermined value, and if the ratio value is less than or equal to the second predetermined value, the second QR code 400 is stored in the memory 120, and when the ratio value exceeds the second predetermined value, ,
  • the new second QR code 400 for the area of the first QR code 300 is calculated by reducing the first weight and the second weight and calculating the area of the new second QR code 400 generated through image conversion processing. It may be determined again whether the ratio value of the area of) is less than the second predetermined value.
  • the second predetermined value may be selected within the range of 1 to 1.4.
  • the ratio of dividing the first QR code 300 into a grid shape is reduced, and the curved body on which the second QR code 400 is to be printed As the radius of curvature at the center of is smaller, the ratio of dividing the first QR code 300 into a grid shape may be increased. Accordingly, the QR recognition rate can be increased by selecting an appropriate division ratio according to the size of the curvature radius.
  • the square-shaped first QR code is printed on the curved egg itself and then recognized as a user terminal such as a general smartphone, errors such as not being properly recognized may occur.
  • the rounded second QR code obtained by converting the image of the first QR code is printed on the egg itself, so that even if it is recognized as a user terminal such as a general smartphone, it is possible to print accurately and quickly.
  • a food distribution system may include a plurality of user terminals 500-1, 500-2, 500-3, and 500-4 capable of recognizing a QR code.
  • Each of the plurality of user terminals 500-1, 500-2, 500-3, and 500-4 is, for example, an administrator's user terminal 500-1, a producer's user terminal 500-2, and a distributor's user. It may be a terminal 500-3 or a user terminal 500-4 of a consumer. 3 is for illustrative purposes only, showing the user terminal 500-1 of the administrator, the user terminal 500-2 of the producer, the user terminal 500-3 of the distributor, and the user terminal 500-4 of the consumer However, each user terminal may be plural.
  • the server 200 may be composed of a plurality of servers performing each function in the food distribution system, or may be composed of a single server performing a plurality of functions.
  • the server 200 may be a server corresponding to a plurality of nodes N1, N2, N3, N4 of the block chain 600, or a server that manages each node of the block chain 600.
  • the server 200 may manage the food distribution system through communication with the database, and may back up transaction information of the block chain 600.
  • Food information can be accessed and a transaction composed of food information can be transmitted to the blockchain 600.
  • the transaction may include the generation, change, and disposal of food information, and a plurality of user terminals 500-1, 500-2, 500-3, and 500-4 may transfer such transactions to the blockchain 600 and / Or it can be transmitted to the server 200.
  • food information to be described later may include production information, history information and location information, and production information may include the type of food, country of origin, content, grade determination date, packaging date, expiration date, storage method and temperature, producer, and salesperson. , And a phone number of a consumer counseling office.
  • a plurality of nodes (N1, N2, N3, N4) transmits an operation of receiving a newly generated transaction, an operation of creating a block containing it, and a request to add the generated block to the block chain 600 to another node. At least one of an operation of performing an operation or an operation of adding a corresponding node to the block chain 600 owned or accessed by verifying the block addition request received from another node according to a predetermined consensus algorithm may be performed.
  • the block chain 600 may be linked with at least one or more of a plurality of user terminals 500-1, 500-2, 500-3, and 500-4 through a plurality of nodes N1, N2, N3, and N4. .
  • Each user terminal (500-1, 500-2, 500-3, 500-4) may function as a node by directly performing at least one of the above-described node operations, or directly perform the above-described node operation. It is connected to a node included in the block chain 600 to perform such a function, and transmits a request to trigger the function of the above node to the node, and interlocks with the block chain 600 by receiving a response thereto. It could be. That is, the plurality of user terminals 500-1, 500-2, 500-3, and 500-4 may each be a plurality of nodes N1, N2, N3, N4, or a plurality of nodes N1, N2, and N3, N4) can also be connected
  • Each block constituting the block chain 600 according to an embodiment of the present invention may be connected in the form of a hash chain. That is, the nth block may store the hash value of the n-1th block. Therefore, a change of information of one block results in a change of the hash value of the block calculated from the block, which results in a change of the contents of the next block. It can lead to changes.
  • the hash value may be calculated by a hash function that converts data of an arbitrary size into data having a predetermined size, and for example, a hash function selected as needed such as MD5, SHA1, or SHA2 may be used.
  • a block according to an embodiment of the present invention may include at least one or more transactions.
  • a block may represent time information related to a block and/or a transaction (eg, block creation time, block change time, and block discard time).
  • a transaction according to an embodiment of the present invention includes a plurality of nodes in which each subject interlocked with the block chain 600, that is, a plurality of user terminals 500-1, 500-2, 500-3, 500-4 ( It can be configured according to information from N1, N2, N3, N4). For example, registration/change/discarding of specific information requested by a plurality of user terminals 500-1, 500-2, 500-3, and 500-4 may be configured as a single transaction.
  • Such a transaction may be performed in a plurality of user terminals 500-1, 500-2, 500-3, 500-4, and a plurality of user terminals 500-1, 500-2, 500-3, 500 It may be made in a plurality of nodes (N1, N2, N3, N4) of the block chain 600 that has received specific information from -4).
  • Each transaction according to an embodiment of the present invention may be digitally signed and/or verified using a private key method.
  • information according to the transaction may be included in the transaction in a private key method or provided to a plurality of nodes N1, N2, N3, and N4 through different paths.
  • the plurality of nodes N1, N2, N3, and N4 may verify the validity of the corresponding transaction by using the private key.
  • ownership of the transaction or association with the transaction may be proved through a private key held by the owner of the transaction or a person involved in the creation of the transaction.
  • These private keys may be generated and/or managed by an administrator.
  • a plurality of user terminals (500-1, 500-2, 500-3, 500-4) linked with the block chain 600 according to an embodiment of the present invention and/or a plurality of users participating in the block chain 600
  • Nodes N1, N2, N3, and N4 may generate a transaction and transmit and/or broadcast it to nodes participating in the blockchain 600.
  • All or some of the nodes participating in the block chain 600 may generate a new block including at least one or more transactions newly generated in the block chain 600.
  • the node can verify the validity of the corresponding transaction and can make requests to add a newly created block to the existing blockchain 600 to other nodes.
  • the nodes of the block chain 600 that have received the request verify the validity of the transaction and/or block according to a predefined consensus algorithm, and if the verification is successful, the block chain 600 that the user owns or accesses the block. Can be added to
  • Block chain 600 is preferably operated in the form of a permissioned block chain (Permissioned Block Chain) for the security of food distribution.
  • Permissioned Block Chain Permissioned Block Chain
  • only authorized participants can access the blockchain 600, and privileges can be set for the access.
  • Hyperledger blockchain can be used as a form of such a permissioned blockchain.
  • At least one processor to be described later may be the same as or different from the processor 110 described above.
  • the server to be described later may be the same as the server 200 described above, or may be different.
  • At least one processor may generate the first QR code 300 based on the QR data received from the server according to the production command (S1).
  • the first QR code 300 may include food information of food.
  • At least one processor may perform encryption by applying a data encryption algorithm to the QR data in three steps after generating the first QR code 300 and before generating the second QR code 400.
  • the three-step application of the data encryption algorithm can be performed using a 64-bit key, and the 64-bit key can be used for later decryption.
  • At least one processor may generate the second QR code 400 by performing image conversion processing on the first QR code 300 (S2).
  • the second QR code 400 may be printed on the curved food itself, for example, the egg itself, and the first QR code 300 may be printed on the packaging paper and It can be printed on at least one of the packaging boxes (S3).
  • the first QR code 300 is not limited to the packaging paper and the packaging box of the food, but is flat and can be printed anywhere it is necessary to display food information of the food.
  • food information including food production information, history information, and location information is transmitted to a plurality of user terminals 500-1, 500-2, 500- 3, 500-4) can be provided (S4).
  • the food information may further include not only food production information, history information, and location information, but also production photos, farmhouse photos, food grade information and authentication information, and food recipes using big data to be described later.
  • At least one processor may register a block including a transaction composed of food information in the block chain 600 (S5).
  • a plurality of blocks may be connected in the form of a hash chain.
  • At least one processor transmits a transaction occurring in one of a plurality of nodes (N1, N2, N3, N4) registered in the block chain 600 to a plurality of nodes (N1, N2) registered in the block chain 600. , N3, N4), so that the transaction can be shared by a plurality of nodes N1, N2, N3, and N4 (S6).
  • Transactions can include the creation, transformation and destruction of food information.
  • eggs may be distributed through farms including laying hen farms, Grading and Packing Centers, distributors, and sales outlets.
  • the user terminal used in these places may be a user terminal 500-1 of an administrator, a user terminal 500-2 of a producer, and a user terminal 500-3 of a distributor.
  • eggs distributed through this route may be sold to consumers, and in this case, the terminal used by the consumer may be the consumer's user terminal 500-4.
  • the user terminal When the first QR code 300 or the second QR code 400 is recognized by the plurality of user terminals 500-1, 500-2, 500-3, 500-4, the user terminal ( The decryption is performed in the server 200 to which the 500-1, 500-2, 500-3, 500-4) is connected, and a plurality of user terminals (500-1, 500-2, 500-3, 500-4) The location of and the number of times that the plurality of user terminals 500-1, 500-2, 500-3, and 500-4 recognized the first QR code 300 or the second QR code 400, a plurality of user terminals ( IDs of 500-1, 500-2, 500-3, 500-4) may be collected.
  • the ID of the user terminal may include a unique number of the user terminal.
  • the plurality of user terminals can collect more IP addresses.
  • decryption determines whether the 64-bit key used at the time of encryption and the 64-bit key stored in the server (eg, stored procedure) are the same, and if the keys do not match, the QR code is judged as a fake. can do.
  • the distributor's user terminal 500-3 may include a first user terminal and a second user terminal.
  • the first user terminal is a terminal that recognizes a normally distributed QR code (i.e., a genuine QR code)
  • the second user terminal is a user terminal compared with the first user terminal to determine whether to use a fake QR code.
  • the second user terminal when the location of the second user terminal exceeds a preset distance from the preset place, and the ID of the second user terminal is different from the ID of the first user terminal at the preset place, the second user terminal
  • the first QR code 300 or the second QR code 400 recognized by may be determined as a fake.
  • the preset place may be a production place, a delivery place, a sales place, etc. previously set and stored as described above.
  • the preset distance may be selected from 1 km to 20 km, and preferably may be 10 km.
  • a QR code identical to the QR code used (recognized) at the delivery destination is produced or used (recognized) in an area 10 km away from the delivery destination, and If an ID different from the user terminal that recognized the QR code is collected, it can be determined that a fake QR code is produced or used (recognized) through a user terminal having a different ID.
  • a plurality of user terminals 500-1, 500-2, 500-3, 500-4, for example, the administrator's user terminal 500-1 and the distributor's user terminal 500-3 ), a push alarm that a fake QR code is produced or used (recognized) can be provided.
  • the second user terminal when the location of the second user terminal does not exceed a preset distance from the preset place, the second user terminal recognizes the first QR code 300 or the second QR code 400 If the number of times exceeds the preset number, and the ID of the second user terminal is different from the ID of the first user terminal at the preset place, the first QR code 300 or the second recognized by the second user terminal
  • the QR code 400 can be determined as a fake.
  • the preset number of times may be selected from 10 to 1,000 times, preferably 100 times. For example, eggs are being stored in a normal place of delivery, but a QR code identical to that used (recognized) by that supplier is produced or used (recognized) 100 times near that supplier (for example, less than 1 km).
  • a fake QR code is produced or used (recognized) through a user terminal with a different ID.
  • the location of the second user terminal does not exceed a preset distance from the preset place, the second user terminal recognizes the first QR code 300 or the second QR code 400
  • the first QR code 300 or the second QR code 400 recognized by the second user terminal may be determined as authentic.
  • At least one processor the number of times that the location of the second user terminal exceeds a preset distance from the preset place, or the second user terminal recognizes the first QR code 300 or the second QR code 400 Even if the number exceeds the preset number, if the ID of the second user terminal is the same as the ID of the first user terminal in the preset place, the first QR code 300 or the second recognized by the second user terminal
  • the QR code 400 can be determined as authentic.
  • the food distribution system performs encryption and decryption steps for the QR code, thereby preventing the distribution of fake food by forging and falsifying the QR code, and providing authentic food to consumers. Can provide.
  • FIG. 5 an exemplary program screen providing information on production of food according to an embodiment of the present invention will be described in detail.
  • the production information may include information such as the type of livestock product, the place of origin, the amount of food, the date of grade determination, the date of packaging, the expiration date, the storage method and temperature, the producer, the salesperson, and the telephone number of the consumer consultation office. I can. In addition, it may contain necessary production information depending on the food.
  • FIGS. 6A and 6B an exemplary program screen for providing food history information according to an embodiment of the present invention will be described in detail through FIGS. 6A and 6B.
  • a temperature/humidity sensor may be installed in at least one of a packaging box of food, a box and a warehouse in which food is stored, and a loading box of a vehicle that moves food.
  • the temperature/humidity sensor is not limited thereto, and may be installed anywhere a temperature and humidity of an environment in which food is stored can be measured.
  • At least one processor measures the temperature and humidity of the environment in which food is stored in real time by a temperature/humidity sensor, and when the environment in which food is stored changes, when the food is moving to another place, and When it is at least one of when moving to the place is completed, the temperature and humidity of the environment where food is stored is measured, and the information is transmitted to a plurality of user terminals 500-1, 500-2, 500-3, and 500-4. ) Can be provided by schedule (eg, date).
  • the temperature/humidity sensor is not limited thereto, and can measure and record the surrounding temperature and humidity in real time.
  • the above-described history information may include information on temperature and humidity of an environment in which food is stored.
  • At least one processor 2 A push alarm can be provided to all user terminals that have recognized the QR code 400 and the first QR code 300 printed on the packaging paper or packaging box of food. Accordingly, when an abnormality in the environment in which food is stored occurs, a push alarm is provided to a producer or distributor related thereto, thereby enabling a quick response.
  • a preset threshold eg, 10% upper and lower limits from the reference value
  • the temperature/humidity sensor includes a GPS function that recognizes and/or records the location coordinates where the temperature/humidity sensor is located in real time, and when measuring the temperature and humidity of the environment where food is stored, the temperature/humidity sensor Position coordinates to be located can be recognized and/or recorded.
  • the location information includes location coordinates
  • the at least one processor transmits location information indicated by points and/or lines in which location coordinates are continuous on a map, and the plurality of user terminals 500-1, 500-2, 500-3 , 500-4).
  • At least one processor collects cache from a plurality of user terminals 500-1, 500-2, 500-3, and 500-4 to form big data including the user's age and internet search history, and From the data, a user-customized recipe may be provided to the plurality of user terminals 500-1, 500-2, 500-3, and 500-4 in consideration of the user's age, Internet search record, and environmental variables.
  • the user terminal collecting the cache is not limited to the plurality of user terminals 500-1, 500-2, 500-3, and 500-4, and may include other user terminals.
  • the environmental variables may include weather, season, whether or not broadcast through recent media, and frequency.
  • FIG. 8 an exemplary program screen indicating that a plurality of QR codes are recognized according to an embodiment of the present invention will be described in detail.
  • the at least one processor may be configured by a plurality of user terminals 500-1, 500-2, 500-3, and 500-4 by at least one first QR code 300 and/or at least one second QR code ( When 400 is dynamically photographed, the first QR code 300 and/or the second QR code 400 captured by the plurality of user terminals 500-1, 500-2, 500-3, 500-4 ) Can be recognized as multiple QR sensing.
  • recognizing a QR code using a user terminal in normal cases, when one QR code is recognized in an image captured by the user terminal's camera, a screen on which the URL appears is created, allowing the user to use the URL. It only allows access to a connected website, etc., and does not search for additional QR codes when one QR code is recognized.
  • the user terminal dynamically recognizes one QR code from an image captured by moving the camera, that is, it is not limited to this, and at least one QR code captured in the corresponding image is It can be made more aware.
  • the URL for this is stored in memory, and if there is an additional QR code by searching for an additional QR code in the image, the URL for this is also stored in the memory
  • a list of URLs stored in the memory may be provided to the user terminal.
  • a list of URLs corresponding to the first QR code 300 and/or the second QR code 400 recognized as a plurality of the plurality of user terminals 500-1, 500-2, 500-3, 500-4 By providing, food information can be provided for each list.
  • a plurality of QR codes can be recognized in plurality. Therefore, even when the packaging paper and the packaging box of the food are removed and then stored in a refrigerator, the food information of the food can be checked, and the food stored in plural can be quickly checked at a time without the need to check each food individually with a QR code.
  • a computer program (eg, an application) stored in a medium is installed in a user terminal (eg, a smart phone) to be executed on an electronic device, thereby performing its function.
  • a user terminal eg, a smart phone

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Development Economics (AREA)
  • Electromagnetism (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Finance (AREA)
  • General Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Signal Processing (AREA)
  • Game Theory and Decision Science (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A system for distributing food by using a blockchain according to an embodiment of the present invention comprises: a QR code printing device; multiple user terminals capable of recognizing the QR code; multiple nodes that the multiple user terminals can access; a blockchain in which the multiple nodes are registered; at least one processor; and at least one memory. The at least one processor produces a first QR code on the basis of QR data received from a server, and subjects the first QR code to image conversion processing, thereby producing a second QR code. The at least one processor prints the second QR code stored in the memory on an object having a curved surface (food itself) by means of the QR code printing device, and prints the first QR code on at least one of a packaging sheet and a packaging box of the food. When the first or second QR code is recognized by the user terminal, the at least one processor provides the user terminal with food information corresponding to the food via a URL, registers a block including a transaction comprising the food information in the block chain, and connects the block in a hash chain type. The at least one processor transmits the transaction, which has occurred on one of the multiple nodes registered in the blockchain, to the multiple nodes registered in the blockchain such that the transaction is shared by the multiple nodes. The image conversion processing maintains four vertices of the first QR code and deforms lines that connect the vertices into convex types, thereby producing the second QR code that can be QR-recognized even on the object having a curved surface.

Description

블록 체인을 이용한 식품 유통 시스템, 방법 및 프로그램Food distribution system, method and program using blockchain
본 발명은 블록 체인을 이용한 식품 유통 시스템, 방법 및 프로그램에 관한 것으로, 더욱 상세하게는, 식품 자체에 QR 코드를 인쇄하고, 이를 통해 생산자, 유통자 및 소비자에 이르기까지의 생산 및 유통 과정이 블록 체인으로 관리되는 식품 유통 시스템, 방법 및 프로그램에 관한 것이다.The present invention relates to a food distribution system, method, and program using a block chain, and more specifically, by printing a QR code on the food itself, through which the production and distribution process to producers, distributors and consumers is blocked. It relates to chain-managed food distribution systems, methods and programs.
국내 계란 소비량이 지속적으로 증가하고 있는 시점에서, 살충제 파동, 조류 독감 등의 문제로 인한 낙농업계의 달걀의 위생 및 안전성 확보에 대한 요구가 증가하고 있는 실정이다.At the time when domestic egg consumption continues to increase, the demand for hygiene and safety of eggs from the dairy industry is increasing due to problems such as pesticide fluctuations and bird flu.
식품의약품안전처가 달걀의 위생 및 안전성 확보를 위해 달걀 난각(껍데기)에 산란일자 표시 등을 골자로 하는 '축산물 표시 기준'의 일부 개정안을 최근 고시했다. 하지만, 산란계 농가들은 콜드 체인 시스템 구축 및 계란 유통 센터 건립 확대 등의 근본적인 대책들이 선행되지 않은 채 산란일자 표기만으로 달걀 안전성을 확보한다는 정부 대책은 탁상공론이란 지적을 받고 있다.The Ministry of Food and Drug Safety recently announced a partial amendment to the'Livestock Labeling Standards', which focuses on marking the egg eggshell (shell) with the date of spawning to ensure the hygiene and safety of eggs. However, laying hen farmers are being pointed out that the government's countermeasure to secure egg safety by simply marking the laying date without taking fundamental measures such as establishing a cold chain system and expanding the establishment of an egg distribution center is a tabletop public opinion.
본 발명의 배경이 되는 기술로는 일본 공개특허공보 제2016-146091호(이하, '종래기술'이라 한다.)가 있다. 종래기술은 계란의 표면에 광고 표시 등의 정보를 표시함으로써 광고 효과를 기대할 수 있는 계란, 정보 표시 시스템 및 정보 표시 방법을 개시한다.Japanese Patent Application Laid-Open No. 2016-146091 (hereinafter referred to as “conventional technology”) is a technology behind the present invention. The prior art discloses an egg, an information display system, and an information display method that can expect an advertisement effect by displaying information such as advertisement display on the surface of the egg.
하지만, 종래기술은 계란의 표면에 광고 등을 표시할 뿐, 생산 및 유통 정보를 제공하지 않으므로, 생산자 및 유통자가 신선한 계란을 생산 및 유통시켜서 소비자에게 공급하는 데 필요한 정보는 전혀 제공하지 않는다.However, the prior art only displays advertisements on the surface of eggs and does not provide production and distribution information, and thus does not provide any information necessary for producers and distributors to produce and distribute fresh eggs and supply them to consumers.
본 발명은 식품, 예를 들어 계란 그 자체에 이미지 변형된 QR 코드를 인쇄하고, 이를 통해 생산자, 유통자 및 소비자에 이르기까지의 생산 및 유통 과정이 블록 체인으로 관리되는 식품 유통 시스템, 방법 및 프로그램을 제공한다.The present invention is a food distribution system, method, and program in which an image-modified QR code is printed on food, for example, an egg itself, and the production and distribution process to producers, distributors, and consumers is managed through a blockchain. Provides.
본 발명은 식품, 예를 들어 계란 그 자체에 이미지 변형된 QR 코드를 인쇄하여, 일반 스마트폰으로도 QR 인식을 가능하게 하고, 이를 통해 생산자, 유통자 및 소비자 간에 블록 체인을 통해 계란의 생산 정보, 이력 정보 및 이력 정보를 공유하게 하는 것을 해결과제로 한다.The present invention enables QR recognition with a general smartphone by printing an image-modified QR code on food, for example, the egg itself, through which producer, distributor, and consumer information about egg production through a block chain. , To share history information and history information is a task to solve.
한편, 본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 포함될 수 있다.Meanwhile, the technical problem to be achieved by the present invention is not limited to the technical problem mentioned above, and various technical problems may be included within a range that is obvious to a person skilled in the art from the contents to be described below.
상기와 같은 과제를 해결하기 위한 본 발명의 일 실시예에 따른 블록 체인을 이용한 식품 유통 시스템은 QR 코드 인쇄 장치; QR 코드를 인식 가능한 복수의 사용자 단말; 상기 복수의 사용자 단말이 접속 가능한 복수의 노드; 상기 복수의 노드가 등록된 블록 체인; 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 의한 실행 시, 상기 적어도 하나의 프로세서가 연산을 수행하도록 하는 명령들이 저장된 적어도 하나의 메모리를 포함하고, 상기 적어도 하나의 프로세서는, 서버로부터 수신된 QR 데이터에 기초하여 제1 QR 코드를 생성하고, 상기 제1 QR 코드에 대해 이미지 변환 처리를 함으로써 제2 QR 코드를 생성하고, 상기 제2 QR 코드를 상기 메모리에 저장하고, 상기 QR 코드 인쇄 장치에 의해, 상기 메모리에 저장된 상기 제2 QR 코드를 곡면체인 식품 그 자체에 인쇄하고 - 상기 곡면체는 곡면을 따르는 점들에서의 곡률 반지름이 서로 상이한 난형의 곡면체를 포함함 -, 상기 QR 코드 인쇄 장치에 의해, 상기 제1 QR 코드를 상기 식품의 포장지 및 포장 박스 중 적어도 하나에 인쇄하고, 상기 사용자 단말에 의해 상기 제1 QR 코드 또는 상기 제2 QR 코드가 인식될 때, URL을 통해 상기 식품에 대응하는 식품 정보를 상기 사용자 단말에 제공하고 - 상기 식품 정보는 생산 정보, 이력 정보 및 위치 정보를 포함하고, 상기 생산 정보는 상기 식품의 원산지, 내용량, 등급 판정일, 포장일, 유통기한, 생산자, 및 판매원을 포함함 -, 상기 식품 정보로 구성된 트랜잭션을 포함하는 블록을 상기 블록 체인에 등록하여, 상기 블록을 해쉬 체인(Hash Chain)의 형태로 연결하고, 상기 블록 체인에 등록된 상기 복수의 노드 중 하나의 노드에서 발생한 상기 트랜잭션을 상기 블록 체인에 등록된 상기 복수의 노드에 전송하여, 상기 트랜잭션이 상기 복수의 노드에 의해 공유되도록 하고 - 상기 트랜잭션은 상기 식품 정보의 생성, 변화 및 폐기를 포함함 -, 상기 이미지 변환 처리는, 상기 제1 QR 코드의 네 개의 꼭지점들을 유지하되, 상기 꼭지점들을 연결하는 선을 볼록한 형태로 변형시킴으로써, 상기 곡면체에서도 QR 인식이 가능한 상기 제2 QR 코드를 생성하는 것을 특징으로 한다.A food distribution system using a block chain according to an embodiment of the present invention for solving the above problems includes a QR code printing device; A plurality of user terminals capable of recognizing QR codes; A plurality of nodes to which the plurality of user terminals are accessible; A block chain in which the plurality of nodes are registered; At least one processor; And at least one memory in which instructions for causing the at least one processor to perform an operation are stored when executed by the at least one processor, wherein the at least one processor is configured based on QR data received from the server. 1 Generate a QR code, generate a second QR code by performing image conversion processing on the first QR code, store the second QR code in the memory, and by the QR code printing device, in the memory The stored second QR code is printed on the food itself, which is a curved surface, and the curved body includes an oval-shaped curved body having different radii of curvature at points along the curved surface.- By the QR code printing device, the first QR When the code is printed on at least one of the packaging paper and the packaging box of the food, and when the first QR code or the second QR code is recognized by the user terminal, food information corresponding to the food is transmitted to the user through a URL. Provided to the terminal-The food information includes production information, history information, and location information, and the production information includes the origin, content, grade determination date, packaging date, expiration date, producer, and sales person of the food- , By registering a block containing a transaction consisting of the food information in the block chain, connecting the block in the form of a hash chain, and occurring in one node among the plurality of nodes registered in the block chain Transmit the transaction to the plurality of nodes registered in the blockchain, so that the transaction is shared by the plurality of nodes-the transaction includes the creation, change and destruction of the food information -, the image conversion The process is characterized in that, while maintaining the four vertices of the first QR code, by transforming a line connecting the vertices into a convex shape, the second QR code capable of QR recognition even in the curved surface is generated.
또한, 본 발명의 일 실시예에 따른 식품 유통 시스템은 상기 식품의 상기 포장 박스, 상기 식품이 보관되는 박스 및 창고, 상기 식품을 이동시키는 차량의 적재함 중 적어도 하나에 설치되는 온ㆍ습도 센서를 더 포함하고, 상기 적어도 하나의 프로세서는, 상기 온ㆍ습도 센서에 의해 상기 식품이 보관되는 환경의 온도 및 습도를 실시간으로 측정하고, 상기 식품이 보관되는 환경이 변화할 때, 상기 식품이 다른 장소로 이동 중일 때, 그리고 상기 식품이 다른 장소로 이동을 완료했을 때 중 적어도 하나일 때, 상기 식품이 보관되는 환경의 상기 온도 및 상기 습도를 측정하여 상기 사용자 단말에 제공하고, 상기 이력 정보는 상기 식품이 보관되는 환경의 상기 온도 및 상기 습도를 포함하는 것을 특징으로 한다.In addition, the food distribution system according to an embodiment of the present invention further includes a temperature/humidity sensor installed in at least one of the packaging box of the food, a box and a warehouse in which the food is stored, and a loading box of a vehicle that moves the food. Including, the at least one processor, the temperature and humidity sensor to measure the temperature and humidity of the environment in which the food is stored in real time, and when the environment in which the food is stored changes, the food is moved to another place. When at least one of when moving and when the food has finished moving to another place, the temperature and the humidity of the environment in which the food is stored are measured and provided to the user terminal, and the history information is the food It is characterized by including the temperature and the humidity of the stored environment.
또한, 본 발명의 일 실시예에 따른 식품 유통 시스템에서, 상기 온ㆍ습도 센서는 상기 온ㆍ습도 센서가 위치하는 위치 좌표를 실시간으로 인식하는 GPS 기능을 포함하고, 상기 식품이 보관되는 환경의 상기 온도 및 상기 습도를 측정할 때, 상기 온ㆍ습도 센서가 위치하는 상기 위치 좌표를 인식하고, 상기 위치 정보는 상기 위치 좌표를 포함하고, 상기 적어도 하나의 프로세서는, 상기 위치 좌표가 지도 상에서 연속된 점 또는 선으로 표시된 상기 위치 정보를 상기 사용자 단말에 제공하는 것을 특징으로 한다.In addition, in the food distribution system according to an embodiment of the present invention, the temperature/humidity sensor includes a GPS function for real-time recognition of position coordinates at which the temperature/humidity sensor is located, and the environment in which the food is stored When measuring the temperature and the humidity, the location coordinates where the temperature/humidity sensor is located are recognized, the location information includes the location coordinates, and the at least one processor includes the location coordinates consecutive on the map. It characterized in that the location information indicated by a dot or a line is provided to the user terminal.
또한, 본 발명의 일 실시예에 따른 식품 유통 시스템에서, 상기 적어도 하나의 프로세서는, 상기 제1 QR 코드를 생성한 후 상기 제2 QR 코드를 생성하기 전에, 상기 QR 데이터에 64비트 키를 이용하여 데이터 암호화 알고리즘을 세 단계에 걸쳐 적용함으로써 암호화를 수행하고, 상기 사용자 단말에 의해 상기 제1 QR 코드 또는 상기 제2 QR 코드가 인식될 때, 상기 URL을 통해 상기 사용자 단말이 접속되는 상기 서버에서 복호화를 수행하고, 상기 사용자 단말의 위치 및 상기 사용자 단말이 상기 제1 QR 코드 또는 상기 제2 QR 코드를 인식한 횟수, 상기 사용자 단말의 ID를 수집하는 것을 특징으로 한다.In addition, in the food distribution system according to an embodiment of the present invention, the at least one processor uses a 64-bit key for the QR data after generating the first QR code and before generating the second QR code. Then, encryption is performed by applying a data encryption algorithm over three steps, and when the first QR code or the second QR code is recognized by the user terminal, in the server to which the user terminal is accessed through the URL The decryption is performed, and the location of the user terminal, the number of times the user terminal recognizes the first QR code or the second QR code, and an ID of the user terminal are collected.
또한, 본 발명의 일 실시예에 따른 식품 유통 시스템에서, 상기 사용자 단말은 제1 사용자 단말 및 제2 사용자 단말을 포함하고, 상기 적어도 하나의 프로세서는, 상기 제2 사용자 단말의 위치가 미리 설정된 장소로부터 미리 설정된 거리를 초과하고, 상기 제2 사용자 단말의 ID가 상기 미리 설정된 장소에서의 제1 사용자 단말의 ID와 상이한 경우, 상기 제2 사용자 단말에 의해 인식된 상기 제1 QR 코드 또는 상기 제2 QR 코드를 가품으로 판정하고, 상기 제2 사용자 단말의 위치가 상기 미리 설정된 장소로부터 상기 미리 설정된 거리를 초과하지 않는 경우, 상기 제2 사용자 단말이 상기 제1 QR 코드 또는 상기 제2 QR 코드를 인식한 횟수가 미리 설정된 횟수를 초과하고, 상기 제2 사용자 단말의 상기 ID가 상기 미리 설정된 장소에서의 상기 제1 사용자 단말의 상기 ID와 상이하다면, 상기 제2 사용자 단말에 의해 인식된 상기 제1 QR 코드 또는 상기 제2 QR 코드를 가품으로 판정하고, 상기 제2 사용자 단말의 위치가 상기 미리 설정된 장소로부터 상기 미리 설정된 거리를 초과하지 않고, 상기 제2 사용자 단말이 상기 제1 QR 코드 또는 상기 제2 QR 코드를 인식한 횟수가 상기 미리 설정된 횟수를 초과하지 않는 경우, 상기 제2 사용자 단말에 의해 인식된 상기 제1 QR 코드 또는 상기 제2 QR 코드를 진품으로 판정하고, 상기 제2 사용자 단말의 위치가 상기 미리 설정된 장소로부터 상기 미리 설정된 거리를 초과하거나, 상기 제2 사용자 단말이 상기 제1 QR 코드 또는 상기 제2 QR 코드를 인식한 횟수가 상기 미리 설정된 횟수를 초과하는 경우에도, 상기 제2 사용자 단말의 상기 ID가 상기 미리 설정된 장소에서의 상기 제1 사용자 단말의 상기 ID와 동일하다면, 상기 제2 사용자 단말에 의해 인식된 상기 제1 QR 코드 또는 상기 제2 QR 코드를 진품으로 판정하는 것을 특징으로 한다.In addition, in the food distribution system according to an embodiment of the present invention, the user terminal includes a first user terminal and a second user terminal, and the at least one processor is a place in which the location of the second user terminal is preset. When a preset distance is exceeded and the ID of the second user terminal is different from the ID of the first user terminal at the preset place, the first QR code recognized by the second user terminal or the second If the QR code is determined as a fake and the location of the second user terminal does not exceed the preset distance from the preset place, the second user terminal recognizes the first QR code or the second QR code If one number exceeds a preset number and the ID of the second user terminal is different from the ID of the first user terminal at the preset place, the first QR recognized by the second user terminal The code or the second QR code is determined as a fake, the location of the second user terminal does not exceed the preset distance from the preset place, and the second user terminal is the first QR code or the second When the number of times the QR code is recognized does not exceed the preset number, the first QR code or the second QR code recognized by the second user terminal is determined to be genuine, and the location of the second user terminal Even when the second user terminal exceeds the preset distance from the preset place, or when the number of times the second user terminal recognizes the first QR code or the second QR code exceeds the preset number, the second user If the ID of the terminal is the same as the ID of the first user terminal at the preset location, the first QR code or the second QR code recognized by the second user terminal is determined as genuine To do.
또한, 본 발명의 일 실시예에 따른 식품 유통 시스템에서, 상기 식품이 보관되는 환경이 변화하는 경우, 상기 온도 또는 상기 습도가 미리 설정된 임계값을 초과하여 변화한다면, 상기 적어도 하나의 프로세서는, 상기 식품에 인쇄된 상기 제2 QR 코드 및 상기 식품의 상기 포장지 또는 상기 포장 박스에 인쇄된 상기 제1 QR 코드를 인식하였던 모든 사용자 단말에 푸쉬 알람(Push Alarm)을 제공하는 것을 특징으로 한다.Further, in the food distribution system according to an embodiment of the present invention, when the environment in which the food is stored changes, if the temperature or the humidity changes by exceeding a preset threshold, the at least one processor It characterized in that it provides a push alarm (Push Alarm) to all user terminals that have recognized the second QR code printed on the food and the first QR code printed on the packaging paper or the packaging box of the food.
또한, 본 발명의 일 실시예에 따른 식품 유통 시스템에서, 상기 적어도 하나의 프로세서는, 상기 사용자 단말로부터 캐시를 수집하여, 사용자의 연령 및 인터넷 검색 기록을 포함하는 빅데이터를 형성하고, 상기 빅데이터로부터, 상기 사용자의 연령, 상기 인터넷 검색 기록 및 환경 변수를 고려하여, 사용자 맞춤형 레시피를 상기 사용자 단말에 제공하는 것을 특징으로 한다.In addition, in the food distribution system according to an embodiment of the present invention, the at least one processor collects a cache from the user terminal to form big data including the user's age and internet search record, and the big data From, in consideration of the user's age, the Internet search record, and environment variables, a customized recipe is provided to the user terminal.
또한, 본 발명의 일 실시예에 따른 식품 유통 시스템에서, 상기 적어도 하나의 프로세서는, 상기 사용자 단말에 의해 적어도 하나의 상기 제1 QR 코드, 적어도 하나의 상기 제2 QR 코드, 또는, 적어도 하나의 상기 제1 QR 코드 및 적어도 하나의 상기 제2 QR 코드의 조합이 동적으로 촬영될 때, 상기 사용자 단말에 의해 포착되는 상기 제1 QR 코드 또는 상기 제2 QR 코드가 복수로 인식되게 하고, 복수로 인식된 상기 제1 QR 코드 또는 상기 제2 QR 코드에 대응하는 URL의 목록을 상기 사용자 단말에 제공함으로써, 상기 목록 별로 상기 식품 정보를 제공하는 것을 특징으로 한다.In addition, in the food distribution system according to an embodiment of the present invention, the at least one processor, by the user terminal, at least one of the first QR code, at least one of the second QR code, or, at least one When the combination of the first QR code and the at least one second QR code is dynamically photographed, the first QR code or the second QR code captured by the user terminal is recognized as a plurality, and a plurality of By providing a list of URLs corresponding to the recognized first QR code or the second QR code to the user terminal, the food information is provided for each list.
본 발명의 일 실시예에 따른 블록 체인을 이용한 식품 유통 방법은, 서버로부터 수신된 QR 데이터에 기초하여 제1 QR 코드를 생성하는 단계; 상기 제1 QR 코드에 대해 이미지 변환 처리를 함으로써 제2 QR 코드를 생성하는 단계; 상기 제2 QR 코드를 메모리에 저장하는 단계; QR 코드 인쇄 장치에 의해, 상기 메모리에 저장된 상기 제2 QR 코드를 곡면체인 식품 그 자체에 인쇄하는 단계 - 상기 곡면체는 곡면을 따르는 점들에서의 곡률 반지름이 서로 상이한 난형의 곡면체를 포함함 -; 상기 QR 코드 인쇄 장치에 의해, 상기 제1 QR 코드를 상기 식품의 포장지 및 포장 박스 중 적어도 하나에 인쇄하는 단계; 상기 사용자 단말에 의해 상기 제1 QR 코드 또는 상기 제2 QR 코드가 인식될 때, URL을 통해 상기 식품에 대응하는 식품 정보를 상기 사용자 단말에 제공하는 단계 - 상기 식품 정보는 생산 정보, 이력 정보 및 위치 정보를 포함하고, 상기 생산 정보는 상기 식품의 원산지, 내용량, 등급 판정일, 포장일, 유통기한, 생산자, 및 판매원을 포함함 -; 상기 식품 정보로 구성된 트랜잭션을 포함하는 블록을 상기 블록 체인에 등록하여, 상기 블록을 해쉬 체인(Hash Chain)의 형태로 연결하는 단계; 및 상기 블록 체인에 등록된 복수의 노드 중 하나의 노드에서 발생한 상기 트랜잭션을 상기 블록 체인에 등록된 상기 복수의 노드에 전송하여, 상기 트랜잭션이 상기 복수의 노드에 의해 공유되도록 하는 단계 - 상기 트랜잭션은 상기 식품 정보의 생성, 변화 및 폐기를 포함함 - 를 포함하고, 상기 이미지 변환 처리는, 상기 제1 QR 코드의 네 개의 꼭지점들을 유지하되, 상기 꼭지점들을 연결하는 선을 볼록한 형태로 변형시킴으로써, 상기 곡면체에서도 QR 인식이 가능한 상기 제2 QR 코드를 생성하는 것을 특징으로 한다.A food distribution method using a block chain according to an embodiment of the present invention comprises the steps of: generating a first QR code based on QR data received from a server; Generating a second QR code by performing image conversion processing on the first QR code; Storing the second QR code in a memory; Printing the second QR code stored in the memory on the food itself, which is a curved surface, by a QR code printing apparatus, the curved body including an oval-shaped curved body having different radiuses of curvature at points along the curved surface; Printing the first QR code on at least one of a packaging paper and a packaging box of the food by the QR code printing device; When the first QR code or the second QR code is recognized by the user terminal, providing food information corresponding to the food through a URL to the user terminal-The food information includes production information, history information, and It includes location information, and the production information includes the origin of the food, the content amount, the grade determination date, the packaging date, the expiration date, the producer, and the sales person; Registering a block including a transaction consisting of the food information in the block chain, and connecting the block in the form of a hash chain; And transmitting the transaction occurring in one node among the plurality of nodes registered in the block chain to the plurality of nodes registered in the block chain, so that the transaction is shared by the plurality of nodes.- The transaction is Including the creation, change, and disposal of the food information-and the image conversion process, while maintaining the four vertices of the first QR code, by transforming the line connecting the vertices into a convex shape, the It is characterized in that generating the second QR code capable of QR recognition even on a curved surface.
본 발명의 일 실시예에 따른 컴퓨터 프로그램은, 블록 체인을 이용한 식품 유통 방법을 전자 장치 상에서 실행시키기 위해 매체에 저장된 것을 특징으로 한다.A computer program according to an embodiment of the present invention is characterized in that it is stored in a medium to execute a food distribution method using a block chain on an electronic device.
상기와 같은 본 발명에 따르면 아래에 기재된 효과를 얻을 수 있다. 다만, 본 발명을 통해 얻을 수 있는 효과는 이에 제한되지 않는다.According to the present invention as described above, the effects described below can be obtained. However, the effect obtained through the present invention is not limited thereto.
본 발명에 따르면, 식품 그 자체, 예를 들어 계란 그 자체에 이미지 변형된 QR 코드를 인쇄하여, 일반 스마트폰으로도 QR 인식을 가능하게 하고, 이를 통해 생산자, 유통자 및 소비자 간에 블록 체인을 통해 계란의 생산 정보, 이력 정보 및 이력 정보를 공유하게 한다. 예를 들어, 살충제 파동, 조류 독감 등의 계란 관련 안전 문제가 발생했을 때, 문제가 있는 계란의 생산 근원지, 유통 과정 등을 신속하고 명확하게 파악할 수 있으므로, 이러한 문제가 되는 생산 및 유통 라인에 있는 계란만 폐기하는 등의 맞춤형 대응이 가능하다.According to the present invention, by printing an image-modified QR code on the food itself, for example, the egg itself, it is possible to recognize QR even with a general smartphone, and through this block chain between producers, distributors and consumers. Share egg production information, history information, and history information. For example, in the event of an egg-related safety problem such as a pesticide surge or bird flu, it is possible to quickly and clearly identify the production source and distribution process of the problem egg. Customized responses such as discarding only eggs are possible.
또한, 본 발명에 따르면, 식품 그 자체에 이미지 변형된 QR 코드를 인쇄함으로써, 식품이 소비자에게 최종적으로 도달한 후에도 소비자가 식품의 포장지 또는 포장 박스를 제거하여 냉장고 등에 식품 자체만을 보관하는 경우에도, QR 코드를 통해 식품의 이력 정보 및 유통 기한 등을 용이하게 확인하게 할 수 있다. 특히, 복수의 QR 코드를 촬영할 때, QR 코드가 복수로 인식되게 하는 멀티 QR 센싱을 가능하게 하여, 소비자가 보관된 복수의 식품에 대해 이력 정보 및 유통 기한 등을 용이하게 확인하게 할 수 있다.In addition, according to the present invention, by printing an image-modified QR code on the food itself, even after the food finally reaches the consumer, even when the consumer removes the packaging paper or packaging box of the food and stores the food itself in a refrigerator or the like, Through the QR code, it is possible to easily check food history information and expiration date. In particular, when photographing a plurality of QR codes, it is possible to enable multi-QR sensing in which a plurality of QR codes are recognized, so that a consumer can easily check the history information and expiration date of a plurality of stored foods.
또한, 본 발명에 따르면, 식품의 생산 정보, 이력 정보 및 이력 정보가 블록 체인에 등록되어, 해당 정보가 생산자, 유통자 및 소비자에게 공유 및 관리되므로, 정보의 무결성 및 명확성을 확보할 수 있다. 이를 통해, 중간 상인의 매점매석을 방지하고, 콜드체인 물류를 획기적으로 개선하며, 정보의 위조 및 변조를 방지할 수 있다.In addition, according to the present invention, food production information, history information, and history information are registered in the blockchain, and the information is shared and managed with producers, distributors and consumers, so the integrity and clarity of information can be ensured. Through this, it is possible to prevent intermediary merchants from buying and selling stores, dramatically improve cold chain logistics, and prevent forgery and falsification of information.
또한, 본 발명에 따르면, QR 코드에 대해 암호화 및 복호화 단계를 수행함으로써, QR 코드를 위조 및 변조함으로써 가품인 식품이 유통되는 것을 방지하고, 확실한 정품인 식품을 소비자에게 제공할 수 있다.In addition, according to the present invention, by performing the encryption and decryption step on the QR code, it is possible to prevent the distribution of fake food by forgery and falsification of the QR code, and provide reliable genuine food to consumers.
또한, 본 발명에 따르면, 식품의 이력 정보에 식품이 보관되는 환경의 온도 및 습도를 포함시킴으로써, 환경의 이상이 발생하면, 이에 관련한 생산자 또는 유통자에게 푸쉬 알람을 제공하여, 신속한 대응을 가능하게 한다.In addition, according to the present invention, by including the temperature and humidity of the environment in which the food is stored in the food history information, when an abnormality in the environment occurs, a push alarm is provided to the producer or distributor related thereto, enabling a quick response. do.
또한, 본 발명에 따르면, 빅데이터를 활용한 식품의 레시피를 소비자에게 제공하여, 식품의 소비를 촉진시킬 수 있다.Further, according to the present invention, it is possible to promote food consumption by providing a recipe for food using big data to consumers.
본 발명에서 이루고자 하는 기술적 과제들은 상기 기술적 과제로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the above technical problems, and other technical problems that are not mentioned will be clearly understood by those of ordinary skill in the technical field to which the present invention belongs from the following description.
도 1은, 본 발명의 일 실시예에 따른 QR 코드를 인쇄하기 위한 장치를 나타내는 개념도이다.1 is a conceptual diagram showing an apparatus for printing a QR code according to an embodiment of the present invention.
도 2는, 본 발명의 일 실시예에 따른 QR 코드에 대한 이미지 변환 처리를 설명하는 설명도이다.2 is an explanatory diagram illustrating image conversion processing for a QR code according to an embodiment of the present invention.
도 3은, 본 발명의 일 실시예에 따른 블록 체인을 나타내는 개념도이다.3 is a conceptual diagram showing a block chain according to an embodiment of the present invention.
도 4는, 본 발명의 일 실시예에 따른 식품 유통 방법을 나타내는 순서도이다.4 is a flow chart showing a food distribution method according to an embodiment of the present invention.
도 5는, 본 발명의 일 실시예에 따른 식품의 생산 정보를 제공하는 예시적인 프로그램 화면이다.5 is an exemplary program screen for providing food production information according to an embodiment of the present invention.
도 6a는, 본 발명의 일 실시예에 따른 식품의 이력 정보를 제공하는 예시적인 프로그램 화면이다.6A is an exemplary program screen providing history information of food according to an embodiment of the present invention.
도 6b는, 본 발명의 일 실시예에 따른 식품의 이력 정보를 제공하는 예시적인 프로그램 화면이다.6B is an exemplary program screen providing history information of food according to an embodiment of the present invention.
도 7은, 본 발명의 일 실시예에 따른 식품의 레시피를 제공하는 예시적인 프로그램 화면이다.7 is an exemplary program screen for providing a food recipe according to an embodiment of the present invention.
도 8은, 본 발명의 일 실시예에 따른 QR 코드가 복수로 인식되는 것을 나타내는 예시적인 프로그램 화면이다.8 is an exemplary program screen showing that a plurality of QR codes are recognized according to an embodiment of the present invention.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 '블록 체인을 이용한 식품 유통 시스템, 방법 및 프로그램'을 상세하게 설명한다. 설명하는 실시예들은 본 발명의 기술 사상을 통상의 기술자가 용이하게 이해할 수 있도록 제공되는 것으로 이에 의해 본 발명이 한정되지 않는다. 또한, 첨부된 도면에 표현된 사항들은 본 발명의 실시예들을 쉽게 설명하기 위한 도식화된 도면으로 실제로 구현되는 형태와 상이할 수 있다.Hereinafter, a'food distribution system, method and program using a block chain' according to the present invention will be described in detail with reference to the accompanying drawings. The described embodiments are provided so that a person skilled in the art can easily understand the technical idea of the present invention, and the present invention is not limited thereto. In addition, matters expressed in the accompanying drawings are schematic drawings for easily explaining embodiments of the present invention, and may be different from a form actually implemented.
한편, 이하에서 표현되는 각 구성부는 본 발명을 구현하기 위한 예일 뿐이다. 따라서, 본 발명의 다른 구현에서는 본 발명의 사상 및 범위를 벗어나지 않는 범위에서 다른 구성부가 사용될 수 있다.Meanwhile, each component expressed below is only an example for implementing the present invention. Accordingly, in other implementations of the present invention, other components may be used without departing from the spirit and scope of the present invention.
또한, 어떤 구성요소들을 '포함'한다는 표현은, 개방형의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.In addition, the expression'including' certain elements is an open expression, merely refers to the existence of the corresponding elements, and should not be understood as excluding additional elements.
또한, 본 교시들이 다양한 실시예들과 관련하여 기술되지만, 본 교시들이 그러한 실시예들로 한정되도록 의도되지 않는다. 오히려, 본 기술분야의 통상의 기술자들에 의해 이해되는 바와 같이, 본 교시들은 다양한 대안들, 수정들, 및 동등물들을 포함한다.Further, while the present teachings are described in connection with various embodiments, it is not intended that the present teachings be limited to such embodiments. Rather, as understood by those of ordinary skill in the art, the present teachings include various alternatives, modifications, and equivalents.
또한, '사용자 단말' 및 '전자 장치'는, 스마트폰, 웨어러블 디바이스(예컨대, 스마트 안경, 시계 등), IoT 단말기, 개인 휴대 단말기(PDA), 태블릿 PC, 랩탑 컴퓨터 또는 서버와 통신할 수 있고, 카메라가 내장되어 있어 QR 코드를 인식할 수 있는 임의의 장치일 수 있다.In addition, the'user terminal' and the'electronic device' can communicate with a smartphone, a wearable device (eg, smart glasses, watches, etc.), an IoT terminal, a personal digital assistant (PDA), a tablet PC, a laptop computer, or a server. , It may be any device that has a built-in camera and can recognize a QR code.
또한, '프로세서'는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.In addition, the'processor' may include a hardware configuration such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, and a data bus. In addition, it may further include an operating system and a software configuration of an application that performs a specific purpose.
또한, '서버'는 일반적인 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치, 라우터, 스위치 등과 같은 전자 통신 장치, 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 명령들)의 조합을 이용하여 원하는 시스템 성능 및 기능을 달성하는 것일 수 있다.In addition, the'server' is a general computing device (e.g., a computer processor, memory, storage, input device and output device, devices that may include components of other conventional computing devices, electronic communication devices such as routers, switches, etc. Electronic information storage systems such as attached storage (NAS) and storage area networks (SAN)) and computer software (i.e., instructions that cause a computing device to function in a specific way) to achieve desired system performance and functionality. It may be to achieve.
또한, '매체'는, 컴퓨터 판독가능 저장 매체를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 예를 들어, 그와 같은 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장장치, 자기 디스크 저장장치 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 운반하거나 저장하는데 이용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있지만, 이들로 제한되는 것은 아니다.In addition,'media' includes a computer-readable storage medium. The storage medium can be any available medium that can be accessed by a computer. For example, such computer-readable storage media may be in the form of RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or instructions or data structures. It may include, but is not limited to, any other medium that may be used to carry or store program code and that may be accessed by a computer.
또한, '프로그램'은 상술한 매체에 저장되는 것으로서, 어플리케이션, 소프트웨어를 포함하는 컴퓨터 프로그램일 수 있다.Also, the'program' is stored in the above-described medium, and may be a computer program including an application or software.
이하, 도 1을 통해, 본 발명의 일 실시예에 따른 QR 코드를 인쇄하기 위한 장치를 구체적으로 살펴본다.Hereinafter, an apparatus for printing a QR code according to an embodiment of the present invention will be described in detail through FIG. 1.
QR 코드 인쇄 장치(100)는 적어도 하나의 프로세서(110), 상기 적어도 하나의 프로세서(110)에 의한 실행 시, 상기 적어도 하나의 프로세서(110)가 연산을 수행하도록 하는 명령들이 저장된 적어도 하나의 메모리(120)를 포함하고, 서버(200)로부터 QR 코드를 수신하거나, 사용자 입력을 받기 위한 입력 장치(130) 및 QR 코드를 인쇄하기 위해 잉크를 분사하는 출력 장치(140)를 더 포함한다.The QR code printing apparatus 100 includes at least one processor 110, at least one memory storing instructions for causing the at least one processor 110 to perform an operation when executed by the at least one processor 110 It includes 120, and further includes an input device 130 for receiving a QR code from the server 200 or receiving a user input, and an output device 140 for ejecting ink to print the QR code.
프로세서(110)는 서버(200)로부터 QR 데이터를 수신한다. 이 때 QR 데이터는 QR 코드를 생성하기 위한 데이터로서, 예를 들어 base64-string 기술이 적용된 데이터일 수 있다. 따라서, 하나의 스트링에 대해 하나의 QR 코드가 매칭되므로, 해당 QR 데이터에 기초하여, 이에 대응하는 QR 코드를 생성할 수 있다.The processor 110 receives QR data from the server 200. In this case, the QR data is data for generating a QR code, and may be data to which base64-string technology is applied, for example. Accordingly, since one QR code is matched with respect to one string, a QR code corresponding thereto may be generated based on the QR data.
생성된 QR 코드는 후술하는 이미지 변환 처리가 수행됨으로써, 이미지 변환된 QR 코드가 메모리(120)에 저장되고, 출력 장치(140)에 의해 객체 그 자체에 인쇄된다. 객체는 곡면체를 포함하고, 곡면체의 예로는 계란 등이 있다. 계란과 같은 곡면체의 경우, 계란의 곡면을 따르는 점들에서의 곡률 반지름이 서로 상이한 난형의 형태를 갖고, 본 발명은 이러한 곡면체 그 자체, 예를 들어 계란 그 자체에 QR 코드를 인쇄하는 기술을 이용할 수 있다.The generated QR code is image-converted to be described later, so that the image-converted QR code is stored in the memory 120 and printed on the object itself by the output device 140. The object includes a curved body, and an example of a curved body is an egg. In the case of a curved body such as an egg, the radius of curvature at points along the curved surface of the egg has a different oval shape, and the present invention can use a technique of printing a QR code on the curved body itself, for example, the egg itself. have.
이하, 도 2를 통해, 본 발명의 일 실시예에 따른 QR 코드에 대한 이미지 변환 처리를 구체적으로 살펴본다.Hereinafter, an image conversion process for a QR code according to an embodiment of the present invention will be described in detail through FIG. 2.
QR 데이터에 기초하여 생성되고, 이미지 변환 처리되기 이전의 원본 QR 코드(이하, '제1 QR 코드'라 한다.)(300)는 제1 QR 코드의 중심으로부터 제1 방향으로의 길이를 나타내는 제1 길이, 제1 QR 코드의 중심으로부터 제1 방향과 직교하는 제2 방향으로의 길이를 나타내는 제2 길이, 및 제1 QR 코드의 중심으로부터 제1 방향 및 제2 방향의 대각선 방향인 제3 방향으로의 길이를 나타내는 제3 길이를 포함한다. 예를 들어, QR 코드의 크기가 1X1 cm2이라면, 제1 길이는 0.5 cm이고, 제2 길이는 0.5 cm이고, 제3 길이는 약 0.71 cm이다. QR 코드의 크기는 1X1 cm2 내지 1.2X1.2 cm2의 범위 내에서 선택될 수 있다.The original QR code generated based on the QR data and before the image conversion processing (hereinafter, referred to as'first QR code') 300 is a first indicating the length from the center of the first QR code in the first direction. 1 length, a second length indicating a length in a second direction perpendicular to the first direction from the center of the first QR code, and a third direction that is a diagonal direction in the first direction and the second direction from the center of the first QR code Includes a third length indicating the length of the furnace. For example, if the size of the QR code is 1X1 cm 2 , the first length is 0.5 cm, the second length is 0.5 cm, and the third length is about 0.71 cm. The size of the QR code may be selected within the range of 1X1 cm 2 to 1.2X1.2 cm 2 .
또한, 제1 QR 코드로부터 이미지 변환 처리되고, 곡면체 그 자체에 인쇄될 라운드된 형태의 QR 코드(이하, '제2 QR 코드'라 한다.)(400)는 제2 QR 코드(400)의 중심으로부터 제1 방향으로의 길이를 나타내는 제4 길이, 제2 QR 코드(400)의 중심으로부터 제2 방향으로의 길이를 나타내는 제5 길이, 및 제2 QR 코드(400)의 중심으로부터 제3 방향으로의 길이를 나타내는 제6 길이를 포함한다.In addition, the image is converted from the first QR code, and the rounded QR code (hereinafter referred to as a “second QR code”) to be printed on the curved body itself 400 is the center of the second QR code 400. A fourth length indicating a length in a first direction from, a fifth length indicating a length in a second direction from the center of the second QR code 400, and a third direction from the center of the second QR code 400 Includes a sixth length indicating the length of.
계란의 난각과 같은 곡면체 그 자체에 이미지 변환 처리된 QR 코드를 인쇄하고, 일반적인 사용자 단말의 카메라를 이용하여 오류 없이 정상적으로 QR 코드를 인식하기 위해서는 QR 코드를 정사각형에서 각 변을 볼록하게 변형할 필요가 있다. 따라서, 제2 QR 코드(400)의 제4 길이 및 제5 길이는 제1 QR 코드(300)의 제1 길이 및 제2 길이보다 각각 크고, 제2 QR 코드(400)의 제4 길이 및 제5 길이는 서로 실질적으로 동일하다. 또한, 제2 QR 코드(400)의 제6 길이 및 제1 QR 코드(300)의 제3 길이는 서로 실질적으로 동일하다.In order to print the image-transformed QR code on the curved body itself, such as the egg shell, and to recognize the QR code normally without errors using the camera of a general user terminal, it is necessary to transform the QR code from square to convex on each side. have. Accordingly, the fourth and fifth lengths of the second QR code 400 are respectively larger than the first and second lengths of the first QR code 300, and the fourth and fifth lengths of the second QR code 400 5 lengths are substantially equal to each other. In addition, the sixth length of the second QR code 400 and the third length of the first QR code 300 are substantially the same as each other.
상술한 바와 같이, 제2 QR 코드(400)의 제4 길이 및 제5 길이는 제1 QR 코드(300)의 제1 길이 및 제2 길이보다 각각 크고, 제2 QR 코드(400)의 제4 길이 및 제5 길이는 서로 실질적으로 동일한데, 이러한 길이 변환은 아래의 식 (1) 내지 (3)에 기초하여 수행된다.As described above, the fourth and fifth lengths of the second QR code 400 are larger than the first and second lengths of the first QR code 300, respectively, and the fourth length of the second QR code 400 The length and the fifth length are substantially equal to each other, and this length conversion is performed based on the following equations (1) to (3).
식 (1):
Figure PCTKR2020008260-appb-I000001
,
Equation (1):
Figure PCTKR2020008260-appb-I000001
,
식 (2):
Figure PCTKR2020008260-appb-I000002
,
Equation (2):
Figure PCTKR2020008260-appb-I000002
,
식 (3):
Figure PCTKR2020008260-appb-I000003
,
Equation (3):
Figure PCTKR2020008260-appb-I000003
,
식 (1)에서, xu는 제1 길이이고, xd는 제4 길이이고, α는 제1 방향에 대한 제1 가중치이다.In equation (1), x u is the first length, x d is the fourth length, and α is the first weight for the first direction.
식 (2)에서, yu는 제2 길이이고, yd는 제5 길이이고, β는 제2 방향에 대한 제2 가중치이다.In equation (2), y u is the second length, y d is the fifth length, and β is the second weight for the second direction.
식 (3)에서, ru는 제3 길이이고, rd는 제6 길이이고, γ는 제3 방향에 대한 제3 가중치이다.In equation (3), r u is the third length, r d is the sixth length, and γ is the third weight for the third direction.
제2 QR 코드(400)의 제4 길이 및 제5 길이는 제1 QR 코드(300)의 제1 길이 및 제2 길이보다 각각 크고, 제2 QR 코드(400)의 제4 길이 및 제5 길이는 서로 실질적으로 동일하므로, α 및 β는는 0보다 크고, α 및 β는는 서로 실질적으로 동일하다. 다만, 제2 QR 코드(400)의 제4 길이 및 제5 길이가 제1 QR 코드(300)의 제1 길이 및 제2 길이보다 각각 크더라도, 최대값이 제1 QR 코드(300)의 제1 길이 및 제2 길이의 1.4배 내외, 바람직하게는 1.3배이다. 따라서, α 및 β는는 0보다 크고 0.25보다 작다. 또한, 제2 QR 코드(400)의 제6 길이 및 제1 QR 코드(300)의 제3 길이는 서로 실질적으로 동일하므로, γ는 실질적으로 0이다.The fourth and fifth lengths of the second QR code 400 are larger than the first and second lengths of the first QR code 300, respectively, and the fourth and fifth lengths of the second QR code 400 Is substantially equal to each other, so α and β are greater than 0, and α and β are substantially equal to each other. However, even if the fourth and fifth lengths of the second QR code 400 are larger than the first and second lengths of the first QR code 300, respectively, the maximum value is the first of the first QR code 300. It is about 1.4 times the length of 1 and the second length, preferably 1.3 times. Thus, α and β are greater than 0 and less than 0.25. Further, since the sixth length of the second QR code 400 and the third length of the first QR code 300 are substantially equal to each other, γ is substantially zero.
상술한 제1 내지 제3 가중치를 결정한 후, 제1 QR 코드(300)를 격자형으로 분할한다. 예를 들어, 제1 QR 코드(300)를 5X5 내지 100X100으로 분할할 수 있고, 바람직하게는 10X10으로 분할할 수 있다. 하나의 계란에 있어서도, 곡률 반지름이 큰 영역 및 곡률 반지름이 작은 영역이 있을 수 있다. 또한, 계란의 크기, 즉 대란, 중란, 소란 등에 따라서도 계란의 최상단에서의 곡률 반지름이 상이할 수 있다.After determining the first to third weights described above, the first QR code 300 is divided into a grid. For example, the first QR code 300 may be divided into 5X5 to 100X100, preferably 10X10. Even in one egg, there may be an area with a large radius of curvature and an area with a small radius of curvature. In addition, the radius of curvature at the top of the egg may be different depending on the size of the egg, that is, large egg, medium egg, and turbulence.
다만, 공통적으로 QR 코드가 인쇄될 곡면체의 위치에서는 모두 볼록한 형태를 가지므로, 제1 QR 코드(300)의 중심을 지나는 제1 방향 및 제2 방향과 동일선상에 있는 격자들에 대해 길이를 최대한 늘리고, 이 격자들로부터 이격될수록 길이 변화를 점점 줄일 수 있다.However, since all of the surfaces of the curved body where the QR code is to be printed in common have a convex shape, the length of the gratings in the first direction and the second direction passing through the center of the first QR code 300 is maximized. The length change can be gradually reduced as it increases, and the distance from these grids.
따라서, 제1 QR 코드(300)의 중심으로부터 제1 방향 및 그 반대 방향으로 이격될수록 제2 가중치를 β에서 0으로 감소시키고, 제1 QR 코드(300)의 중심으로부터 제2 방향 및 그 반대 방향으로 이격될수록 제1 가중치를 α에서 0으로 감소시킬 수 있다. 또한, 제1 방향으로 동일선상에 있는 격자들에 대해서는 제1 가중치를 동일하게 적용하고, 제2 방향으로 동일선상에 있는 격자들에 대해서는 제2 가중치를 동일하게 적용할 수 있다.Therefore, as the distance from the center of the first QR code 300 in the first direction and the opposite direction, the second weight is reduced from β to 0, and the second direction and the opposite direction from the center of the first QR code 300 The first weight can be reduced from α to 0 as the distance increases. In addition, the first weight may be equally applied to grids that are collinear in the first direction, and the second weight may be equally applied to grids that are collinear in the second direction.
제1 가중치를 α에서 0으로 감소시킬 때, 또는 제2 가중치를 β에서 0으로 감소시킬 때, 기준 방향(즉, 각각 제1 방향 및 그 반대 방향, 또는 제2 방향 및 그 반대 방향)에 대해 이격될수록 제1 가중치 또는 제2 가중치를 선형적으로 감소시킬 수 있고, 또는 기하급수적으로(exponentially) 감소시킬 수 있다.When decreasing the first weight from α to 0, or decreasing the second weight from β to 0, for the reference direction (i.e., the first direction and the opposite direction, respectively, or the second direction and the opposite direction) As spaced apart, the first weight or the second weight may be linearly decreased, or exponentially may be decreased.
또한, 제2 QR 코드(400)가 인쇄될 곡면체의 중심에서의 곡률 반지름이 클수록 제1 가중치 및 제2 가중치를 감소시키고, 제2 QR 코드(400)가 인쇄될 곡면체의 중심에서의 곡률 반지름이 작을수록 제1 가중치 및 제2 가중치를 증가시킬 수 있다. 즉, 제2 QR 코드(400)가 인쇄될 상기 곡면체의 중심에서의 곡률 반지름이 작은 경우의 제1 가중치 및 제2 가중치가, 곡률 반지름이 큰 경우의 제1 가중치 및 제2 가중치보다 각각 더 클 수 있다.In addition, as the radius of curvature at the center of the curved body on which the second QR code 400 is to be printed decreases, the first weight and the second weight are reduced, and the radius of curvature at the center of the curved body on which the second QR code 400 is to be printed is The smaller the number, the higher the first weight and the second weight. That is, the first weight and the second weight when the radius of curvature at the center of the curved body on which the second QR code 400 is to be printed are small are larger than the first weight and the second weight when the radius of curvature is large, respectively. I can.
또한, 본 발명의 일 실시예에 따른 이미지 변환 처리는 상술한 격자의 길이 변환된 정도(예를 들어, 비율)가 미리 정해진 값 이내일 경우에만 제2 QR 코드(400)가 메모리(120)에 저장되고, 격자의 길이 변환된 정도가 미리 정해진 값을 초과할 경우에는, 피드백에 의한 제1 가중치 및 제2 가중치 조절을 적어도 1회 이상 수행함으로써 격자의 길이 변환된 정도가 미리 정해진 값 이내일 경우에만 제2 QR 코드(400)가 메모리(120)에 저장될 수 있다.In addition, in the image conversion processing according to an embodiment of the present invention, the second QR code 400 is stored in the memory 120 only when the length-transformed degree (eg, ratio) of the above-described grid is within a predetermined value. When the length of the grid is converted and the length of the grid exceeds a predetermined value, the first weight and the second weight are adjusted at least once by feedback, so that the length of the grid is within a predetermined value. Only the second QR code 400 may be stored in the memory 120.
구체적으로, 제1 QR 코드(300)의 제1 길이에 대한 제2 QR 코드(400)의 제4 길이의 제1 비율 값이 제1 미리 정해진 값 이하인지 판단하고, 제1 비율 값이 제1 미리 정해진 값 이하이면, 제2 QR 코드(400)를 메모리(120)에 저장하고, 제1 비율 값이 제1 미리 정해진 값을 초과하면, 제1 가중치를 감소시키고 이미지 변환 처리를 통해 생성된 새로운 제2 QR 코드(400)의 제4 길이를 산출함으로써 제1 QR 코드(300)의 제1 길이에 대한 새로운 제2 QR 코드(400)의 제4 길이의 비율 값이 제1 미리 정해진 값 이하인지 다시 판단할 수 있다.Specifically, it is determined whether the first ratio value of the fourth length of the second QR code 400 to the first length of the first QR code 300 is less than or equal to a first predetermined value, and the first ratio value is the first If it is less than a predetermined value, the second QR code 400 is stored in the memory 120, and if the first ratio value exceeds the first predetermined value, the first weight is decreased and a new generated through image conversion process By calculating the fourth length of the second QR code 400, whether the ratio value of the fourth length of the new second QR code 400 to the first length of the first QR code 300 is less than or equal to the first predetermined value You can judge again.
또한, 제1 QR 코드(300)의 제2 길이에 대한 제2 QR 코드(400)의 제5 길이의 제2 비율 값이 제1 미리 정해진 값 이하인지 판단하고, 제2 비율 값이 제1 미리 정해진 값 이하이면, 제2 QR 코드(400)를 메모리(120)에 저장하고, 제2 비율 값이 제1 미리 정해진 값을 초과하면, 제2 가중치를 감소시키고 이미지 변환 처리를 통해 생성된 새로운 제2 QR 코드(400)의 제5 길이를 산출함으로써 제1 QR 코드(300)의 제2 길이에 대한 새로운 제2 QR 코드(400)의 제5 길이의 비율 값이 제1 미리 정해진 값 이하인지 다시 판단할 수 있다.In addition, it is determined whether the second ratio value of the fifth length of the second QR code 400 to the second length of the first QR code 300 is less than or equal to the first predetermined value, and the second ratio value is the first preset value. If it is less than the predetermined value, the second QR code 400 is stored in the memory 120, and if the second ratio value exceeds the first predetermined value, the second weight is decreased and a new product generated through image conversion processing is performed. 2 By calculating the fifth length of the QR code 400, whether the ratio value of the fifth length of the new second QR code 400 to the second length of the first QR code 300 is less than or equal to the first predetermined value. I can judge.
제1 미리 정해진 값은 1 내지 1.4의 범위 내에서 선택될 수 있다. 바람직하게는, 제1 미리 정해진 값은 1.3이 선택될 수 있다.The first predetermined value may be selected within the range of 1 to 1.4. Preferably, 1.3 may be selected as the first predetermined value.
또한, 본 발명의 일 실시예에 따른 이미지 변환 처리는 상술한 격자의 길이 변환에 따라 생성된 제2 QR 코드(400)의 면적과 제1 QR 코드(300)의 면적의 비율이 미리 정해진 값 이내일 경우에만 제2 QR 코드(400)가 메모리(120)에 저장되고, 상술한 면적의 비율이 미리 정해진 값을 초과할 경우에는, 피드백에 의한 제1 가중치 및 제2 가중치 조절을 적어도 1회 이상 수행함으로써 새로운 면적의 비율이 미리 정해진 값 이내일 경우에만 제2 QR 코드(400)가 메모리(120)에 저장될 수 있다.In addition, in the image conversion processing according to an embodiment of the present invention, the ratio of the area of the second QR code 400 and the area of the first QR code 300 generated according to the above-described grid length conversion is within a predetermined value. Only in the case of the second QR code 400 is stored in the memory 120, and when the ratio of the above-described area exceeds a predetermined value, the first weight and the second weight adjustment by feedback are performed at least once or more. As a result, the second QR code 400 may be stored in the memory 120 only when the ratio of the new area is within a predetermined value.
구체적으로, 제1 QR 코드(300)의 면적 및 제2 QR 코드(400)의 면적을 각각 산출하고, 제1 QR 코드(300)의 면적에 대한 제2 QR 코드(400)의 면적의 비율 값이 제2 미리 정해진 값 이하인지 판단하고, 비율 값이 제2 미리 정해진 값 이하이면, 제2 QR 코드(400)를 상기 메모리(120)에 저장하고, 비율 값이 제2 미리 정해진 값을 초과하면, 제1 가중치 및 제2 가중치를 감소시키고 이미지 변환 처리를 통해 생성된 새로운 제2 QR 코드(400)의 면적을 산출함으로써 제1 QR 코드(300)의 면적에 대한 새로운 상기 제2 QR 코드(400)의 면적의 비율 값이 제2 미리 정해진 값 이하인지 다시 판단할 수 있다. Specifically, the area of the first QR code 300 and the area of the second QR code 400 are respectively calculated, and a ratio value of the area of the second QR code 400 to the area of the first QR code 300 It is determined whether it is less than or equal to the second predetermined value, and if the ratio value is less than or equal to the second predetermined value, the second QR code 400 is stored in the memory 120, and when the ratio value exceeds the second predetermined value, , The new second QR code 400 for the area of the first QR code 300 is calculated by reducing the first weight and the second weight and calculating the area of the new second QR code 400 generated through image conversion processing. It may be determined again whether the ratio value of the area of) is less than the second predetermined value.
제2 미리 정해진 값은 1 내지 1.4의 범위 내에서 선택될 수 있다.The second predetermined value may be selected within the range of 1 to 1.4.
또한, 제2 QR 코드(400)가 인쇄될 곡면체의 중심에서의 곡률 반지름이 클수록 제1 QR 코드(300)를 격자형으로 분할하는 비율을 감소시키고, 제2 QR 코드(400)가 인쇄될 곡면체의 중심에서의 곡률 반지름이 작을수록 제1 QR 코드(300)를 격자형으로 분할하는 비율을 증가시킬 수 있다. 이로써, 곡률 반지름의 크기에 따른 적절한 분할 비율을 선택함으로써, QR 인식률을 높일 수 있다.In addition, as the radius of curvature at the center of the curved body on which the second QR code 400 is to be printed decreases, the ratio of dividing the first QR code 300 into a grid shape is reduced, and the curved body on which the second QR code 400 is to be printed As the radius of curvature at the center of is smaller, the ratio of dividing the first QR code 300 into a grid shape may be increased. Accordingly, the QR recognition rate can be increased by selecting an appropriate division ratio according to the size of the curvature radius.
제1 QR 코드(300)를 격자형으로 분할하고, 격자에 대해 길이 변환에 따른 이미지 변환 처리를 수행함으로써 제2 QR 코드(400)를 생성한 후, Anti-aliasing 기술을 적용함으로써, 격자들 간의 경계를 완화시킬 수 있다. 즉, 격자들 간의 경계를 스무드(smooth)하게 처리함으로써, 계란 등의 곡면체에서의 QR 인식률을 높일 수 있다.After generating the second QR code 400 by dividing the first QR code 300 into a grid shape and performing image conversion processing according to length conversion on the grid, anti-aliasing technology is applied to Vigilance can be relaxed. That is, by processing the boundary between the grids to be smooth, it is possible to increase the QR recognition rate in a curved body such as an egg.
정사각형 형태의 제1 QR 코드를 곡면체인 계란 그 자체에 인쇄한 후 일반적인 스마트폰 등의 사용자 단말로 인식하면 인식이 제대로 안되는 등의 오류가 발생할 수 있다. 하지만, 본 발명은 제1 QR 코드를 이미지 변환 처리한 라운드된 제2 QR 코드를 계란 그 자체에 인쇄함으로써, 일반적인 스마트폰 등의 사용자 단말로 인식하더라도 정확하고 신속하게 인쇄할 수 있게 한다.If the square-shaped first QR code is printed on the curved egg itself and then recognized as a user terminal such as a general smartphone, errors such as not being properly recognized may occur. However, according to the present invention, the rounded second QR code obtained by converting the image of the first QR code is printed on the egg itself, so that even if it is recognized as a user terminal such as a general smartphone, it is possible to print accurately and quickly.
이하, 도 3을 통해, 본 발명의 일 실시예에 따른 블록 체인을 구체적으로 살펴본다.Hereinafter, a block chain according to an embodiment of the present invention will be described in detail through FIG. 3.
본 발명의 일 실시예에 따른 식품 유통 시스템은, QR 코드를 인식할 수 있는 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)을 포함할 수 있다. 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)은 각각, 예를 들어 관리자의 사용자 단말(500-1), 생산자의 사용자 단말(500-2), 유통자의 사용자 단말(500-3), 소비자의 사용자 단말(500-4)일 수 있다. 도 3은 단지 설명을 위해, 관리자의 사용자 단말(500-1), 생산자의 사용자 단말(500-2), 유통자의 사용자 단말(500-3), 소비자의 사용자 단말(500-4)을 나타낸 것일 뿐, 각각의 사용자 단말은 복수일 수 있다.A food distribution system according to an embodiment of the present invention may include a plurality of user terminals 500-1, 500-2, 500-3, and 500-4 capable of recognizing a QR code. Each of the plurality of user terminals 500-1, 500-2, 500-3, and 500-4 is, for example, an administrator's user terminal 500-1, a producer's user terminal 500-2, and a distributor's user. It may be a terminal 500-3 or a user terminal 500-4 of a consumer. 3 is for illustrative purposes only, showing the user terminal 500-1 of the administrator, the user terminal 500-2 of the producer, the user terminal 500-3 of the distributor, and the user terminal 500-4 of the consumer However, each user terminal may be plural.
서버(200)는 식품 유통 시스템에서의 각 기능을 수행하는 복수의 서버로 구성될 수 있고, 복수의 기능을 수행하는 단일 서버로 구성될 수도 있다. 서버(200)는 블록 체인(600)의 복수의 노드(N1, N2, N3, N4)에 대응되는 서버이거나, 블록 체인(600)의 각 노드를 관리하는 서버일 수 있다. 또한, 서버(200)는 데이터베이스와의 통신을 통해 식품 유통 시스템을 관리할 수 있고, 블록 체인(600)의 트랜잭션 정보를 백업할 수도 있다.The server 200 may be composed of a plurality of servers performing each function in the food distribution system, or may be composed of a single server performing a plurality of functions. The server 200 may be a server corresponding to a plurality of nodes N1, N2, N3, N4 of the block chain 600, or a server that manages each node of the block chain 600. In addition, the server 200 may manage the food distribution system through communication with the database, and may back up transaction information of the block chain 600.
또한, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)은 제1 QR 코드(300) 또는 제2 QR 코드(400)를 인식하면, URL을 통해 식품에 대응하는 식품 정보에 액세스 가능하고, 식품 정보로 구성된 트랜잭션을 블록 체인(600)에 전송할 수 있다. 구체적으로, 트랜잭션은 식품 정보의 생성, 변화 및 폐기를 포함할 수 있고, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)은 이러한 트랜잭션을 블록 체인(600) 및/또는 서버(200)에 전송할 수 있다. 또한, 후술할 식품 정보는 생산 정보, 이력 정보 및 위치 정보를 포함할 수 있고, 생산 정보는 식품의 유형, 원산지, 내용량, 등급 판정일, 포장일, 유통기한, 보존 방법 및 온도, 생산자, 판매원, 및 소비자 상담실 전화번호 등을 포함할 수 있다.In addition, when the plurality of user terminals 500-1, 500-2, 500-3, and 500-4 recognize the first QR code 300 or the second QR code 400, Food information can be accessed and a transaction composed of food information can be transmitted to the blockchain 600. Specifically, the transaction may include the generation, change, and disposal of food information, and a plurality of user terminals 500-1, 500-2, 500-3, and 500-4 may transfer such transactions to the blockchain 600 and / Or it can be transmitted to the server 200. In addition, food information to be described later may include production information, history information and location information, and production information may include the type of food, country of origin, content, grade determination date, packaging date, expiration date, storage method and temperature, producer, and salesperson. , And a phone number of a consumer counseling office.
복수의 노드(N1, N2, N3, N4)는, 새로 발생한 트랜잭션을 수신하는 동작, 이를 포함하는 블록을 생성하는 동작, 그 생성한 블록을 블록 체인(600)에 추가하려는 요청을 다른 노드에 전송하는 동작, 다른 노드로부터 수신한 블록 추가 요청을 미리 규정된 합의 알고리즘에 따라 검증하여 본인이 보유 또는 접속하고 있는 블록 체인(600)에 해당 노드를 추가하는 동작 중 적어도 하나를 수행할 수 있다.A plurality of nodes (N1, N2, N3, N4) transmits an operation of receiving a newly generated transaction, an operation of creating a block containing it, and a request to add the generated block to the block chain 600 to another node. At least one of an operation of performing an operation or an operation of adding a corresponding node to the block chain 600 owned or accessed by verifying the block addition request received from another node according to a predetermined consensus algorithm may be performed.
블록 체인(600)은 복수의 노드(N1, N2, N3, N4)를 통해 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4) 중 적어도 하나 이상과 연동될 수 있다. 각각의 사용자 단말(500-1, 500-2, 500-3, 500-4)은 상술한 노드의 동작 중 적어도 하나를 직접 수행하여 노드로써 기능할 수도 있고, 또는 상술한 노드의 동작을 직접 수행하지는 않고 그와 같은 기능을 하도록 블록 체인(600)에 포함된 노드에 접속되어, 상기한 노드의 기능을 트리거하기 위한 요청을 노드에 전송하고, 그에 대한 응답을 수신함으로써 블록 체인(600)에 연동될 수도 있다. 즉, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)은 각각 복수의 노드(N1, N2, N3, N4)가 될 수도 있고, 복수의 노드(N1, N2, N3, N4)와 접속될 수도 있다The block chain 600 may be linked with at least one or more of a plurality of user terminals 500-1, 500-2, 500-3, and 500-4 through a plurality of nodes N1, N2, N3, and N4. . Each user terminal (500-1, 500-2, 500-3, 500-4) may function as a node by directly performing at least one of the above-described node operations, or directly perform the above-described node operation. It is connected to a node included in the block chain 600 to perform such a function, and transmits a request to trigger the function of the above node to the node, and interlocks with the block chain 600 by receiving a response thereto. It could be. That is, the plurality of user terminals 500-1, 500-2, 500-3, and 500-4 may each be a plurality of nodes N1, N2, N3, N4, or a plurality of nodes N1, N2, and N3, N4) can also be connected
본 발명의 일 실시예에 따른 블록 체인(600)을 구성하는 각 블록들은 해쉬 체인(Hash Chain)의 형태로 연결될 수 있다. 즉, n 번째 블록은, n-1 번째 블록의 해쉬 값을 저장할 수 있다. 따라서 어느 한 블록의 정보의 변경은, 해당 블록으로부터 산출한 해당 블록의 해쉬 값의 변경을 초래하고, 이는 그 다음 블록의 내용의 변경을 초래하기 때문에, 필수적으로 해당 블록 이후의 모든 블록들의 정보의 변경을 초래할 수 있다. 여기서 해쉬 값은 임의의 크기의 데이터를 미리 결정된 크기를 갖는 데이터로 변환하는 해쉬 함수에 의해 산출될 수 있으며, 예를 들면 MD5, SHA1, SHA2 등 필요에 따라 선택한 해쉬 함수를 이용할 수 있다.Each block constituting the block chain 600 according to an embodiment of the present invention may be connected in the form of a hash chain. That is, the nth block may store the hash value of the n-1th block. Therefore, a change of information of one block results in a change of the hash value of the block calculated from the block, which results in a change of the contents of the next block. It can lead to changes. Here, the hash value may be calculated by a hash function that converts data of an arbitrary size into data having a predetermined size, and for example, a hash function selected as needed such as MD5, SHA1, or SHA2 may be used.
본 발명의 일 실시예에 따른 블록은 적어도 하나 이상의 트랜잭션을 포함할 수 있다. 일 실시예에 있어서 블록은 블록 및/또는 트랜잭션과 관련된 시간 정보(예를 들면, 블록 생성 시간, 블록 변화 시간, 및 블록 폐기 시간)를 나타낼 수 있다.A block according to an embodiment of the present invention may include at least one or more transactions. In an embodiment, a block may represent time information related to a block and/or a transaction (eg, block creation time, block change time, and block discard time).
본 발명의 일 실시예에 따른 트랜잭션은 블록 체인(600)과 연동되는 각 주체, 즉 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)이 참여하는 복수의 노드(N1, N2, N3, N4)로부터의 정보에 따라 구성될 수 있다. 예를 들면, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)이 요청하는 특정 정보의 등록/변경/폐기가 하나의 트랜잭션으로 구성될 수 있다. 그리고 이러한 트랜잭션의 생성은 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)에서 이루어질 수도 있고, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)로부터 특정 정보를 수신한 블록 체인(600)의 복수의 노드(N1, N2, N3, N4)에서 이루어질 수도 있다.A transaction according to an embodiment of the present invention includes a plurality of nodes in which each subject interlocked with the block chain 600, that is, a plurality of user terminals 500-1, 500-2, 500-3, 500-4 ( It can be configured according to information from N1, N2, N3, N4). For example, registration/change/discarding of specific information requested by a plurality of user terminals 500-1, 500-2, 500-3, and 500-4 may be configured as a single transaction. And the generation of such a transaction may be performed in a plurality of user terminals 500-1, 500-2, 500-3, 500-4, and a plurality of user terminals 500-1, 500-2, 500-3, 500 It may be made in a plurality of nodes (N1, N2, N3, N4) of the block chain 600 that has received specific information from -4).
본 발명의 일 실시예에 따른 각 트랜잭션은 비공개 키 방식으로 디지털 서명 및/또는 검증될 수 있다. 이를 위해 트랜잭션에 따른 정보가 비공개 키 방식으로 트랜잭션에 포함되거나 다른 경로로 복수의 노드(N1, N2, N3, N4)에 제공될 수 있다. 그리고, 복수의 노드(N1, N2, N3, N4)는 비공개 키를 이용하여 해당 트랜잭션의 유효성을 검증할 수 있다. 또한, 트랜잭션의 소유자 또는 트랜잭션의 생성에 연관된 자가 보유하는 비공개 키를 통하여 트랜잭션의 소유나 트랜잭션과의 연관이 증명될 수 있다. 이러한 비공개 키는 관리자에 의해 생성 및/또는 관리될 수 있다.Each transaction according to an embodiment of the present invention may be digitally signed and/or verified using a private key method. To this end, information according to the transaction may be included in the transaction in a private key method or provided to a plurality of nodes N1, N2, N3, and N4 through different paths. In addition, the plurality of nodes N1, N2, N3, and N4 may verify the validity of the corresponding transaction by using the private key. In addition, ownership of the transaction or association with the transaction may be proved through a private key held by the owner of the transaction or a person involved in the creation of the transaction. These private keys may be generated and/or managed by an administrator.
본 발명의 일 실시예에 따른 블록 체인(600)과 연동되는 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4) 및/또는 블록 체인(600)에 참여하는 복수의 노드(N1, N2, N3, N4)는 트랜잭션을 생성하여 블록 체인(600)에 참여하는 노드들에 전송 및/또는 브로드캐스트 할 수 있다.A plurality of user terminals (500-1, 500-2, 500-3, 500-4) linked with the block chain 600 according to an embodiment of the present invention and/or a plurality of users participating in the block chain 600 Nodes N1, N2, N3, and N4 may generate a transaction and transmit and/or broadcast it to nodes participating in the blockchain 600.
본 발명의 일 실시예에 따른 블록 체인(600)에 참여하는 노드들 전부 또는 이들 중 일부 노드는, 블록 체인(600)에서 새로 발생한 적어도 하나 이상의 트랜잭션을 포함하는 새로운 블록을 생성할 수 있다. 또한 노드는 해당 트랜잭션의 유효성을 검증할 수 있고, 새로 생성한 블록을 기존의 블록 체인(600)에 추가하는 요청을 다른 노드들에 할 수 있다. 상기 요청을 수신한 블록 체인(600)의 노드들은 미리 규정된 합의 알고리즘에 따라 트랜잭션 및/또는 블록의 유효성을 검증하고, 검증이 성공할 경우 해당 블록을 본인이 보유 또는 접속하고 있는 블록 체인(600)에 추가할 수 있다.All or some of the nodes participating in the block chain 600 according to an embodiment of the present invention may generate a new block including at least one or more transactions newly generated in the block chain 600. In addition, the node can verify the validity of the corresponding transaction and can make requests to add a newly created block to the existing blockchain 600 to other nodes. The nodes of the block chain 600 that have received the request verify the validity of the transaction and/or block according to a predefined consensus algorithm, and if the verification is successful, the block chain 600 that the user owns or accesses the block. Can be added to
본 발명의 일 실시예에 따른 블록 체인(600)은, 식품 유통의 보안을 위하여, 퍼미션드 블록 체인(Permissioned Block Chain)의 형태로 운영되는 것이 바람직하다. 퍼미션드 블록 체인에서는 허가된 참여자만 블록 체인(600)에 접근할 수 있고, 그 접근에 권한이 설정될 수 있다. 이러한 퍼미션드 블록 체인의 형태로서, 하이퍼레저(Hyperledger) 블록 체인이 사용될 수 있다.Block chain 600 according to an embodiment of the present invention is preferably operated in the form of a permissioned block chain (Permissioned Block Chain) for the security of food distribution. In the permissioned blockchain, only authorized participants can access the blockchain 600, and privileges can be set for the access. As a form of such a permissioned blockchain, Hyperledger blockchain can be used.
상술한 블록 체인(600) 시스템을 사용함으로써 식품 유통에 있어서, 식품 정보가 블록 체인(600)에 등록되고, 해당 정보가 생산자, 유통자 및 소비자에게 공유 및 관리되므로, 정보의 무결성 및 명확성을 확보할 수 있다. 이를 통해, 중간 상인의 매점매석을 방지하고, 콜드체인 물류를 획기적으로 개선하며, 정보의 위조 및 변조를 방지할 수 있다.In food distribution by using the above-described block chain 600 system, food information is registered in the block chain 600, and the information is shared and managed with producers, distributors and consumers, thereby ensuring the integrity and clarity of information. can do. Through this, it is possible to prevent intermediary merchants from buying and selling stores, dramatically improve cold chain logistics, and prevent forgery and falsification of information.
이하, 도 4를 통해, 본 발명의 일 실시예에 따른 식품 유통 방법을 구체적으로 살펴본다. 후술하는 적어도 하나의 프로세서는 상술한 프로세서(110)와 동일한 것일 수 있고, 상이한 것일 수도 있다. 또한, 후술하는 서버는 상술한 서버(200)와 동일한 것일 수 있고, 상이한 것일 수도 있다.Hereinafter, through FIG. 4, a food distribution method according to an embodiment of the present invention will be described in detail. At least one processor to be described later may be the same as or different from the processor 110 described above. Further, the server to be described later may be the same as the server 200 described above, or may be different.
적어도 하나의 프로세서는 생산 명령에 의해, 서버로부터 수신된 QR 데이터에 기초하여 제1 QR 코드(300)를 생성할 수 있다(S1). 제1 QR 코드(300)는 식품의 식품 정보를 포함할 수 있다.At least one processor may generate the first QR code 300 based on the QR data received from the server according to the production command (S1). The first QR code 300 may include food information of food.
또한, 적어도 하나의 프로세서는 제1 QR 코드(300)를 생성한 후 제2 QR 코드(400)를 생성하기 전에, QR 데이터에 데이터 암호화 알고리즘을 세 단계에 걸쳐 적용함으로써 암호화를 수행할 수 있다. 데이터 암호화 알고리즘의 세 단계 적용은 64비트 키를 이용하여 수행할 수 있고, 해당 64비트 키는 추후 복호화 시 사용될 수 있다.Also, at least one processor may perform encryption by applying a data encryption algorithm to the QR data in three steps after generating the first QR code 300 and before generating the second QR code 400. The three-step application of the data encryption algorithm can be performed using a 64-bit key, and the 64-bit key can be used for later decryption.
또한, 적어도 하나의 프로세서는 제1 QR 코드(300)에 대해 이미지 변환 처리를 함으로써 제2 QR 코드(400)를 생성할 수 있다(S2). 이 후에, QR 코드 인쇄 장치(100)를 통해 제2 QR 코드(400)를 곡면체인 식품 그 자체, 예를 들어 계란 그 자체에 인쇄할 수 있고, 제1 QR 코드(300)를 식품의 포장지 및 포장 박스 중 적어도 하나에 인쇄할 수 있다(S3). 제1 QR 코드(300)는 식품의 포장지 및 포장 박스에 한정되지 않고, 평면으로 되어 식품의 식품 정보를 나타낼 필요가 있는 곳에는 어디든지 인쇄될 수 있다.Also, at least one processor may generate the second QR code 400 by performing image conversion processing on the first QR code 300 (S2). After that, through the QR code printing device 100, the second QR code 400 may be printed on the curved food itself, for example, the egg itself, and the first QR code 300 may be printed on the packaging paper and It can be printed on at least one of the packaging boxes (S3). The first QR code 300 is not limited to the packaging paper and the packaging box of the food, but is flat and can be printed anywhere it is necessary to display food information of the food.
또한, 제1 QR 코드(300) 및 제2 QR 코드(400)를 통해 식품의 생산 정보, 이력 정보 및 위치 정보가 포함된 식품 정보를 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)에 제공할 수 있다(S4). 식품 정보는 식품의 생산 정보, 이력 정보 및 위치 정보뿐만 아니라, 예를 들어 생산 사진, 농가 사진, 식품의 등급 정보 및 인증 정보, 후술할 빅데이터를 활용한 식품의 레시피를 더 포함할 수 있다.In addition, through the first QR code 300 and the second QR code 400, food information including food production information, history information, and location information is transmitted to a plurality of user terminals 500-1, 500-2, 500- 3, 500-4) can be provided (S4). The food information may further include not only food production information, history information, and location information, but also production photos, farmhouse photos, food grade information and authentication information, and food recipes using big data to be described later.
또한, 적어도 하나의 프로세서는 식품 정보로 구성된 트랜잭션을 포함하는 블록을 블록 체인(600)에 등록할 수 있다(S5). 여기서, 복수의 블록들은 해쉬 체인의 형태로 연결될 수 있다.In addition, at least one processor may register a block including a transaction composed of food information in the block chain 600 (S5). Here, a plurality of blocks may be connected in the form of a hash chain.
또한, 적어도 하나의 프로세서는 블록 체인(600)에 등록된 복수의 노드(N1, N2, N3, N4) 중 하나의 노드에서 발생한 트랜잭션을 블록 체인(600)에 등록된 복수의 노드(N1, N2, N3, N4)에 전송되어, 트랜잭션이 복수의 노드(N1, N2, N3, N4)에 의해 공유되도록 할 수 있다(S6). 트랜잭션은 식품 정보의 생성, 변화 및 폐기를 포함할 수 있다.In addition, at least one processor transmits a transaction occurring in one of a plurality of nodes (N1, N2, N3, N4) registered in the block chain 600 to a plurality of nodes (N1, N2) registered in the block chain 600. , N3, N4), so that the transaction can be shared by a plurality of nodes N1, N2, N3, and N4 (S6). Transactions can include the creation, transformation and destruction of food information.
제2 QR 코드(400)가 인쇄된 식품과, 식품이 포함되고 제1 QR 코드(300)가 인쇄된 포장지 및 포장 박스 중 적어도 하나는, 식품이 계란일 경우, 계란의 생산지인 부화장에서 출고될 수 있다. 이후, 계란은 산란계 농장을 포함하는 농장, GP 센터(Grading and Packing Center), 유통업체 및 판매장 등을 통해 유통될 수 있다. 이들 장소에서 사용되는 사용자 단말이 관리자의 사용자 단말(500-1), 생산자의 사용자 단말(500-2), 유통자의 사용자 단말(500-3)일 수 있다. 또한, 이러한 경로를 통해 유통된 계란이 소비자에게 판매될 수 있고, 이 때 소비자가 사용하는 단말이 소비자의 사용자 단말(500-4)일 수 있다.At least one of the food on which the second QR code 400 is printed, and the packaging paper and the packaging box on which the food is printed and the first QR code 300 is printed, if the food is an egg, will be shipped from the hatchery, which is the production site of the egg. I can. Thereafter, eggs may be distributed through farms including laying hen farms, Grading and Packing Centers, distributors, and sales outlets. The user terminal used in these places may be a user terminal 500-1 of an administrator, a user terminal 500-2 of a producer, and a user terminal 500-3 of a distributor. In addition, eggs distributed through this route may be sold to consumers, and in this case, the terminal used by the consumer may be the consumer's user terminal 500-4.
이러한 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)에 의해 제1 QR 코드(300) 또는 제2 QR 코드(400)가 인식될 때, URL을 통해 사용자 단말(500-1, 500-2, 500-3, 500-4)이 접속되는 서버(200)에서 복호화가 수행되고, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)의 위치 및 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)이 제1 QR 코드(300) 또는 제2 QR 코드(400)를 인식한 횟수, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)의 ID가 수집될 수 있다. 여기서, 사용자 단말의 ID는 사용자 단말의 고유 번호를 포함할 수 있다. 또한, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)에 의해 제1 QR 코드(300) 또는 제2 QR 코드(400)가 인식될 때, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)이 더 IP 주소를 수집할 수 있다. 구체적으로, 복호화는 암호화 시에 사용된 64비트 키와 서버(예를 들어, 저장 프로시저)에 저장된 64비트 키가 동일한지 여부를 판단함으로써 키가 서로 일치하지 않는다면, 해당 QR 코드를 가품으로 판정할 수 있다.When the first QR code 300 or the second QR code 400 is recognized by the plurality of user terminals 500-1, 500-2, 500-3, 500-4, the user terminal ( The decryption is performed in the server 200 to which the 500-1, 500-2, 500-3, 500-4) is connected, and a plurality of user terminals (500-1, 500-2, 500-3, 500-4) The location of and the number of times that the plurality of user terminals 500-1, 500-2, 500-3, and 500-4 recognized the first QR code 300 or the second QR code 400, a plurality of user terminals ( IDs of 500-1, 500-2, 500-3, 500-4) may be collected. Here, the ID of the user terminal may include a unique number of the user terminal. In addition, when the first QR code 300 or the second QR code 400 is recognized by the plurality of user terminals 500-1, 500-2, 500-3, 500-4, the plurality of user terminals ( 500-1, 500-2, 500-3, 500-4) can collect more IP addresses. Specifically, decryption determines whether the 64-bit key used at the time of encryption and the 64-bit key stored in the server (eg, stored procedure) are the same, and if the keys do not match, the QR code is judged as a fake. can do.
여기서 식품, 예를 들어 계란의 유통 과정에 있어서, 정상적으로 유통될 경우의 생산지, 납품처 및 판매처 등이 미리 설정 및 저장될 수 있다. 따라서, 예를 들어 유통자의 사용자 단말(500-3)이 제1 사용자 단말 및 제2 사용자 단말을 포함할 수 있다. 여기서, 제1 사용자 단말은 정상적으로 유통되는 QR 코드(즉, 진품 QR 코드)를 인식하는 단말이고, 제2 사용자 단말은 가품 QR 코드를 사용하는지 여부를 판정하기 위해 제1 사용자 단말과 비교되는 사용자 단말일 수 있다. 적어도 하나의 프로세서는, 제2 사용자 단말의 위치가 미리 설정된 장소로부터 미리 설정된 거리를 초과하고, 제2 사용자 단말의 ID가 미리 설정된 장소에서의 제1 사용자 단말의 ID와 상이한 경우, 제2 사용자 단말에 의해 인식된 제1 QR 코드(300) 또는 제2 QR 코드(400)를 가품으로 판정할 수 있다. 여기서, 미리 설정된 장소는 상술한 미리 설정 및 저장된 생산지, 납품처 및 판매처 등일 수 있다. 그리고, 미리 설정된 거리는 1 km 내지 20 km 중에서 선택될 수 있고, 바람직하게는 10 km일 수 있다. 예를 들어, 정상적인 납품처에 계란이 보관되고 있음에도 불구하고, 해당 납품처로부터 10 km 떨어진 지역에서 해당 납품처에서 사용(인식)된 QR 코드와 동일한 QR 코드가 생산 또는 사용(인식)되고, 해당 납품처에서 해당 QR 코드를 인식했던 사용자 단말과 다른 ID가 수집된다면, 다른 ID를 갖는 사용자 단말을 통해 가품 QR 코드가 생산 또는 사용(인식)된다고 판정할 수 있다. 이 경우, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4), 예를 들어 관리자의 사용자 단말(500-1) 및 정상적인 납품처에서의 유통자의 사용자 단말(500-3)에 가품 QR 코드가 생산 또는 사용(인식)된다는 푸쉬 알람을 제공할 수 있다.Here, in the distribution process of food, for example, eggs, a production location, a delivery destination, and a sales destination, etc., in the case of normal distribution may be set and stored in advance. Thus, for example, the distributor's user terminal 500-3 may include a first user terminal and a second user terminal. Here, the first user terminal is a terminal that recognizes a normally distributed QR code (i.e., a genuine QR code), and the second user terminal is a user terminal compared with the first user terminal to determine whether to use a fake QR code. Can be At least one processor, when the location of the second user terminal exceeds a preset distance from the preset place, and the ID of the second user terminal is different from the ID of the first user terminal at the preset place, the second user terminal The first QR code 300 or the second QR code 400 recognized by may be determined as a fake. Here, the preset place may be a production place, a delivery place, a sales place, etc. previously set and stored as described above. In addition, the preset distance may be selected from 1 km to 20 km, and preferably may be 10 km. For example, despite the fact that eggs are stored at a normal delivery destination, a QR code identical to the QR code used (recognized) at the delivery destination is produced or used (recognized) in an area 10 km away from the delivery destination, and If an ID different from the user terminal that recognized the QR code is collected, it can be determined that a fake QR code is produced or used (recognized) through a user terminal having a different ID. In this case, a plurality of user terminals 500-1, 500-2, 500-3, 500-4, for example, the administrator's user terminal 500-1 and the distributor's user terminal 500-3 ), a push alarm that a fake QR code is produced or used (recognized) can be provided.
또한, 적어도 하나의 프로세서는, 제2 사용자 단말의 위치가 미리 설정된 장소로부터 미리 설정된 거리를 초과하지 않는 경우, 제2 사용자 단말이 제1 QR 코드(300) 또는 제2 QR 코드(400)를 인식한 횟수가 미리 설정된 횟수를 초과하고, 제2 사용자 단말의 ID가 미리 설정된 장소에서의 제1 사용자 단말의 ID와 상이하다면, 제2 사용자 단말에 의해 인식된 제1 QR 코드(300) 또는 제2 QR 코드(400)를 가품으로 판정할 수 있다. 여기서, 미리 설정된 횟수는 10회 내지 1,000회 중에서 선택될 수 있고, 바람직하게는 100회일 수 있다. 예를 들어, 정상적인 납품처에 계란이 보관되고 있지만, 해당 납품처 근처(예를 들어, 1 km 미만)에서 해당 납품처에서 사용(인식)된 QR 코드와 동일한 QR 코드가 100회 생산 또는 사용(인식)되고, 해당 납품처에서 해당 QR 코드를 인식했던 사용자 단말과 다른 ID의 사용자 단말로 100회 생산 또는 사용(인식)된다면, 다른 ID를 갖는 사용자 단말을 통해 가품 QR 코드가 생산 또는 사용(인식)된다고 판정할 수 있다. 이 경우, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4), 예를 들어 관리자의 사용자 단말(500-1) 및 정상적인 납품처에서의 유통자의 사용자 단말(500-3)에 가품 QR 코드가 생산 또는 사용(인식)된다는 푸쉬 알람을 제공할 수 있다.In addition, at least one processor, when the location of the second user terminal does not exceed a preset distance from the preset place, the second user terminal recognizes the first QR code 300 or the second QR code 400 If the number of times exceeds the preset number, and the ID of the second user terminal is different from the ID of the first user terminal at the preset place, the first QR code 300 or the second recognized by the second user terminal The QR code 400 can be determined as a fake. Here, the preset number of times may be selected from 10 to 1,000 times, preferably 100 times. For example, eggs are being stored in a normal place of delivery, but a QR code identical to that used (recognized) by that supplier is produced or used (recognized) 100 times near that supplier (for example, less than 1 km). , If the supplier produces or uses (recognized) 100 times with a user terminal with an ID different from the user terminal that recognized the QR code, it is determined that a fake QR code is produced or used (recognized) through a user terminal with a different ID. I can. In this case, a plurality of user terminals 500-1, 500-2, 500-3, 500-4, for example, the administrator's user terminal 500-1 and the distributor's user terminal 500-3 ), a push alarm that a fake QR code is produced or used (recognized) can be provided.
또한, 적어도 하나의 프로세서는, 제2 사용자 단말의 위치가 미리 설정된 장소로부터 미리 설정된 거리를 초과하지 않고, 제2 사용자 단말이 제1 QR 코드(300) 또는 제2 QR 코드(400)를 인식한 횟수가 상기 미리 설정된 횟수를 초과하지 않는 경우, 제2 사용자 단말에 의해 인식된 제1 QR 코드(300) 또는 제2 QR 코드(400)를 진품으로 판정할 수 있다. 또한, 적어도 하나의 프로세서는, 제2 사용자 단말의 위치가 미리 설정된 장소로부터 미리 설정된 거리를 초과하거나, 제2 사용자 단말이 제1 QR 코드(300) 또는 제2 QR 코드(400)를 인식한 횟수가 미리 설정된 횟수를 초과하는 경우에도, 제2 사용자 단말의 ID가 미리 설정된 장소에서의 제1 사용자 단말의 ID와 동일하다면, 제2 사용자 단말에 의해 인식된 제1 QR 코드(300) 또는 제2 QR 코드(400)를 진품으로 판정할 수 있다.In addition, at least one processor, the location of the second user terminal does not exceed a preset distance from the preset place, the second user terminal recognizes the first QR code 300 or the second QR code 400 When the number of times does not exceed the preset number of times, the first QR code 300 or the second QR code 400 recognized by the second user terminal may be determined as authentic. In addition, at least one processor, the number of times that the location of the second user terminal exceeds a preset distance from the preset place, or the second user terminal recognizes the first QR code 300 or the second QR code 400 Even if the number exceeds the preset number, if the ID of the second user terminal is the same as the ID of the first user terminal in the preset place, the first QR code 300 or the second recognized by the second user terminal The QR code 400 can be determined as authentic.
이로써, 본 발명의 일 실시예에 따른 식품 유통 시스템은 QR 코드에 대해 암호화 및 복호화 단계를 수행함으로써, QR 코드를 위조 및 변조함으로써 가품인 식품이 유통되는 것을 방지하고, 확실한 정품인 식품을 소비자에게 제공할 수 있다.Thus, the food distribution system according to an embodiment of the present invention performs encryption and decryption steps for the QR code, thereby preventing the distribution of fake food by forging and falsifying the QR code, and providing authentic food to consumers. Can provide.
이하, 도 5를 통해, 본 발명의 일 실시예에 따른 식품의 생산 정보를 제공하는 예시적인 프로그램 화면을 구체적으로 살펴본다.Hereinafter, through FIG. 5, an exemplary program screen providing information on production of food according to an embodiment of the present invention will be described in detail.
도 5에 도시된 바와 같이, 생산 정보는 식품의 축산물 유형, 원산지, 내용량, 등급 판정일, 포장일, 유통기한, 보존 방법 및 온도, 생산자, 판매원, 및 소비자 상담실 전화번호 등의 정보를 포함할 수 있다. 뿐만 아니라, 식품에 따라 필요한 생산 정보를 포함할 수 있다.As shown in Figure 5, the production information may include information such as the type of livestock product, the place of origin, the amount of food, the date of grade determination, the date of packaging, the expiration date, the storage method and temperature, the producer, the salesperson, and the telephone number of the consumer consultation office. I can. In addition, it may contain necessary production information depending on the food.
이하, 도 6a 및 도 6b를 통해, 본 발명의 일 실시예에 따른 식품의 이력 정보를 제공하는 예시적인 프로그램 화면을 구체적으로 살펴본다.Hereinafter, an exemplary program screen for providing food history information according to an embodiment of the present invention will be described in detail through FIGS. 6A and 6B.
본 발명의 일 실시예에 따른 식품 유통 시스템은 식품의 포장 박스, 식품이 보관되는 박스 및 창고, 식품을 이동시키는 차량의 적재함 중 적어도 하나에 온ㆍ습도 센서가 설치될 수 있다. 온ㆍ습도 센서는 이에 한정되지 않고, 식품이 보관되는 환경의 온도 및 습도를 측정할 수 있는 장소 어디든지 설치될 수 있다.In the food distribution system according to an embodiment of the present invention, a temperature/humidity sensor may be installed in at least one of a packaging box of food, a box and a warehouse in which food is stored, and a loading box of a vehicle that moves food. The temperature/humidity sensor is not limited thereto, and may be installed anywhere a temperature and humidity of an environment in which food is stored can be measured.
적어도 하나의 프로세서는, 온ㆍ습도 센서에 의해 식품이 보관되는 환경의 온도 및 습도를 실시간으로 측정하고, 식품이 보관되는 환경이 변화할 때, 식품이 다른 장소로 이동 중일 때, 그리고 식품이 다른 장소로 이동을 완료했을 때 중 적어도 하나일 때, 식품이 보관되는 환경의 온도 및 습도를 측정하고, 이에 대한 정보를 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)에 일정(예를 들어, 날짜) 별로 제공할 수 있다. 온ㆍ습도 센서는 이에 한정되지 않고, 주변의 온도 및 습도를 실시간으로 측정하고 기록할 수 있다. 상술한 이력 정보는 식품이 보관되는 환경의 온도 및 습도에 관한 정보를 포함할 수 있다.At least one processor measures the temperature and humidity of the environment in which food is stored in real time by a temperature/humidity sensor, and when the environment in which food is stored changes, when the food is moving to another place, and When it is at least one of when moving to the place is completed, the temperature and humidity of the environment where food is stored is measured, and the information is transmitted to a plurality of user terminals 500-1, 500-2, 500-3, and 500-4. ) Can be provided by schedule (eg, date). The temperature/humidity sensor is not limited thereto, and can measure and record the surrounding temperature and humidity in real time. The above-described history information may include information on temperature and humidity of an environment in which food is stored.
또한, 식품이 보관되는 환경이 변화하는 경우, 온도 또는 습도가 미리 설정된 임계값(예를 들어, 기준치에서 10% 상한값 및 하한값)을 초과하여 변화한다면, 적어도 하나의 프로세서는, 식품에 인쇄된 제2 QR 코드(400) 및 식품의 포장지 또는 포장 박스에 인쇄된 제1 QR 코드(300)를 인식하였던 모든 사용자 단말에 푸쉬 알람(Push Alarm)을 제공할 수 있다. 이로써, 식품이 보관되는 환경의 이상(abnormality)이 발생하면, 이에 관련한 생산자 또는 유통자에게 푸쉬 알람을 제공하여, 신속한 대응을 가능하게 한다.In addition, when the environment in which the food is stored changes, if the temperature or humidity changes by exceeding a preset threshold (eg, 10% upper and lower limits from the reference value), at least one processor 2 A push alarm can be provided to all user terminals that have recognized the QR code 400 and the first QR code 300 printed on the packaging paper or packaging box of food. Accordingly, when an abnormality in the environment in which food is stored occurs, a push alarm is provided to a producer or distributor related thereto, thereby enabling a quick response.
또한, 온ㆍ습도 센서는 온ㆍ습도 센서가 위치하는 위치 좌표를 실시간으로 인식 및/또는 기록하는 GPS 기능을 포함하고, 식품이 보관되는 환경의 온도 및 습도를 측정할 때, 온ㆍ습도 센서가 위치하는 위치 좌표를 인식 및/또는 기록할 수 있다. 여기서, 위치 정보는 위치 좌표를 포함하고, 적어도 하나의 프로세서는, 위치 좌표가 지도 상에서 연속된 점 및/또는 선으로 표시된 위치 정보를 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)에 제공할 수 있다.In addition, the temperature/humidity sensor includes a GPS function that recognizes and/or records the location coordinates where the temperature/humidity sensor is located in real time, and when measuring the temperature and humidity of the environment where food is stored, the temperature/humidity sensor Position coordinates to be located can be recognized and/or recorded. Here, the location information includes location coordinates, and the at least one processor transmits location information indicated by points and/or lines in which location coordinates are continuous on a map, and the plurality of user terminals 500-1, 500-2, 500-3 , 500-4).
이하, 도 7을 통해, 본 발명의 일 실시예에 따른 식품의 레시피를 제공하는 예시적인 프로그램 화면을 구체적으로 살펴본다.Hereinafter, an exemplary program screen for providing a food recipe according to an embodiment of the present invention will be described in detail through FIG. 7.
적어도 하나의 프로세서는, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)으로부터 캐시를 수집하여, 사용자의 연령 및 인터넷 검색 기록을 포함하는 빅데이터를 형성하고, 빅데이터로부터, 사용자의 연령, 인터넷 검색 기록 및 환경 변수를 고려하여, 사용자 맞춤형 레시피를 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)에 제공할 수 있다. 이 때, 캐시를 수집하는 사용자 단말은 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)에 한정되지 않고, 다른 사용자 단말도 포함할 수 있다. 환경 변수는, 날씨, 계절, 최근 미디어를 통한 방송 여부 및 빈도 등을 포함할 수 있다.At least one processor collects cache from a plurality of user terminals 500-1, 500-2, 500-3, and 500-4 to form big data including the user's age and internet search history, and From the data, a user-customized recipe may be provided to the plurality of user terminals 500-1, 500-2, 500-3, and 500-4 in consideration of the user's age, Internet search record, and environmental variables. In this case, the user terminal collecting the cache is not limited to the plurality of user terminals 500-1, 500-2, 500-3, and 500-4, and may include other user terminals. The environmental variables may include weather, season, whether or not broadcast through recent media, and frequency.
이하, 도 8을 통해, 본 발명의 일 실시예에 따른 QR 코드가 복수로 인식되는 것을 나타내는 예시적인 프로그램 화면을 구체적으로 살펴본다.Hereinafter, through FIG. 8, an exemplary program screen indicating that a plurality of QR codes are recognized according to an embodiment of the present invention will be described in detail.
적어도 하나의 프로세서는, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)에 의해 적어도 하나의 제1 QR 코드(300) 및/또는 적어도 하나의 제2 QR 코드(400)가 동적으로 촬영될 때, 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)에 의해 포착되는 제1 QR 코드(300) 및/또는 제2 QR 코드(400)가 복수로 인식되게 하는 멀티 QR 센싱을 가능하게 할 수 있다. 사용자 단말을 이용하여 QR 코드를 인식할 때, 보통의 경우에는, 사용자 단말의 카메라를 통해 촬영한 영상에서 하나의 QR 코드가 인식되면, URL이 나타나는 화면을 생성하여, 사용자로 하여금 해당 URL을 통해 연결된 웹 사이트 등으로 접속하게 할 뿐, 하나의 QR 코드가 인식되면 추가의 QR 코드를 검색하지 않는다. 하지만, 본 발명의 일 실시예에 따르면, 사용자 단말이 카메라를 통해 동적으로, 즉 카메라를 움직이면서 촬영한 영상에서 하나의 QR 코드를 인식하더라도, 이에 그치지 않고, 해당 영상에 포착되는 하나 이상의 QR 코드를 추가로 인식하게 할 수 있다. 예를 들어, 촬영 영상에서 하나의 QR 코드가 인식될 때, 이에 대한 URL을 메모리에 저장하고, 해당 영상에서 추가의 QR 코드가 있는지 검색하여 추가의 QR 코드가 있다면, 이에 대한 URL도 메모리에 저장하고, 해당 영상에서 QR 코드를 모두 인식한 후에, 메모리에 저장된 URL의 목록을 사용자 단말에 제공할 수 있다. 즉, 카메라를 움직이면서 촬영한 영상에 포착되었던 모든 QR 코드를 한 번에 인식할 수 있다. 복수로 인식된 제1 QR 코드(300) 및/또는 제2 QR 코드(400)에 대응하는 URL의 목록을 복수의 사용자 단말(500-1, 500-2, 500-3, 500-4)에 제공함으로써, 해당 목록 별로 식품 정보를 제공할 수 있다.The at least one processor may be configured by a plurality of user terminals 500-1, 500-2, 500-3, and 500-4 by at least one first QR code 300 and/or at least one second QR code ( When 400 is dynamically photographed, the first QR code 300 and/or the second QR code 400 captured by the plurality of user terminals 500-1, 500-2, 500-3, 500-4 ) Can be recognized as multiple QR sensing. When recognizing a QR code using a user terminal, in normal cases, when one QR code is recognized in an image captured by the user terminal's camera, a screen on which the URL appears is created, allowing the user to use the URL. It only allows access to a connected website, etc., and does not search for additional QR codes when one QR code is recognized. However, according to an embodiment of the present invention, even if the user terminal dynamically recognizes one QR code from an image captured by moving the camera, that is, it is not limited to this, and at least one QR code captured in the corresponding image is It can be made more aware. For example, when a QR code is recognized in a captured image, the URL for this is stored in memory, and if there is an additional QR code by searching for an additional QR code in the image, the URL for this is also stored in the memory And, after recognizing all the QR codes in the corresponding image, a list of URLs stored in the memory may be provided to the user terminal. In other words, it is possible to recognize all QR codes captured in the captured image while moving the camera at once. A list of URLs corresponding to the first QR code 300 and/or the second QR code 400 recognized as a plurality of the plurality of user terminals 500-1, 500-2, 500-3, 500-4 By providing, food information can be provided for each list.
이로써, 예를 들어 복수의 식품이 보관되어 있는, 박스 내 또는 창고 내, 그리고 냉장고 내에서 사용자 단말을 움직이면서 카메라를 통해 식품을 촬영할 때, 복수의 QR 코드를 한 번에 복수로 인식할 수 있다. 따라서, 식품의 포장지 및 포장 박스 등을 제거한 후 냉장고 등에 보관한 경우에도, 식품의 식품 정보를 확인할 수 있고, 복수로 보관된 식품을 일일이 QR 코드로 확인할 필요없이 한 번에 신속하게 확인할 수 있다.Thus, for example, when a plurality of foods are stored, in a box or in a warehouse, and in a refrigerator, when a user terminal is moved while photographing food through a camera, a plurality of QR codes can be recognized in plurality. Therefore, even when the packaging paper and the packaging box of the food are removed and then stored in a refrigerator, the food information of the food can be checked, and the food stored in plural can be quickly checked at a time without the need to check each food individually with a QR code.
상술한 식품 유통 시스템은 전자 장치 상에서 실행시키기 위해 매체에 저장된 컴퓨터 프로그램(예를 들어, 어플리케이션)이 사용자 단말(예를 들어, 스마트폰)에 설치됨으로써 그 기능이 수행될 수 있다.In the above-described food distribution system, a computer program (eg, an application) stored in a medium is installed in a user terminal (eg, a smart phone) to be executed on an electronic device, thereby performing its function.
위에서 설명된 본 발명의 실시 예들은 예시의 목적을 위해 개시된 것이며, 이들에 의하여 본 발명이 한정되는 것은 아니다. 또한, 본 발명에 대한 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 사상과 범위 안에서 다양한 수정 및 변경을 가할 수 있을 것이며, 이러한 수정 및 변경은 본 발명의 범위에 속하는 것으로 보아야 할 것이다.The embodiments of the present invention described above are disclosed for purposes of illustration, and the present invention is not limited thereto. In addition, those of ordinary skill in the technical field of the present invention will be able to make various modifications and changes within the spirit and scope of the present invention, and these modifications and changes should be viewed as belonging to the scope of the present invention.
100: QR 코드를 인쇄하기 위한 장치100: device for printing a QR code
110: 프로세서110: processor
120: 메모리120: memory
130: 입력 장치130: input device
140: 출력 장치140: output device
200: 서버200: server
300: 제1 QR 코드300: first QR code
400: 제2 QR 코드400: second QR code
500-1: 관리자의 사용자 단말500-1: Administrator's user terminal
500-2: 생산자의 사용자 단말500-2: Producer's user terminal
500-3: 유통자의 사용자 단말500-3: distributor's user terminal
500-4: 소비자의 사용자 단말500-4: consumer's user terminal
600: 블록 체인600: blockchain

Claims (10)

  1. 블록 체인을 이용한 식품 유통 시스템에 있어서,In a food distribution system using a block chain,
    QR 코드 인쇄 장치;QR code printing device;
    QR 코드를 인식 가능한 복수의 사용자 단말;A plurality of user terminals capable of recognizing QR codes;
    상기 복수의 사용자 단말이 접속 가능한 복수의 노드;A plurality of nodes to which the plurality of user terminals are accessible;
    상기 복수의 노드가 등록된 블록 체인;A block chain in which the plurality of nodes are registered;
    적어도 하나의 프로세서; 및At least one processor; And
    상기 적어도 하나의 프로세서에 의한 실행 시, 상기 적어도 하나의 프로세서가 연산을 수행하도록 하는 명령들이 저장된 적어도 하나의 메모리를 포함하고,When executed by the at least one processor, the at least one processor includes at least one memory that stores instructions that cause the at least one processor to perform an operation,
    상기 적어도 하나의 프로세서는,The at least one processor,
    서버로부터 수신된 QR 데이터에 기초하여 제1 QR 코드를 생성하고,Generates a first QR code based on the QR data received from the server,
    상기 제1 QR 코드에 대해 이미지 변환 처리를 함으로써 제2 QR 코드를 생성하고,Generate a second QR code by performing image conversion processing on the first QR code,
    상기 제2 QR 코드를 상기 메모리에 저장하고,Storing the second QR code in the memory,
    상기 QR 코드 인쇄 장치에 의해, 상기 메모리에 저장된 상기 제2 QR 코드를 곡면체인 식품 그 자체에 인쇄하고 - 상기 곡면체는 곡면을 따르는 점들에서의 곡률 반지름이 서로 상이한 난형의 곡면체를 포함함 -,By the QR code printing device, the second QR code stored in the memory is printed on the food itself, which is a curved body, and the curved body includes an oval-shaped curved body having different radii of curvature at points along the curved surface,
    상기 QR 코드 인쇄 장치에 의해, 상기 제1 QR 코드를 상기 식품의 포장지 및 포장 박스 중 적어도 하나에 인쇄하고,By the QR code printing device, printing the first QR code on at least one of the packaging paper and the packaging box of the food,
    상기 사용자 단말에 의해 상기 제1 QR 코드 또는 상기 제2 QR 코드가 인식될 때, URL을 통해 상기 식품에 대응하는 식품 정보를 상기 사용자 단말에 제공하고 - 상기 식품 정보는 생산 정보, 이력 정보 및 위치 정보를 포함하고, 상기 생산 정보는 상기 식품의 원산지, 내용량, 등급 판정일, 포장일, 유통기한, 생산자, 및 판매원을 포함함 -,When the first QR code or the second QR code is recognized by the user terminal, food information corresponding to the food is provided to the user terminal through a URL, and the food information includes production information, history information, and location. Includes information, and the production information includes the origin of the food, content, grade determination date, packaging date, expiration date, producer, and sales person -,
    상기 식품 정보로 구성된 트랜잭션을 포함하는 블록을 상기 블록 체인에 등록하여, 상기 블록을 해쉬 체인(Hash Chain)의 형태로 연결하고,A block containing a transaction consisting of the food information is registered in the block chain, and the block is connected in the form of a hash chain,
    상기 블록 체인에 등록된 상기 복수의 노드 중 하나의 노드에서 발생한 상기 트랜잭션을 상기 블록 체인에 등록된 상기 복수의 노드에 전송하여, 상기 트랜잭션이 상기 복수의 노드에 의해 공유되도록 하고 - 상기 트랜잭션은 상기 식품 정보의 생성, 변화 및 폐기를 포함함 -,The transaction occurring in one of the plurality of nodes registered in the block chain is transmitted to the plurality of nodes registered in the block chain, so that the transaction is shared by the plurality of nodes-the transaction is the Including the creation, change and disposal of food information -,
    상기 이미지 변환 처리는, 상기 제1 QR 코드의 네 개의 꼭지점들을 유지하되, 상기 꼭지점들을 연결하는 선을 볼록한 형태로 변형시킴으로써, 상기 곡면체에서도 QR 인식이 가능한 상기 제2 QR 코드를 생성하는,In the image conversion processing, by maintaining the four vertices of the first QR code and transforming a line connecting the vertices into a convex shape, generating the second QR code capable of QR recognition even in the curved body,
    식품 유통 시스템.Food distribution system.
  2. 제1항에 있어서,The method of claim 1,
    상기 식품의 상기 포장 박스, 상기 식품이 보관되는 박스 및 창고, 상기 식품을 이동시키는 차량의 적재함 중 적어도 하나에 설치되는 온·습도 센서를 더 포함하고,Further comprising a temperature/humidity sensor installed in at least one of the packaging box of the food, a box and a warehouse in which the food is stored, and a loading box of a vehicle that moves the food,
    상기 적어도 하나의 프로세서는, 상기 온·습도 센서에 의해 상기 식품이 보관되는 환경의 온도 및 습도를 실시간으로 측정하고, The at least one processor measures the temperature and humidity of the environment in which the food is stored by the temperature/humidity sensor in real time,
    상기 식품이 보관되는 환경이 변화할 때, 상기 식품이 다른 장소로 이동 중일 때, 그리고 상기 식품이 다른 장소로 이동을 완료했을 때 중 적어도 하나일 때, 상기 식품이 보관되는 환경의 상기 온도 및 상기 습도를 측정하여 상기 사용자 단말에 제공하고,When at least one of when the environment in which the food is stored changes, when the food is moving to another place, and when the food has completed moving to another place, the temperature of the environment in which the food is stored, and the Measure the humidity and provide it to the user terminal,
    상기 이력 정보는 상기 식품이 보관되는 환경의 상기 온도 및 상기 습도를 포함하는,The history information includes the temperature and the humidity of the environment in which the food is stored,
    식품 유통 시스템.Food distribution system.
  3. 제2항에 있어서,The method of claim 2,
    상기 온·습도 센서는 상기 온·습도 센서가 위치하는 위치 좌표를 실시간으로 인식하는 GPS 기능을 포함하고, 상기 식품이 보관되는 환경의 상기 온도 및 상기 습도를 측정할 때, 상기 온·습도 센서가 위치하는 상기 위치 좌표를 인식하고,The temperature/humidity sensor includes a GPS function for real-time recognition of the location coordinates where the temperature/humidity sensor is located, and when measuring the temperature and the humidity of the environment in which the food is stored, the temperature/humidity sensor Recognize the location coordinates to be located,
    상기 위치 정보는 상기 위치 좌표를 포함하고,The location information includes the location coordinates,
    상기 적어도 하나의 프로세서는, 상기 위치 좌표가 지도 상에서 연속된 점 또는 선으로 표시된 상기 위치 정보를 상기 사용자 단말에 제공하는,The at least one processor provides the user terminal with the location information in which the location coordinates are displayed as a continuous dot or line on a map,
    식품 유통 시스템.Food distribution system.
  4. 제1항에 있어서,The method of claim 1,
    상기 적어도 하나의 프로세서는,The at least one processor,
    상기 제1 QR 코드를 생성한 후 상기 제2 QR 코드를 생성하기 전에, 상기 QR 데이터에 64비트 키를 이용하여 데이터 암호화 알고리즘을 세 단계에 걸쳐 적용함으로써 암호화를 수행하고,After generating the first QR code and before generating the second QR code, encryption is performed by applying a data encryption algorithm to the QR data in three steps using a 64-bit key,
    상기 사용자 단말에 의해 상기 제1 QR 코드 또는 상기 제2 QR 코드가 인식될 때, 상기 URL을 통해 상기 사용자 단말이 접속되는 상기 서버에서 복호화를 수행하고, 상기 사용자 단말의 위치 및 상기 사용자 단말이 상기 제1 QR 코드 또는 상기 제2 QR 코드를 인식한 횟수, 상기 사용자 단말의 ID를 수집하는,When the first QR code or the second QR code is recognized by the user terminal, decryption is performed at the server to which the user terminal is connected through the URL, and the location of the user terminal and the user terminal Collecting the number of times the first QR code or the second QR code is recognized, the ID of the user terminal,
    식품 유통 시스템.Food distribution system.
  5. 제4항에서 있어서,In claim 4,
    상기 사용자 단말은 제1 사용자 단말 및 제2 사용자 단말을 포함하고,The user terminal includes a first user terminal and a second user terminal,
    상기 적어도 하나의 프로세서는,The at least one processor,
    상기 제2 사용자 단말의 위치가 미리 설정된 장소로부터 미리 설정된 거리를 초과하고, 상기 제2 사용자 단말의 ID가 상기 미리 설정된 장소에서의 제1 사용자 단말의 ID와 상이한 경우, 상기 제2 사용자 단말에 의해 인식된 상기 제1 QR 코드 또는 상기 제2 QR 코드를 가품으로 판정하고,When the location of the second user terminal exceeds a preset distance from a preset place, and the ID of the second user terminal is different from the ID of the first user terminal at the preset place, by the second user terminal Determine the recognized first QR code or the second QR code as a fake,
    상기 제2 사용자 단말의 위치가 상기 미리 설정된 장소로부터 상기 미리 설정된 거리를 초과하지 않는 경우, 상기 제2 사용자 단말이 상기 제1 QR 코드 또는 상기 제2 QR 코드를 인식한 횟수가 미리 설정된 횟수를 초과하고, 상기 제2 사용자 단말의 상기 ID가 상기 미리 설정된 장소에서의 상기 제1 사용자 단말의 상기 ID와 상이하다면, 상기 제2 사용자 단말에 의해 인식된 상기 제1 QR 코드 또는 상기 제2 QR 코드를 가품으로 판정하고,When the location of the second user terminal does not exceed the preset distance from the preset place, the number of times the second user terminal recognizes the first QR code or the second QR code exceeds a preset number And, if the ID of the second user terminal is different from the ID of the first user terminal at the preset place, the first QR code or the second QR code recognized by the second user terminal Judged as a fake,
    상기 제2 사용자 단말의 위치가 상기 미리 설정된 장소로부터 상기 미리 설정된 거리를 초과하지 않고, 상기 제2 사용자 단말이 상기 제1 QR 코드 또는 상기 제2 QR 코드를 인식한 횟수가 상기 미리 설정된 횟수를 초과하지 않는 경우, 상기 제2 사용자 단말에 의해 인식된 상기 제1 QR 코드 또는 상기 제2 QR 코드를 진품으로 판정하고,The location of the second user terminal does not exceed the preset distance from the preset place, and the number of times the second user terminal recognizes the first QR code or the second QR code exceeds the preset number If not, the first QR code or the second QR code recognized by the second user terminal is determined as genuine,
    상기 제2 사용자 단말의 위치가 상기 미리 설정된 장소로부터 상기 미리 설정된 거리를 초과하거나, 상기 제2 사용자 단말이 상기 제1 QR 코드 또는 상기 제2 QR 코드를 인식한 횟수가 상기 미리 설정된 횟수를 초과하는 경우에도, 상기 제2 사용자 단말의 상기 ID가 상기 미리 설정된 장소에서의 상기 제1 사용자 단말의 상기 ID와 동일하다면, 상기 제2 사용자 단말에 의해 인식된 상기 제1 QR 코드 또는 상기 제2 QR 코드를 진품으로 판정하는,The location of the second user terminal exceeds the preset distance from the preset place, or the number of times the second user terminal recognizes the first QR code or the second QR code exceeds the preset number Even in the case, if the ID of the second user terminal is the same as the ID of the first user terminal at the preset place, the first QR code or the second QR code recognized by the second user terminal To judge as authentic,
    식품 유통 시스템.Food distribution system.
  6. 제2항에 있어서,The method of claim 2,
    상기 식품이 보관되는 환경이 변화하는 경우, 상기 온도 또는 상기 습도가 미리 설정된 임계값을 초과하여 변화한다면, 상기 적어도 하나의 프로세서는, 상기 식품에 인쇄된 상기 제2 QR 코드 및 상기 식품의 상기 포장지 또는 상기 포장 박스에 인쇄된 상기 제1 QR 코드를 인식하였던 모든 사용자 단말에 푸쉬 알람(Push Alarm)을 제공하는,When the environment in which the food is stored changes, if the temperature or the humidity changes by exceeding a preset threshold, the at least one processor may include the second QR code printed on the food and the packaging paper of the food. Or providing a push alarm to all user terminals that have recognized the first QR code printed on the packaging box,
    식품 유통 시스템.Food distribution system.
  7. 제1항에 있어서,The method of claim 1,
    상기 적어도 하나의 프로세서는,The at least one processor,
    상기 사용자 단말로부터 캐시를 수집하여, 사용자의 연령 및 인터넷 검색 기록을 포함하는 빅데이터를 형성하고,By collecting the cache from the user terminal, to form big data including the user's age and Internet search records,
    상기 빅데이터로부터, 상기 사용자의 연령, 상기 인터넷 검색 기록 및 환경 변수를 고려하여, 사용자 맞춤형 레시피를 상기 사용자 단말에 제공하는,From the big data, in consideration of the user's age, the Internet search record, and environmental variables, providing a customized recipe to the user terminal,
    식품 유통 시스템.Food distribution system.
  8. 제1항에 있어서,The method of claim 1,
    상기 적어도 하나의 프로세서는,The at least one processor,
    상기 사용자 단말에 의해 적어도 하나의 상기 제1 QR 코드, 적어도 하나의 상기 제2 QR 코드, 또는, 적어도 하나의 상기 제1 QR 코드 및 적어도 하나의 상기 제2 QR 코드의 조합이 동적으로 촬영될 때, 상기 사용자 단말에 의해 포착되는 상기 제1 QR 코드 또는 상기 제2 QR 코드가 복수로 인식되게 하고,When at least one of the first QR code, at least one of the second QR code, or a combination of at least one of the first QR code and at least one of the second QR code is dynamically photographed by the user terminal , Allowing the first QR code or the second QR code captured by the user terminal to be recognized as a plurality,
    복수로 인식된 상기 제1 QR 코드 또는 상기 제2 QR 코드에 대응하는 URL의 목록을 상기 사용자 단말에 제공함으로써, 상기 목록 별로 상기 식품 정보를 제공하는,Providing the food information for each of the list by providing a list of URLs corresponding to the plurality of recognized first QR codes or the second QR codes to the user terminal,
    식품 유통 시스템.Food distribution system.
  9. 블록 체인을 이용한 식품 유통 방법에 있어서,In the food distribution method using a block chain,
    서버로부터 수신된 QR 데이터에 기초하여 제1 QR 코드를 생성하는 단계;Generating a first QR code based on the QR data received from the server;
    상기 제1 QR 코드에 대해 이미지 변환 처리를 함으로써 제2 QR 코드를 생성하는 단계;Generating a second QR code by performing image conversion processing on the first QR code;
    상기 제2 QR 코드를 메모리에 저장하는 단계;Storing the second QR code in a memory;
    QR 코드 인쇄 장치에 의해, 상기 메모리에 저장된 상기 제2 QR 코드를 곡면체인 식품 그 자체에 인쇄하는 단계 - 상기 곡면체는 곡면을 따르는 점들에서의 곡률 반지름이 서로 상이한 난형의 곡면체를 포함함 -;Printing the second QR code stored in the memory on the food itself, which is a curved surface, by a QR code printing apparatus, the curved body including an oval-shaped curved body having different radiuses of curvature at points along the curved surface;
    상기 QR 코드 인쇄 장치에 의해, 상기 제1 QR 코드를 상기 식품의 포장지 및 포장 박스 중 적어도 하나에 인쇄하는 단계;Printing the first QR code on at least one of a packaging paper and a packaging box of the food by the QR code printing device;
    사용자 단말에 의해 상기 제1 QR 코드 또는 상기 제2 QR 코드가 인식될 때, URL을 통해 상기 식품에 대응하는 식품 정보를 상기 사용자 단말에 제공하는 단계 - 상기 식품 정보는 생산 정보, 이력 정보 및 위치 정보를 포함하고, 상기 생산 정보는 상기 식품의 원산지, 내용량, 등급 판정일, 포장일, 유통기한, 생산자, 및 판매원을 포함함 -;When the first QR code or the second QR code is recognized by the user terminal, providing food information corresponding to the food through a URL to the user terminal-The food information includes production information, history information, and location Includes information, and the production information includes the origin of the food, the content, the grade determination date, the packaging date, the shelf life, the producer, and the sales person;
    상기 식품 정보로 구성된 트랜잭션을 포함하는 블록을 상기 블록 체인에 등록하여, 상기 블록을 해쉬 체인(Hash Chain)의 형태로 연결하는 단계; 및Registering a block including a transaction consisting of the food information in the block chain, and connecting the block in the form of a hash chain; And
    상기 블록 체인에 등록된 복수의 노드 중 하나의 노드에서 발생한 상기 트랜잭션을 상기 블록 체인에 등록된 상기 복수의 노드에 전송하여, 상기 트랜잭션이 상기 복수의 노드에 의해 공유되도록 하는 단계 - 상기 트랜잭션은 상기 식품 정보의 생성, 변화 및 폐기를 포함함 - 를 포함하고,Transmitting the transaction occurring in one node among the plurality of nodes registered in the block chain to the plurality of nodes registered in the block chain, so that the transaction is shared by the plurality of nodes-The transaction is the Including the creation, change and disposal of food information, and
    상기 이미지 변환 처리는, 상기 제1 QR 코드의 네 개의 꼭지점들을 유지하되, 상기 꼭지점들을 연결하는 선을 볼록한 형태로 변형시킴으로써, 상기 곡면체에서도 QR 인식이 가능한 상기 제2 QR 코드를 생성하는,In the image conversion processing, by maintaining the four vertices of the first QR code and transforming a line connecting the vertices into a convex shape, generating the second QR code capable of QR recognition even in the curved body,
    식품 유통 방법.Food distribution methods.
  10. 제9항의 식품 유통 방법을 전자 장치 상에서 실행시키기 위해 매체에 저장된,Stored in a medium for executing the food distribution method of claim 9 on an electronic device,
    컴퓨터 프로그램.Computer program.
PCT/KR2020/008260 2019-07-05 2020-06-25 System, method, and program for distributing food by using blockchain WO2021006506A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0081009 2019-07-05
KR1020190081009A KR102085483B1 (en) 2019-07-05 2019-07-05 System, method and program for distributing food

Publications (1)

Publication Number Publication Date
WO2021006506A1 true WO2021006506A1 (en) 2021-01-14

Family

ID=70291387

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/008260 WO2021006506A1 (en) 2019-07-05 2020-06-25 System, method, and program for distributing food by using blockchain

Country Status (2)

Country Link
KR (1) KR102085483B1 (en)
WO (1) WO2021006506A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113269503A (en) * 2021-07-20 2021-08-17 北京微芯感知科技有限公司 Cold chain food tracing system and method based on block chain and graph neural network

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102085483B1 (en) * 2019-07-05 2020-04-14 이광열 System, method and program for distributing food
KR102416747B1 (en) * 2020-08-27 2022-07-05 최화인 Goods distribution tracking apparatus / method using decentralized network and self-sovereign id
KR102327945B1 (en) * 2021-03-22 2021-11-17 코리아소프트 주식회사 System, qr tag, method, program and server for managing historical information of seafood using blockchain and iot technology
KR102564066B1 (en) 2023-02-20 2023-08-04 주식회사 제이엔프리모 Method, apparatus and system for providing food logistics processing enabling expiration date monitoring

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101511918B1 (en) * 2014-10-10 2015-04-15 주식회사 이노서티 QR code for counterfeit and forgery prevention, a system for automatically producing QR codes for counterfeit and forgery prevention and the operating method therefor
US20180157946A1 (en) * 2015-06-11 2018-06-07 Scantrust Sa Two dimensional barcode
KR20180115661A (en) * 2018-10-16 2018-10-23 금동교 System for managing food based internet of things and method for managing food
KR101943215B1 (en) * 2017-08-23 2019-01-28 건국대학교 산학협력단 Method of recommendating service and apparatuses performing the same
KR20190051321A (en) * 2017-11-06 2019-05-15 주식회사 케이티 Product Distribution Management System and Method Based On Block Chain
KR102085483B1 (en) * 2019-07-05 2020-04-14 이광열 System, method and program for distributing food

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130115054A (en) * 2012-04-11 2013-10-21 조용균 A curved surface qr code and a manufacturing method for the qr code

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101511918B1 (en) * 2014-10-10 2015-04-15 주식회사 이노서티 QR code for counterfeit and forgery prevention, a system for automatically producing QR codes for counterfeit and forgery prevention and the operating method therefor
US20180157946A1 (en) * 2015-06-11 2018-06-07 Scantrust Sa Two dimensional barcode
KR101943215B1 (en) * 2017-08-23 2019-01-28 건국대학교 산학협력단 Method of recommendating service and apparatuses performing the same
KR20190051321A (en) * 2017-11-06 2019-05-15 주식회사 케이티 Product Distribution Management System and Method Based On Block Chain
KR20180115661A (en) * 2018-10-16 2018-10-23 금동교 System for managing food based internet of things and method for managing food
KR102085483B1 (en) * 2019-07-05 2020-04-14 이광열 System, method and program for distributing food

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113269503A (en) * 2021-07-20 2021-08-17 北京微芯感知科技有限公司 Cold chain food tracing system and method based on block chain and graph neural network

Also Published As

Publication number Publication date
KR102085483B1 (en) 2020-04-14

Similar Documents

Publication Publication Date Title
WO2021006506A1 (en) System, method, and program for distributing food by using blockchain
JP7060221B2 (en) Goods information management equipment, systems, methods and programs
WO2018177201A1 (en) Method and device for embedding and extracting digital watermark, digital watermarking system
JP2021523490A (en) Reliable contextual content
WO2014069777A1 (en) Transit control for data
CN109861992B (en) Information interaction method and cross-scene tracking method of monitoring terminal
US20150278487A1 (en) Security scheme for authenticating digital entities and aggregate object origins
CN115349244A (en) Storage and communication environment for cryptographic labels
CN107633567A (en) A kind of intelligent night watching method
CN110502922B (en) Article circulation link tracing method and device based on block chain and electronic equipment
WO2020231177A1 (en) Electronic device and method for receiving push message stored in blockchain
CN110471632B (en) File printing and viewing method and device, electronic equipment and readable storage medium
US10802888B2 (en) Information processing device and cooperative distributed storage system
WO2022131441A1 (en) Method and system for storing and verifying web page by using blockchain network
US11159332B2 (en) Low friction device enrollment
WO2021137396A1 (en) Zero-knowledge proof-based certificate service method using blockchain network, certification support server using same, and user terminal using same
WO2019017608A1 (en) Product authenticity verification tag, wrapping paper including same, and product authenticity verification method
CN111709860A (en) Homote advice processing method, device, equipment and storage medium
CN113886883A (en) Internet of things data management method and device
CN104917738A (en) Finance platform data processing method and system
KR20210004807A (en) System, method and program for distributing food
WO2022158730A1 (en) Apparatus and method for providing blockchain-based service for personal information verification
WO2023149660A1 (en) Group signature-based federated learning method and system, and recording medium for performing same
Ye et al. An improved location-based service authentication algorithm with personalized k-anonymity
WO2022102980A1 (en) Portfolio management system through mutual data sharing and object verification

Legal Events

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

Ref document number: 20836544

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20836544

Country of ref document: EP

Kind code of ref document: A1