IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社 ビーアイマトリックスの特許一覧

特開2024-91435データベースのための構文生成方法(METHOD FOR GENERATING STATEMENTS FOR DATABASES)
<>
  • 特開-データベースのための構文生成方法(METHOD  FOR  GENERATING  STATEMENTS  FOR  DATABASES) 図1
  • 特開-データベースのための構文生成方法(METHOD  FOR  GENERATING  STATEMENTS  FOR  DATABASES) 図2
  • 特開-データベースのための構文生成方法(METHOD  FOR  GENERATING  STATEMENTS  FOR  DATABASES) 図3
  • 特開-データベースのための構文生成方法(METHOD  FOR  GENERATING  STATEMENTS  FOR  DATABASES) 図4
  • 特開-データベースのための構文生成方法(METHOD  FOR  GENERATING  STATEMENTS  FOR  DATABASES) 図5
  • 特開-データベースのための構文生成方法(METHOD  FOR  GENERATING  STATEMENTS  FOR  DATABASES) 図6
  • 特開-データベースのための構文生成方法(METHOD  FOR  GENERATING  STATEMENTS  FOR  DATABASES) 図7
  • 特開-データベースのための構文生成方法(METHOD  FOR  GENERATING  STATEMENTS  FOR  DATABASES) 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024091435
(43)【公開日】2024-07-04
(54)【発明の名称】データベースのための構文生成方法(METHOD FOR GENERATING STATEMENTS FOR DATABASES)
(51)【国際特許分類】
   G06F 16/27 20190101AFI20240627BHJP
【FI】
G06F16/27
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023183759
(22)【出願日】2023-10-26
(31)【優先権主張番号】10-2022-0182758
(32)【優先日】2022-12-23
(33)【優先権主張国・地域又は機関】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.MySQL
2.ORACLE
(71)【出願人】
【識別番号】512096861
【氏名又は名称】株式会社 ビーアイマトリックス
【氏名又は名称原語表記】BI MATRIX CO.,LTD
【住所又は居所原語表記】New building 17F.,433,Seolleung-ro,Gangnam-gu,Seoul,Republic of Korea
(74)【代理人】
【識別番号】240000327
【弁護士】
【氏名又は名称】弁護士法人クレオ国際法律特許事務所
(72)【発明者】
【氏名】ペ ヨングン
(72)【発明者】
【氏名】ファン ソンミン
(72)【発明者】
【氏名】ハン ジンス
(72)【発明者】
【氏名】イ ヨンギュン
(72)【発明者】
【氏名】チェ ハンナ
(72)【発明者】
【氏名】チョ ジョンス
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175CA09
(57)【要約】      (修正有)
【課題】スプレッドシート上の原本データを基にデータベースのための構文を生成するための方法を提供する。
【解決手段】方法は、スプレッドシート上の原本データに含まれている複数のレコードの中から第1サブレコードを選択する段階、第1サブレコードを基に、予め設定された変換設定情報に基づき、オブジェクトテーブルに係る構文生成作業を実行する段階、原本データに含まれている複数のレコードの中から第1サブレコードと異なる第2サブレコードを選択する段階及び第2サブレコードを基に、予め設定された変換設定情報に基づき、構文生成作業を再実行する段階を含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
コンピューティング装置により実行される、スプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換する方法であって、
前記原本データに含まれている複数のレコードの中から第1サブレコードを選択する段階;及び
前記第1サブレコードを基に、予め設定された変換設定情報に基づき、前記オブジェクトテーブルに係る構文生成作業を実行する段階;
前記原本データに含まれている複数のレコードの中から前記第1サブレコードと異なる第2サブレコードを選択する段階;及び
前記第2サブレコードを基に、前記予め設定された変換設定情報に基づき、前記構文生成作業を再実行する段階;
を含む、
方法。
【請求項2】
請求項1において、
前記第1サブレコード及び前記第2サブレコードは、それぞれ1つの行である、
方法。
【請求項3】
請求項2において、
前記第2サブレコードは、前記第1サブレコードに後続する行である、
方法。
【請求項4】
請求項1において、
前記変換設定情報は、データベース及び前記オブジェクトテーブルのうち少なくとも1つに係る情報を含む、
方法。
【請求項5】
請求項4において、
前記構文生成作業は、前記変換設定情報に基づき、前記レコードの一部のカラムを選択する段階を含む、
方法。
【請求項6】
請求項5において、
前記変換設定情報は、前記オブジェクトテーブルのカラム属性情報を含む、
方法。
【請求項7】
請求項6において、
前記カラム属性情報は、キータイプ情報、データタイプ情報、保存モード情報、カラム名情報のうち少なくとも1つを含む、
方法。
【請求項8】
請求項1において
前記オブジェクトテーブルが複数存在する場合、
前記変換設定情報は、前記原本データを複数のテーブルの各々の構造に応じて変換するための複数の変換設定情報を含む、
方法。
【請求項9】
請求項1において
前記原本データに含まれている複数のレコードの中から第3サブレコード乃至第nサブレコードの各々を選択する段階;及び
前記第3サブレコード乃至前記第nサブレコードの各々を基に、前記予め設定された変換設定情報に基づき、前記構文生成作業を繰り返す段階;
をさらに含み、
前記第1サブレコード乃至前記第nサブレコードの総和は、前記原本データの全体に対応する、
方法。
【請求項10】
コンピューター可読保存媒体に保存されたコンピュータープログラムであって、
前記コンピュータープログラムは、1つ以上のプロセッサーによって実行される場合、前記1つ以上のプロセッサーに、スプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換するための動作を実行させ、当該動作は、
前記原本データに含まれている複数のレコードの中から第1サブレコードを選択する動作;及び
前記第1サブレコードを基に、予め設定された変換設定情報に基づき、前記オブジェクトテーブルに係る構文生成作業を実行する動作;
前記原本データに含まれている複数のレコードの中から前記第1サブレコードと異なる第2サブレコードを選択する動作;及び
前記第2サブレコードを基に、前記予め設定された変換設定情報に基づき、前記構文生成作業を再実行する動作;
を含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項11】
コンピューティング装置であって、
少なくとも1つのプロセッサー;及び
メモリー;
を含み、
前記少なくとも1つのプロセッサーは、スプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換し、前記プロセッサーは、
前記原本データに含まれている複数のレコードの中から第1サブレコードを選択し;
前記第1サブレコードを基に、予め設定された変換設定情報に基づき、前記オブジェクトテーブルに係る構文生成作業を実行し;
前記原本データに含まれている複数のレコードの中から前記第1サブレコードと異なる第2サブレコードを選択し;且つ
前記第2サブレコードを基に、前記予め設定された変換設定情報に基づき、前記構文生成作業を再実行するように構成される、
装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理分野に係り、原本データを基にデータベースのための構文を生成するための方法に関する。
【背景技術】
【0002】
コンピューター技術の発展により、企業及び官公庁等において、経営及び管理に係る業務のために多様なコンピュータープログラムを用いている。かかるコンピュータープログラムは、企業の会計、人事、財務、営業、貿易、購買、資材、生産及び在庫等の経営管理に必要な数多くのデータを保存し、処理することが可能である。かかるコンピュータープログラムを用いることで、ユーザー(企業及び官公庁等における業務の実務担当者、役員及び経営者)は、より便利且つ簡単に企業及び官公庁等において用いられているデータを保存し管理することが可能になる。企業及び官公庁等において用いられているコンピュータープログラムは、多様な形の文書を作成、編集、管理できる機能をサポートしている。一方、複数のデータを保存し、処理し、出力するために用いられるテーブルに含まれている情報をデータベースに保存する過程においてデータの入力を間違える場合がある。それのため、作業のやり直しによるタイムロスが発生する場合がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】大韓民国登録特許公報第10-0593661号
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、前述の背景技術に対応して案出されたものであり、ユーザーがテーブル内に存在する複数のレコードをまとめてデータベースに更新又は追加できるようにする構文を生成する方法を提供するものである。
【0005】
本開示における技術的課題は、前述の技術的課題に限定されるものではなく、当業者は以下の記載内容に基づき、前述の技術的課題以外の課題についても明確に理解することが可能である。
【課題を解決するための手段】
【0006】
前述の課題を解決するための複数の実施例におけるコンピューティング装置により実行される、スプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換する方法を提供する。上記方法は、上記原本データに含まれている複数のレコードの中から第1サブレコードを選択する段階;及び上記第1サブレコードを基に、予め設定された変換設定情報に基づき、オブジェクトテーブルに係る構文生成作業を実行する段階;
上記原本データに含まれている複数のレコードの中から上記第1サブレコードと異なる第2サブレコードを選択する段階;及び上記第2サブレコードを基に、上記予め設定された変換設定情報に基づき、上記構文生成作業を再実行する段階;を含むことが可能である。
【0007】
一実施例において、上記第1サブレコード及び上記第2サブレコードは、それぞれ1つの行になり得る。
【0008】
一実施例において、上記第2サブレコードは、上記第1サブレコードに後続する行になり得る。
【0009】
一実施例において、上記変換設定情報は、データベースとオブジェクトテーブルのうち少なくとも1つに係る情報を含むことが可能である。
【0010】
一実施例において、上記構文生成作業は、上記変換設定情報に基づき、上記レコードの一部のカラムを選択する段階を含むことが可能である。
【0011】
一実施例において、上記変換設定情報は、上記オブジェクトテーブルのカラム属性情報を含むことが可能である。
【0012】
一実施例において、上記カラム属性情報は、キータイプ情報、データタイプ情報、保存モード情報、カラム名情報のうち少なくとも1つを含むことが可能である。
【0013】
一実施例において、上記オブジェクトテーブルが複数存在する場合、上記変換設定情報は、上記原本データを複数のテーブルの各々の構造に応じて変換するための複数の変換設定情報を含むことが可能である。
【0014】
一実施例において、上記原本データに含まれている複数のレコードの中から第3サブレコード乃至第nサブレコードの各々を選択する段階;及び上記第3サブレコード乃至上記第nサブレコードの各々を基に、上記予め設定された変換設定情報に基づき、上記構文生成作業を繰り返す段階;をさらに含み、上記第1サブレコード乃至上記第nサブレコードの総和は上記原本データの全体に対応するものになり得る。
【0015】
また、前述のような課題を解決するためのコンピューター可読保存媒体に保存されたコンピュータープログラムが開示される。
【0016】
上記コンピュータープログラムは、1つ以上のプロセッサーによって実行される場合、上記1つ以上のプロセッサーに、スプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換するための動作を実行させることが可能である。
【0017】
上記動作は、上記原本データに含まれている複数のレコードの中から第1サブレコードを選択する動作;及び上記第1サブレコードを基に、予め設定された変換設定情報に基づき、オブジェクトテーブルに係る構文生成作業を実行する動作;上記原本データに含まれている複数のレコードの中から上記第1サブレコードと異なる第2サブレコードを選択する動作;及び上記第2サブレコードを基に、上記予め設定された変換設定情報に基づき、上記構文生成作業を再実行する動作;を含むことが可能である。
【0018】
また、前述のような課題を解決するためのコンピューティング装置が開示される。
【0019】
上記コンピューティング装置は、少なくとも1つのプロセッサー;及びメモリー;を含み、上記少なくとも1つのプロセッサーは、スプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換することが可能である。
【0020】
上記プロセッサーは、上記原本データに含まれている複数のレコードの中から第1サブレコードを選択し;上記第1サブレコードを基に、予め設定された変換設定情報に基づき、オブジェクトテーブルに係る構文生成作業を実行し;上記原本データに含まれている複数のレコードの中から上記第1サブレコードと異なる第2サブレコードを選択し;且つ、上記第2サブレコードを基に、上記予め設定された変換設定情報に基づき、上記構文生成作業を再実行するように構成されることが可能である。
【発明の効果】
【0021】
本開示は、前述の背景技術に対応して案出されたものであり、ユーザーがテーブル内に存在する複数のレコードを効率よくまとめてデータベースに更新又は追加することを可能にする方法を提供することが可能である。
【0022】
本開示を適用可能な範囲として追加できるものは、以下の詳細な説明により明確になる。しかし、本発明の思想及び範囲における多様な変更及び修正は、当業者にとって明確に理解できるものであるため、詳細な説明及び本発明における好ましい実施例のような特定の実施例は、例示に過ぎないものと理解されるべきである。
【図面の簡単な説明】
【0023】
図面を参照して多様な様相について説明する。以下の図面の記載において、類似の図面番号は総体として類似の構成要素を示すために使われる。以下の実施例において、説明のために、多数の特定の細部事項が、1つ以上の様相の総合的な理解を助けるために提供される。しかし、かかる(複数の)様相を、かかる特定の細部事項がなくても実施できるということは明白である。他の例において、公知の構造及び装置が、1つ以上の様相の記載を容易にするためにブロック図の形で図示される。
図1図1は、本開示の一実施例におけるコンピューティング装置を説明するためのブロック構成図である。
図2図2は、本開示の一実施例においてスプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換する方法を説明するためのフローチャートである。
図3図3は、本開示の一実施例においてスプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換する方法を説明するためのフローチャートである。
図4図4は、本開示の一実施例においてスプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換する方法を説明するための概念図である。
図5図5は、本開示の一実施例においてスプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換するためのユーザーインターフェース(UI)を図示したものである。
図6図6は、本開示の一実施例においてスプレッドシート上の原本データを複数のデータベースに追加する方法を説明するための概念図である。
図7図7は、本開示の一実施例において複数の原本テーブルをデータベース上の複数のオブジェクトテーブルに追加する方法を説明するための概念図である。
図8図8は、本開示内容の実施例が具現化されることが可能である、例示的なコンピューティング環境に係る一般的な概略図である。
【発明を実施するための形態】
【0024】
多様な実施例が以下に図面を参照しながら説明される。本明細書において多様な説明が本開示に対する理解を容易にするために示される。しかし、これらの実施例がこれらの具体的な説明がなくても間違いなく実施されることができる。
【0025】
本明細書において、「コンポーネント」、「モジュール」、「システム」等の用語は、コンピューター関連エンティティ、ハードウェア、ファームウェア、ソフトウェア、ソフトウェアとハードウェアとの組み合わせ、またはソフトウェアの実行を指す。例えば、コンポーネントは、プロセッサー上で実行される処理手順(procedure)、プロセッサー、オブジェクト、実行スレッド、プログラム、及び/またはコンピューターになり得るが、これらに限定されるものではない。例えば、コンピューティング装置で実行されるアプリケーションとコンピューティング装置は、両方ともコンポーネントになり得る。1つ以上のコンポーネントは、プロセッサー及び/または実行スレッドの中に常駐することができる。1つのコンポーネントは、1つのコンピューターの中でローカル化されることができる。1つのコンポーネントは、2つ以上のコンピューターに配分されることができる。また、このようなコンポーネントは、その内部に保存されている多様なデータ構造を持つ、多様なコンピューター可読媒体から実行することができる。コンポーネントは、例えば1つ以上のデータパケットを持つ信号(例えば、ローカルシステム、分散システムにおいて他のコンポーネントと相互作用する1つのコンポーネントからのデータ及び/または信号を通じて、他のシステムと、インターネットのようなネットワークを介して伝送されるデータ)によってローカル及び/または遠隔処理等を通じて通信することができる。
【0026】
以下の説明で用いられる構成要素に係る接尾語の「モジュール」及び「部」は、明細書作成を容易にするためだけの目的で付されたり、混用されるものであって、これらの接尾語自体がそれぞれ異なる特定の意味や役割を持つわけではない。
【0027】
また、本明細書において用いられる用語「情報」と「データ」は、しばしば相互置き換えできるように使うことができる。
【0028】
ある構成要素が他の構成要素に「つながって」いたり「連結されて」いたり、「接続して」いると記載された場合は、当該他の構成要素に直接つながっていたり、連結されていたり又は接続していることもあり得るが、その間に他の構成要素が存在することもあり得ると解釈されるべきである。一方、ある構成要素が他の構成要素に「直接つながって」いたり、「直接連結されていたり」、「直接接続して」いると記述されている場合は、その間に他の構成要素が存在しないと理解すべきである。
【0029】
用語「又は」は、排他的な「又は」ではなく、内包的な「又は」を意味する意図で使われる。つまり、特に特定されておらず、文脈上明確ではない場合、「XはA又はBを利用する」は、自然な内包的置換のうち1つを意味するものとする。つまり、XがAを利用したり;XがBを利用したり;又はXがA及びBの両方を利用する場合、「XはA又はBを利用する」は、これらのいずれにも当てはまるとすることができる。また、本明細書における「及び/又は」という用語は、取り挙げられた複数の関連アイテムのうち、1つ以上のアイテムの可能なすべての組み合わせを指し、含むものと理解される。
【0030】
また、述語としての「含む(含める)」及び/又は修飾語としての「含む(含める)」という用語は、当該特徴及び/又は構成要素が存在することを意味するが、1つ以上の他のさらなる特徴、構成要素及び/又はこれらのグループの存在又は追加を排除しないものと理解される。また、特に数が特定されていない場合や、単数の形を示すことが文脈上明確でない場合、本明細書と請求範囲において単数は、一般的に「1つ又はそれ以上」を意味するものと解釈されるべきである。
【0031】
以下において、図面の符号と関係なく同一又は類似の構成様相に対しては同一の参照番号を付し、それに係る重複する説明は省略する。さらに、本明細書に開示されている実施例を説明する際、それに係る公知の技術に関する具体的な説明が本明細書に開示されている実施例の要旨を不明確にする可能性があると判断される場合は、その詳細な説明を省略する。さらに、添付の図面は、本明細書に開示されている実施例に対する理解を容易にするためのものに過ぎず、添付の図面によって本明細書に開示されている技術的思想が制限されるわけではない。
【0032】
そして、「A又はBのうち少なくとも1つ」という用語については、「Aだけを含む場合」、「Bだけを含む場合」、「AとBの組み合わせの場合」を意味するものと解釈されたい。
【0033】
当業者は、さらに、ここに開示される実施例に係るものとして説明された多様な例示的論理的ブロック、構成、モジュール、回路、手段、ロジック及びアルゴリズム段階が、電子ハードウェア、コンピューターソフトウェア、またはその両方の組み合わせによって実現されることができることを認識すべきである。ハードウェアとソフトウェアとの相互交換性を明確に例示するために、多様な例示的コンポーネント、ブロック、構成、手段、ロジック、モジュール、回路及び段階が、それらの機能性の側面で一般的に上述された。そのような機能性がハードウェアとしてまたはソフトウェアとして実装されるか否かは、全般的なシステムに係る特定のアプリケーション(application)及び設計制限によって決まる。熟練した技術者は、個々の特定アプリケーションのために多様な方法で説明された機能性を実現できる。ただし、そのような実現に係る決定が本開示内容の領域を逸脱するものと解釈されてはならない。
【0034】
ここに示す実施例に係る説明は、本開示の技術分野において通常の知識を持つ者が本発明を利用したり、または実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものである。ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることができる。従って、本発明はここに示す実施例だけに限定されるものではない。本発明はここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。
【0035】
本開示においてコンピューティング装置は、原本データに含まれているレコードを処理することが可能である。ここで上記処理は、上記レコードをデータベースに更新することを含むものとする。以下に、図1乃至図8に示す内容に基づき、本開示における原本データに含まれているレコードに基づきデータベースを更新する方法について説明する。
【0036】
図1は、本開示の一実施例におけるコンピューティング装置を説明するためのブロック構成図である。
【0037】
図1に図示されたコンピューティング装置(100)の構成は、簡略化して示した例示に過ぎない。本開示の一実施例において、コンピューティング装置(100)には、コンピューティング装置(100)のコンピューティング環境を実装するための他の構成が含まれることが可能であり、開示されている構成のうち一部だけでコンピューティング装置(100)を構成することも可能である。
【0038】
コンピューティング装置(100)は、プロセッサー(110)、メモリー(130)、ネットワーク部(150)を含むことができる。
【0039】
プロセッサー(110)は、1つ以上のコアで構成されることが可能であり、コンピューティング中央処理装置(CPU:central processing unit)、汎用グラフィック処理装置(GPGPU:general purpose graphics processing unit)、テンサー処理装置(TPU:tensor processing unit)等のデータ分析、ディープラーニングのためのプロセッサーを含むことができる。
【0040】
本開示の一実施例において、メモリー(130)は、プロセッサー(110)が生成したり、決定した任意の形態の情報及びネットワーク部(150)が受信した任意の形態の情報を保存することができる。
【0041】
本開示の一実施例において、メモリー(130)は、フラッシュメモリータイプ(flash memory type)、ハードディスクタイプ(hard disk type)、マルチメディアカードマイクロタイプ(multimedia card micro type)、カードタイプのメモリー(例えばSD又はXDメモリー等)、ラム(Random Access Memory、RAM)、SRAM(Static Random Access Memory)、ロム(Read-Only Memory、ROM)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、PROM(Programmable Read-Only Memory)、磁気メモリー、磁気ディスク、光ディスクのうち少なくとも1つのタイプの保存媒体を含むことができる。コンピューティング装置(100)は、インターネット(internet)上で前記メモリー(130)の保存機能を実行するウェブストレージ(web storage)と連携して動作することも可能である。前述のメモリーに係る記述は、例示に過ぎず、本開示はこれらに限定されない。
【0042】
本開示の一実施例におけるネットワーク部(150)は、公衆電話交換網(PSTN:Public Switched Telephone Network)、xDSL(x Digital Subscriber Line)、RADSL(Rate Adaptive DSL)、MDSL(Multi Rate DSL)、VDSL(Very High Speed DSL)、UADSL(Universal Asymmetric DSL)、HDSL(High Bit Rate DSL)及び近距離通信網(LAN)等のような多様な有線通信システムを使用することができる。
【0043】
また、本明細書におけるネットワーク部(150)は、CDMA(Code Division Multi Access)、TDMA(Time Division Multi Access)、FDMA(Frequency Division Multi Access)、OFDMA(Orthogonal Frequency Division Multi Access)、SC-FDMA(Single Carrier-FDMA)及びその他のシステムのような多様な無線通信システムを利用することができる。
【0044】
本開示におけるネットワーク部(150)は、有線及び無線等のような通信の様態を問わずに構成されることができ、短距通信網(PAN:Personal Area Network)、近距離通信網(WAN:Wide Area Network)等の多様な通信網になり得る。また、上記ネットワークは、公知のワールドワイドウェブ(WWW:World Wide Web)になり得る他、赤外線(IrDA:Infrared Data Association)又は、ブルートゥース(登録商標:Bluetooth)のように、短距離通信に利用される無線伝送技術を利用することもできる。
【0045】
本明細書において説明された技術は、上記のネットワークだけでなく、他のネットワークで使われることもできる。
【0046】
図2は、本開示の一実施例においてスプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換する方法を説明するためのフローチャートである。
【0047】
図2に示す内容を参照すると、本開示のスプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換する方法は、原本データに含まれている複数のレコードの中から第1サブレコードを選択する段階(S110)、第1サブレコードを基に、変換設定情報に基づき、オブジェクトテーブルに係る構文生成作業を実行する段階(S210)、原本データに含まれている複数のレコードの中から第1サブレコードと異なる第2サブレコードを選択する段階(S120)及び第2サブレコードを基に、変換設定情報に基づき、オブジェクトテーブルに係る構文生成作業を再実行する段階(S220)を含むことが可能である。
【0048】
上記原本データに含まれている複数のレコードの中から第1サブレコードを選択する段階(S110)において、上記原本データはスプレッドシートの形をした文書管理プログラムになり得る。一例として、上記原本データは、スプレッドシートに含まれている多数の行(row)を含むテーブルになり得る。また、上記サブレコードは、上記原本データに含まれている複数のレコードの一部になり得る。本開示において、原本データに含まれている複数のレコードの全部ではなく一部のサブレコードだけを選択し、オブジェクトテーブルに原本データを効率的に変更して追加することが可能である。上記サブデータは、1つの行になり得るが、これについては図3及び図4を用いて後述する。
【0049】
上記第1サブレコードを基に、変換設定情報に基づき、オブジェクトテーブルに係る構文生成作業を実行する段階(S210)において、上記構文は、データベースに係るクエリ(query)構文であることが可能であり、上記クエリは、作成、読み取り、更新、削除(Create、Read、Update、Delete;CRUD)動作を含むことが可能である。また、上記データベースは、テーブルが含まれているリレーショナルデータベースであることが可能であり、上記構文は、リレーショナルデータベースを操作するための命令であるSQL(Structured Query Language)であることが可能である。
【0050】
上記原本データに含まれている複数のレコードの中から第1サブレコードと異なる第2サブレコードを選択する段階(S120)と上記第2サブレコードを基に、変換設定情報に基づき、オブジェクトテーブルに係る構文生成作業を再実行する段階(S220)を繰り返す場合、上記原本データ全体をオブジェクトテーブルに追加することが可能である。かかる繰り返し作業は、図3及び図4を用いて後述する。
【0051】
図3及び図4は、本開示の一実施例においてスプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換する方法を説明するためのフローチャート及び概念図である。
【0052】
図3及び図4に示す内容を参照すると、本開示のスプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換する方法は、n行の原本データに含まれている複数のレコードの一部である第kサブレコードを選択する段階(S130)、第kサブレコードを基に、変換設定情報に基づき、オブジェクトテーブルに係る構文生成作業を実行する段階(S230)、オブジェクトテーブルに係る構文実行作業を実行する段階(S300)を含むことが可能である。また、本開示の方法は、上記第kサブレコードが第nサブレコード以前の行であるか否かを判断する段階(S400)をさらに含むことが可能である。
【0053】
上記スプレッドシートは、ユーザーの必要に応じて用いられるデータ又はデータセットを含み、ユーザーによってデータの入出力が可能なソフトウェアプログラムを意味することが可能である。また、上記原本データは、ユーザー端末のタッチスクリーン又は任意の形態のディスプレイ部において、ユーザーが希望するアプリケーション又はアプリケーションの機能を実行するためのオブジェクトを含むユーザーインターフェース(UI)に出力されたデータになり得る。
【0054】
上記n行の原本データに含まれている複数のレコードのうち、k番目の行に該当する第kサブレコードを選択する段階(S130)において、上記サブレコードは、1つの行になり得る。一例として、原本データは、n行の原本テーブル(210)であることが可能であり、第kサブレコード(Rk)は、上記原本テーブル(210)の複数のレコード(211)のうちk番目の行のレコードであることが可能である。上記サブレコードが1つの行である場合、構文生成及び実行作業を一括で実行する場合に比べて、実行に要するコンピューティング資源が節減され、作業速度を高めることが可能である。
【0055】
上記選択は、上記サブレコードにアクセスして別途のサブテーブル(300)を生成する段階を含むことが可能である。一例として、上記第kサブレコード(Rk)は、サブテーブル(300)を生成することが可能である。上記サブテーブル(300)は、原本テーブル(210)から分離されることが可能であり、迅速なデータ処理が可能になるように、小さいサイズになり得る。また、原本テーブル(210)においてアクセスするときに絞り込みの過程を経る場合、不要な情報がサブテーブル(300)に送信されることがなくなり、速度及びセキュリティーの面で有利になり得る。
【0056】
上記第kサブレコードを基に、変換設定情報に基づき、オブジェクトテーブルに係る構文生成作業を実行する段階(S230)は、上記変換設定情報に基づき、上記レコードの一部のカラムを選択する段階を含むことが可能である。また、上記構文生成作業は、上記変換設定情報に基づき、上記レコードの属性を確認し、データベース(800)に適合するように変更することが可能である。上記変換設定情報は、カラム設定部(500)及びデータ属性設定部(600)により制御されることが可能である。
【0057】
一例として、上記カラム設定部(500)は、上記サブテーブル(300)にアクセスすることが可能である。次に、上記カラム設定部(500)は、上記第kサブレコード(Rk)の複数のカラム(212)の中から一部のカラムを選択し、分離されたサブレコードを生成することが可能である。また、データ属性設定部(600)は、上記分離されたサブレコードの各カラム(C1、C2、C5、C6)の各々に係るデータ属性を確認し、オブジェクトテーブル(810)と相違するカラムに係るデータ属性を変更して上記第kサブレコードに係る構文(700)を生成することが可能である。この場合、データ属性設定部(600)は、多様な複数の属性(A1、A2、A3、A4)を制御することが可能である。他の例として、上記サブレコードについては、カラム設定部(500)及びデータ属性設定部(600)によってすぐに第kサブレコードに係る構文(700)が生成されることが可能である。
【0058】
上記段階S230は、モジュール化された数式を用いて実行することが可能であり、多少複雑になりかねないデータ変換のためのプログラミングを、上記数式が代替することが可能である。上記数式は、予め設定された規則に基づいて作成されることが可能であり、上記設定された規則は、プログラムの数式と同一の規則を含むことが可能である。
【0059】
一例として、上記カラム設定部(500)は、商用のスプレッドシートの数式を用いて上記サブテーブル(300)の位置を指定してアクセスすることが可能であり、上記サブテーブル(300)の位置に基づき各カラム(C1、C2、C5、C6)を選択する動作を通じて、分離されたサブレコードを生成することが可能である。また、上記データ属性設定部(600)も同様に商用のスプレッドシートの数式を用いて各カラム(C1、C2、C5、C6)のデータタイプを指定することが可能である。また、上記カラム設定部(500)及び上記データ属性設定部(600)は、ユーザーインターフェース(UI)を介して制御されることが可能であるが、これについては図5を用いて後述する。
【0060】
上記オブジェクトテーブルに係る構文実行作業を実行する段階(S300)は、生成された構文に対して実行されることが可能である。本開示における上記構文(700)は、データベース(800)に対する命令を実行するための要請であるクエリ構文(Query statement)になり得る。上記構文(700)は、SQL(Structure Query Language)で作成されることが可能であり、データベース(800)のデータ等を照会、修正、追加、削除するためのDML(Data Manipulation Language)等を含むことが可能であり、一例として、上記構文(700)は、上記データベース(800)の上記オブジェクトテーブル(810)に係るデータを追加する作業を実行するコマンドになり得る。この場合、上記データベース(800)又は上記オブジェクトテーブル(810)は、複数存在することが可能である。上記データベース(800)が複数存在する場合については、図6を用いて後述する。また、上記オブジェクトテーブル(810)が複数存在する場合については、図7を用いて後述する。
【0061】
一方、構文(700)は、データベースアクセス設定部(400)が活用されて実行されることが可能である。上記データベースアクセス設定部(400)は、上記データベース(800)のアクセスに係る第1アクセス設定部(410)及び上記オブジェクトテーブル(810)のアクセスに係る第2アクセス設定部(420)を含むことが可能である。また、上記データベースアクセス設定部(400)は、ユーザーインターフェース(UI)により制御されることが可能であるが、これについては図5を用いて後述する。
【0062】
上記第kサブレコードが第nサブレコード以前の行である場合(S400)、第k+1レコードに対して、上記段階S130、上記段階S230及び上記段階S300を繰り返し行うことが可能である(k←k+1)。この場合、上記第k+1レコードは、上記第kサブレコードの次の行に係るレコードになり得る。一例として、上記原本テーブル(210)n行のうち、1行目に該当する第1サブレコードについて、上記段階S130、上記段階S230及び上記段階S300の実行が完了すると、2行目に該当する第2サブレコードについて、上記段階S130、上記段階S230及び上記段階S300を再実行することが可能である。同様に、上記原本テーブル(210)のn行に含まれている複数のレコードのうち、3番目乃至n番目の行に該当する上記第3サブレコード乃至第nサブレコードの各々を選択する段階(S130);及び上記第3サブレコード乃至第nサブレコードの各々を基に、上記予め設定された変換設定情報に基づき、上記構文生成作業を実行する段階(S230)及び構文実行作業を実行する段階(S300)を繰り返すことが可能である。この場合、上記第1サブレコード乃至上記第nサブレコードの総和は、上記原本テーブル(210)の全体に対応することが可能である。
【0063】
図5は、本開示の一実施例においてスプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換するためのユーザーインターフェース(UI)を図示したものである。
【0064】
図5に示す内容を参照すると、上記ユーザーインターフェース(UI)は、データベースアクセス設定部(400)、カラム設定部(500)及びデータ属性設定部(600)を制御する画面上のものになり得る。一例として、上記ユーザーインターフェース(UI)は、原本データが少なくとも1つのオブジェクトを含む画面、領域、識別情報、インジケーター、入力ウィンドウ、モジュール及び/又はタブ等がユーザーインターフェース(UI)を構成することが可能である。この場合、ユーザー端末に表示されているタブ又はアイコンを含むオブジェクトが選択される場合、ユーザー端末は選択された動作に対応するアプリケーション又はアプリケーションの機能を実行することが可能である。一例として、上記アプリケーションは、ウェブ上で作動したり、単独のプログラムとして実行されるスプレッドシートになり得る。
【0065】
上記データベースアクセス設定部(400)は、指定されたデータベース名等のような設定に係る第1アクセス設定部(410)及び上記データベース上に含まれているオブジェクトテーブルに係る設定に係る第2アクセス設定部(420)を含むことが可能である。上記第1アクセス設定部(410)は、データベース名のみならず、データベースの種類、一連番号、経路、アクセス権限のうちいずれか1つ以上をさらに含むことが可能であり、スプレッドシート上のセルに表示されることが可能である。この場合、上記データベースの種類は、一例として、ORACLE(オラクル)、PostgreSQL(ポストグレスキューエル)、MySQL、SQL Server(MS-SQL)とSQLiteのうち少なくとも1つになり得る。上記第1アクセス設定部(410)にデータベースの種類が含まれる場合、上記データベースの種類に応じて、当該データベースに合わせた構文が生成されることが可能である。一例として、ユーザーは、本開示を通じて、データベースの種類を問わず、ユーザーインターフェース(UI)から提供する抽象化された数式を用いて便利に構文を生成することが可能である。
【0066】
また、上記第2アクセス設定部(420)は、上記データベース上のオブジェクトテーブルに係る一連番号、フィールドの数、アクセス権限のうちいずれか1つ以上をさらに含むことが可能であり、スプレッドシート上のセルに表示されユーザーにより確認及び制御されることが可能である。
【0067】
上記カラム設定部(500)は、第1カラム設定部(510)及び第2カラム設定部(520)を含むことが可能である。上記第1カラム設定部(510)は、上記サブレコードのうち構文の生成に係るカラムにアクセスするためのものであり、スプレッドシート上のセルに表示されることが可能である。一例として、上記セルは、上記構文に係るカラムの数と同数が設けられることが可能である。また、上記第1カラム設定部(510)は、上記サブテーブル(300)にアクセスするために、商用のスプレッドシートの数式を用いて上記サブテーブル(300)の位置を指定することが可能である。
【0068】
上記第2カラム設定部(520)は、上記サブレコードを基に生成される構文が、オブジェクトテーブルにどのような動作を実行するかを決定するためのものであり、スプレッドシート上のセルに表示されることが可能である。一例として、上記第2カラム設定部(520)は、上記構文が生成、読み取り、更新、削除(Create、Read、Update、Delete;CRUD)のうちいずれか一つ以上の動作を行うSQLクエリと関連するものになり得る。この場合、上記SQLクエリは、挿入(Insert)、更新(Update)、削除(Delete)のうちいずれか1つの命令に係る信号であることが可能であり、上記信号は、上記SQLクエリの名称又は略語としてレッドシートのセルに入力されたり、表示されることが可能である。
【0069】
上記データ属性設定部(600)は、各カラム別のデータの属性に係るものになり得る。一例として、上記データ属性設定部(600)は、上記カラムのキータイプ(KeyType、A1)、データの類型(DataType、A2)、保存モード(save mode、A3)、データベース内のカラム名(A4)、カラム説明(A5)のうち少なくとも1つ以上を含むことが可能である。
【0070】
上記カラムのキータイプ(KeyType、A1)は、SQL生成時に当該カラムがキーバリューとして用いられるか否かを設定したり、値がNULLの場合に対する処理方式とクエリを組み合わせる際に条件文として含めるか否か等のような制約条件を設定することが可能である。また、上記データの類型(DataType、A2)は、SQL生成時にカラムのデータタイプを設定し、タイプに応じて値が自動的に置き換えられたり、入力値のデータタイプを変換処理することが可能である。一例として、上記データタイプは、CHAR(n)、VARCHAR2(n)、NCHAR(n) NVARCHAR2(n)、LONG、CLOB、NCLOBのうち少なくとも1つの文字列型(string)のデータタイプになり得る。また、上記データタイプは、BINARY_FLOAT、BINARY_DOUBLE、NUMBER(P、S)、DATE、YEAR、INTERVAL_YEAR、INTERVAL_DAY、TIMESTAMP、TIMESTAMP_WITH TIME ZONE、TIMESTAMP_WITH LOCAL TIME ZONEのうち少なくとも1つの数字/日付型(numeric/date)のデータタイプになり得る。また、上記データタイプは、RAW(n)、LONGRAW、BLOB、BFILEのうち少なくとも1つのバイナリー(binary)データタイプになり得る。この場合、上記nは、予め設定されているか、ユーザーインターフェースにより設定されるデータの長さであり、上記Pは有効桁数を、上記Sは小数点の有効桁を表す。上記データの類型(DataType、A2)は、上記ユーザーインターフェース(UI)を介して入力されることが可能である。従って、上記データの類型(DataType、A2)は、オブジェクトテーブルが属するデータベースの種類が変更されても、上記データ属性設定部(600)において、上記入力された上記データの類型(DataType、A2)を上記データベースに適したデータタイプを表現する名称に変更してSQLクエリを生成することが可能である。
【0071】
上記保存モード(save mode、A3)は、原本データを上記データベースに保存するための方法を設定することに係るものになり得る。まず、上記保存モードは、サブレコードの条件に基づき、絞り込みを行うことが可能である。一例として、上記保存モードが絞り込みをしていない状態(All)である場合、原本データのサブレコードの全体について、SQLクエリが生成されることが可能である。一方、上記保存モードのうち、特定のカラムに制約条件を設定する場合、サブレコードのうち、上記制約条件を満たしている場合にのみSQLクエリが生成されることが可能である。また、上記保存モードは、SQLクエリが実行されるときに例外のことが発生した場合、追加の動作をするように設定することが可能である。一例として、上記サブレコードをオブジェクトテーブルに保存するとき、上記サブレコードのデータがすでに存在する場合、SQLクエリ実行作業を中止し、エラーメッセージを生成する動作を実行することが可能である。反対に、上記サブレコードをオブジェクトテーブルに保存するとき、上記サブレコードのデータがすでに存在する場合は、上記サブレコードに係る作業を無視して次のサブレコードに係るSQLクエリを実行する動作をすることが可能である。または、上記サブレコードをオブジェクトテーブルに保存するとき、上記サブレコードのデータがすでに存在する場合は、上記存在するデータに対するオーバーライドを行うことが可能である。この場合、上記SQLクエリが原本データの全体ではなく、各サブレコードの各々に対して順次に実行されるため、例外処理において柔軟性を有することが可能である。
【0072】
上記データベース内のカラム名(A4)は、上記原本データと上記オブジェクトテーブルとで、カラムの順番が変更されたり、カラム名が異なる場合にも、SQLクエリ構文が実行されるようにすることが可能である。また、上記カラム説明(A5)は、上記データベースに係る説明を表示したり、追加することが可能である。
【0073】
図6は、本開示の一実施例においてスプレッドシート上の原本データを複数のデータベースに追加する方法を説明するための概念図である。
【0074】
図6に示す内容を参照すると、本開示の原本テーブル(210)は、サブレコードを選択することが可能であり、上記サブレコードは1つの行として構成されることが可能である。上記選択により、上記サブデータにアクセスして別途のサブテーブル(300)を生成することが可能である。上記サブテーブル(300)は、上記原本テーブル(210)から分離されることが可能であり、絞り込みの過程を経ることが可能である。
【0075】
次に、プロセッサーは、上記サブテーブル(300)に基づき、複数の構文を生成することが可能である。上記複数の構文を生成するために、カラム設定部は、上記原本テーブル(210)にアクセスすることが可能である。この場合、上記カラム設定部は複数存在することが可能であり、一例として、第1カラム設定部(500a)及び第2カラム設定部(500b)を含むことが可能である。各カラム設定部が上記サブテーブル(300)においてアクセスするカラムは相異なることが可能である。また、上記複数の構文は、SQLクエリであることが可能であり、プロセッサーは上記サブテーブル(300)に基づき、第1SQLクエリ(700a)及び第2SQLクエリ(700b)を生成することが可能である。
【0076】
次に、上記第1SQLクエリ(700a)及び上記第2SQLクエリ(700b)は、複数のデータベースについて動作することが可能である。一例として、上記第1SQLクエリ(700a)が実行されることで、第1データベース(800a)にデータを追加することが可能であり、上記第2SQLクエリ(700b)が実行されることで、第2データベース(800b)にデータを追加することが可能である。上記追加は、複数のデータベースアクセス設定部により制御されることが可能である。一例として、上記第1SQLクエリ(700a)は、第1アクセス設定部(400a)によって実行されることが可能であり、上記第2SQLクエリ(700b)は、第2アクセス設定部(400b)によって実行されることが可能である。一方、プロセッサーは、上記クエリの生成及び実行の過程を繰り返し行うことが可能であり、上記原本テーブル(210)の全体のレコードについて行うことが可能である。
【0077】
図7は、本開示の一実施例において複数の原本テーブルをデータベース上の複数のオブジェクトテーブルに追加する方法を説明するための概念図である。
【0078】
図7に示す内容を参照すると、プロセッサーは、本開示の原本レコード(200)のうち、原本テーブル(210)を選択する。プロセッサーは、選択された上記原本テーブル(210)のうち、サブレコードを選択することが可能である。上記選択により、上記サブデータにアクセスして別途のサブテーブル(300)を生成することが可能である。上記サブテーブル(300)は、上記原本テーブル(210)から分離されることが可能であり、絞り込みの過程を経ることが可能である。一方、上記サブレコードは、1つの行として構成されることが可能である。
【0079】
次に、プロセッサーは、上記サブテーブル(300)に基づき、複数の構文を生成することが可能である。上記複数の構文を生成するために、カラム設定部は、上記原本テーブル(210)にアクセスすることが可能である。上記カラム設定部は、複数存在することが可能であるが、一例として、上記カラム設定部は、第1カラム設定部(500a)及び第2カラム設定部(500b)を含むことが可能である。各カラム設定部が上記サブテーブル(300)においてアクセスするカラムは相異なることが可能である。また、上記複数の構文は、SQLクエリであることが可能であり、プロセッサーは上記サブテーブル(300)に基づき、第1SQLクエリ(700a)及び第2SQLクエリ(700b)を生成することが可能である。
【0080】
上記第1SQLクエリ(700a)及び上記第2SQLクエリ(700b)は、複数のオブジェクトテーブルについて動作することが可能である。一例として、上記第1SQLクエリ(700a)が実行されることで、データベース(800)の第1オブジェクトテーブル(810a)にデータを追加することが可能であり、上記第2SQLクエリ(700b)が実行されることで、上記データベース(800)の第2オブジェクトテーブル(810b)にデータを追加することが可能である。
【0081】
上記追加する動作は、複数のデータベースアクセス設定部により行われることが可能である。一例として、上記第1SQLクエリ(700a)は、第1アクセス設定部(400a)により実行されることが可能であり、上記第2SQLクエリ(700b)は、第2アクセス設定部(400b)により実行されることが可能である。一方、プロセッサーは、上記クエリの生成及び実行の過程を繰り返し行うことが可能であり、上記原本テーブル(210)に含まれている全体のレコードについて行うことが可能である。
【0082】
一方、上記第1オブジェクトテーブル(810a)と上記第2オブジェクトテーブル(810b)とは、互いに連結されているテーブルであることが可能であり、一例として、上記連結は、基本キー(primary key)と外部キー(foreign key)を通じて連結されることが可能である。上記連結されたテーブルにデータを追加するために、上記第1カラム設定部(500a)及び上記第2カラム設定部(500b)において上記連結に適した設定が行われることが可能である。
【0083】
また、上記原本テーブル(210)の全体のレコードについて、上記クエリの生成及び実行の過程が完了する場合、上記原本レコード(200)のうち、他の原本テーブルを選択して上記クエリの生成及び実行の過程を繰り返すことが可能である。
【0084】
図8は、本開示内容の実施例が具現化されることが可能である、例示的なコンピューティング環境に係る一般的な概略図である。
【0085】
図8に示す記載を参照すると、上記コンピュータープログラムは、1つ以上のプロセッサーによって実行される場合、上記1つ以上のプロセッサーに、スプレッドシート上の原本データをデータベース上のオブジェクトテーブルの構造に応じて変換するための動作を実行させることが可能である。
【0086】
上記動作は、上記原本データに含まれている複数のレコードの中から第1サブレコードを選択する動作;及び上記第1サブレコードを基に、予め設定された変換設定情報に基づき、オブジェクトテーブルに係る構文生成作業を実行する動作を含むことが可能である。また、上記動作は、上記原本データに含まれている複数のレコードの中から上記第1サブレコードと異なる第2サブレコードを選択する動作及び上記第2サブレコードを基に、上記予め設定された変換設定情報に基づき、上記構文生成作業を再実行する動作を含むことが可能である。
【0087】
また、本開示の一実施例に基づき、データ構造を保存したコンピューター可読媒体が開示される。
【0088】
データ構造は、データに対する効率的なアクセスと修正を可能にするデータの組織、管理、保存を意味することが可能である。データ構造は、特定の課題(例えば、最短時間でのデータ検索、データ保存、データ修正)を解決するためのデータの組織を意味することが可能である。データ構造は、特定のデータ処理機能をサポートするように設計された、複数のデータ要素間の物理的あるいは論理的関係と定義されることも可能である。複数のデータ要素間の論理的関係は、複数のユーザー定義のデータ要素間の連結関係を含むことが可能である。複数のデータ要素間の物理的関係は、コンピューター可読保存媒体(例えば、永久保存装置)に物理的に保存されている複数のデータ要素間の実際の関係を含むことが可能である。データ構造は、具体的にデータの集合、データ間の関係、データに適用できる関数や命令を含むことが可能である。効果的に設計されたデータ構造を活用することで、コンピューティング装置は、コンピューティング装置のリソースの使用を最低限に抑えながら、演算を行うことが可能である。具体的に、コンピューティング装置は、効果的に設計されたデータ構造を通じて、演算、読み取り、取り込み、削除、比較、交換、検索の効率を高めることが可能である。
【0089】
データ構造は、データ構造の形態を基準に、線形データ構造と非線形データ構造に分類されることが可能である。線形データ構造は、1つのデータの後にデータが1つだけ繋がっている構造になり得る。線形データ構造は、リスト(List)、スタック(Stack)、キュー(Queue)、デック(Deque)を含むことが可能である。リストは、内部的に順序が存在する一連のデータの集合を意味することが可能である。リストは、連結リスト(Linked List)を含むことが可能である。連結リストは、各々のデータがポインターを持ち、一列に繋がっている方式でデータが連結されているデータ構造になり得る。連結リストにおいて、ポインターは、次のデータや前のデータとの連結に係る情報を含むことが可能である。連結リストは、形態によって片方向連結リスト、双方向連結リスト、循環連結リストとして表現されることが可能である。スタックは、データへのアクセスに制限が付くデータ配列構造になり得る。スタックは、データ構造の片端でのみデータを処理(例えば、挿入又は削除)できる線形データ構造になり得る。スタックに保存されているデータは、後入れ先出しのデータ構造(LIFO-Last in First Out)になり得る。キューもデータへのアクセスに制限が付くデータ配列構造であるが、スタックとの違いは、先入れ先出しのデータ構造(FIFO-First in First Out)になっているということになり得る。デックは、データ構造の両端でデータを処理できるデータ構造になり得る。
【0090】
非線形データ構造は、1つのデータの後に複数のデータが繋がっている構造になり得る。非線形データ構造は、グラフ(Graph)データ構造を含むことが可能である。グラフデータ構造は、頂点(Vertex)と辺(Edge)で定義することが可能であり、辺は異なる2つの頂点を繋ぐ線を含むことが可能である。グラフデータ構造は、ツリー(Tree)データ構造を含むことが可能である。ツリーデータ構造は、ツリーに含まれている複数の頂点のうち、相異なる2つの頂点を繋ぐ経路が1つであるデータ構造になり得る。つまり、グラフデータ構造において、ループ(loop)を形成しないデータ構造になり得る。
【0091】
データ構造は、神経回路網に入力されるデータを含むことが可能である。神経回路網に入力されるデータを含むデータ構造は、コンピューター可読媒体に保存されることが可能である。神経回路網に入力されるデータは、神経回路網の学習過程において入力される学習データ及び/又は学習が完了した神経回路網に入力される入力データを含むことが可能である。神経回路網に入力されるデータは、前処理(pre-processing)を行ったデータ及び/又は前処理の対象となるデータを含むことが可能である。前処理は、データを神経回路網に入力するためのデータ処理過程を含むことが可能である。従って、データ構造は、前処理の対象となるデータ及び前処理により発生するデータを含むことが可能である。前述のデータ構造は、例示に過ぎず、本開示はこれらに限定されない。
【0092】
データ構造は、神経回路網の重みを含むことが可能である。(本明細書において、重みとパラメータは同一の意味を持つとみなすことが可能である)そして、神経回路網の重みを含むデータ構造は、コンピューター可読媒体に保存されることが可能である。神経回路網は、複数の重みを含むことが可能である。重みは、可変的なものになり得るが、神経回路網が求める機能を実行するために、ユーザー又はアルゴリズムに応じて可変することが可能である。例えば、1つの出力ノードに、1つ以上の入力ノードが、各々のリンクによって相互連結されている場合、出力ノードは、上記出力ノードに繋がっている入力ノードに入力された複数の値と、各々の入力ノードに対応するリンクに設定された重みとに基づき、出力ノードから出力されるデータの値を決定することが可能である。前述のデータ構造は、例示に過ぎず、本開示はこれらに限定されない。
【0093】
本開示が一般的にコンピューティング装置により具現化されることができると前述されているが、当業者であれば本開示が一つ以上のコンピューター上で実行されることのできるコンピューター実行可能命令及び/またはその他のプログラムモジュールと結合して及び/またはハードウェアとソフトウェアの組み合わせとして具現化されることができるということをよく理解できるだろう。
【0094】
一般的に、本明細書におけるモジュールは、特定のタスクを実行したり特定の抽象的なデータ類型を実装するルーティン、プログラム、コンポーネント、データ構造、その他等々を含む。また、当業者なら本開示の方法がシングルプロセッサーまたはマルチプロセッサーコンピューターシステム、ミニコンピューター、メインフレームコンピューターはもちろん、パーソナルコンピューター、ハンドヘルド(handheld)コンピューティング装置、マイクロプロセッサー基盤、またはプログラム可能な家電製品、その他等々(これらは、それぞれ1つ以上の関連する装置と繋がって動作することができる)をはじめとする、他のコンピューターシステムの構成によって実施されることができることをよく理解できるだろう。
【0095】
本開示において説明された実施例は、さらに、あるタスクが通信ネットワークを通じて繋がっている遠隔処理装置によって実行される分散コンピューティング環境で実施されることができる。分散コンピューティング環境において、プログラムモジュールは、ローカルや遠隔メモリー保存装置の両方に位置することができる。
【0096】
コンピューターは、多様なコンピューター可読媒体を含む。コンピューターによってアクセス可能な媒体はいずれもコンピューター可読媒体になり得るが、このようなコンピューター可読媒体は揮発性及び非揮発性媒体、一時的(transitory)及び非一時的(non-transitory)媒体、移動式及び非移動式媒体を含む。制限ではなく例として、コンピューター可読媒体は、コンピューター可読保存媒体及びコンピューター可読伝送媒体を含むことができる。コンピューター可読保存媒体は、コンピューター可読命令、データ構造、プログラムモジュール又はその他のデータのような情報を保存する任意の方法又は技術により実装される揮発性及び非揮発性媒体、一時的及び非一時的媒体、移動式及び非移動式媒体を含む。コンピューター可読保存媒体は、RAM、ROM、EEPROM、フラッシュメモリーまたはその他のメモリー技術、CD-ROM、DVD(digital video disk)またはその他の光ディスク保存装置、磁気カセット、磁気テープ、磁気ディスク保存装置またはその他の磁気保存装置、またはコンピューターによってアクセスされることができ、情報を保存するのに使われることのできる任意のその他の媒体を含むが、これに限定されない。
【0097】
コンピューター可読伝送媒体は、通常、搬送波(carrier wave)またはその他の伝送メカニズム(transport mechanism)のような被変調データ信号(modulated data signal)にコンピューター可読命令、データ構造、プログラムモジュールまたはその他のデータ等を実装し、すべての情報伝達媒体を含む。被変調データ信号という用語は、信号の中で情報をエンコードするように、その信号の特性のうち1つ以上を設定または変更した信号を意味する。制限ではなく例として、コンピューター可読伝送媒体は、有線ネットワークまたは直接配線接続(direct-wired connection)のような有線媒体、そして音響、RF、赤外線、その他の無線媒体のような無線媒体を含む。前述の媒体のいずれかによる任意の組み合わせもまたコンピューター可読伝送媒体の範囲に含まれるものとする。
【0098】
コンピューター(1102)を含む本開示の多様な側面を実現する例示的な環境(1100)が示されており、コンピューター(1102)は、処理装置(1104)、システムメモリー(1106)、システムバス(1108)を含む。システムバス(1108)は、システムメモリー(1106)(これに限定されない)をはじめとするシステムコンポーネントを処理装置(1104)につなげる。処理装置(1104)は、多様な商用プロセッサーのうち任意のプロセッサーになり得る。デュエルプロセッサーとその他のマルチプロセッサーアーキテクチャもまた処理装置(1104)として利用されることができる。
【0099】
システムバス(1108)は、メモリーバス、周辺装置バス、そして多様な商用バスアーキテクチャの中から、任意のものを使用するローカルバスにさらに相互連結されることのできる複数の類型のバス構造のうちいずれかになり得る。システムメモリー(1106)は、読み取り専用メモリー(ROM)(1110)やランダムアクセスメモリー(RAM)(1112)を含む。基本的な入出力システム(BIOS)は、ROM、EPROM、EEPROM等の非揮発性メモリー(1110)に保存され、このBIOSは、起動中の時等にコンピューター(1102)の中の複数の構成要素間の情報のやりとりをサポートする基本的なルーティンを含む。RAM(1112)は、またデータをキャッシュするための静的RAM等の高速RAMを含むことができる。
【0100】
コンピューター(1102)においては、また、内蔵型ハードディスクドライブ(HDD)(1114)(例えば、EIDE、SATA)(この内蔵型ハードディスクドライブ(1114)はまた適切なシャシー(図示は省略)の中で外付け型の用途で構成されることができる)、磁気フロッピーディスクドライブ(FDD)(1116)(例えば、移動式ディスケット(1118)から読み取ったりそれに書き込むためのものである)及び光ディスクドライブ(1120)(例えば、CD-ROMディスク(1122)を読み取ったり、DVD等のその他の高容量光媒体から読み取ったり、それに書き込むためのものである)を含む。ハードディスクドライブ(1114)、磁気ディスクドライブ(1116)及び光ディスクドライブ(1120)は、それぞれハードディスクドライブインターフェース(1124)、磁気ディスクドライブインターフェース(1126)及び光ドライブインターフェース(1128)によってシステムバス(1108)に繋がることができる。外付け型ドライブの実装のためのインターフェース(1124)は、例えば、USB(Universal Serial Bus)やIEEE1394インターフェース技術のうち、少なくとも1つまたはその両方を含む。
【0101】
これらのドライブ及びこれらに係るコンピューター可読媒体は、データ、データ構造、コンピューターで実行可能な命令、その他等々の非揮発性保存を提供する。コンピューター(1102)の場合、ドライブ及び媒体は、任意のデータを適切なデジタル形式に保存することに対応する。前述におけるコンピューター可読保存媒体に係る説明が、HDD、移動式磁気ディスク及びCDまたはDVD等の移動式光媒体について触れているが、当業者ならジップドライブ(zip drive)、磁気カセット、フラッシュメモリーカード、カートリッジ、その他等々のコンピューターにより読み取り可能な他の類型の保存媒体もまた例示的な運営環境で使われることができ、さらに、このような媒体のうち任意のある媒体が、本開示の方法を実行するためのコンピューターで実行可能な命令を含むことができることをよく理解できるだろう。
【0102】
運営システム(1130)、1つ以上のアプリケーションプログラム(1132)、その他のプログラムモジュール(1134)及びプログラムデータ(1136)をはじめとする多数のプログラムモジュールが、ドライブ及びRAM(1112)に保存されることができる。運営システム、アプリケーション、モジュール及び/またはデータの全部またはその一部分がまたRAM(1112)にキャッシュされることができる。本開示が商業的に利用可能な様々な運営システムまたは複数の運営システムの組み合わせにより実装されることができることをよく理解できるだろう。
【0103】
ユーザーは、1つ以上の有線・無線の入力装置、例えば、キーボード(1138)及びマウス(1140)等のポインティング装置を通じてコンピューター(1102)に命令及び情報を入力することができる。その他の入力装置(図示は省略)としてはマイク、IRリモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン、その他等々があり得る。これら及びその他の入力装置が、よくシステムバス(1108)に繋がっている入力装置インターフェース(1142)を通じて処理装置(1104)に繋がることがあるが、並列ポート、IEEE1394直列ポート、ゲームポート、USBポート、IRインターフェース、その他等々のその他のインターフェースによって繋がることができる。
【0104】
モニター(1144)または他の類型のディスプレイ装置も、ビデオアダプター(1146)等のインターフェースを通じてシステムバス(1108)に繋がる。モニター(1144)に加えて、コンピューターは一般的にスピーカー、プリンター、その他等々のその他の周辺出力装置(図示は省略)を含む。
【0105】
コンピューター(1102)は、有線及び/または無線通信による(複数の)遠隔コンピューター(1148)等の1つ以上の遠隔コンピューターへの論理的接続を利用し、ネットワーク化された環境で動作することができる。(複数の)遠隔コンピューター(1148)は、ワークステーション、サーバーコンピューター、ルーター、パーソナルコンピューター、携帯用コンピューター、マイクロプロセッサー基盤の娯楽機器、ピア装置またはその他の通常のネットワークノードになることができ、一般的にコンピューター(1102)について述べられた構成要素のうち、多数またはその全部を含むが、簡略化するために、メモリー保存装置(1150)のみ図示されている。図示されている論理的接続は、近距離通信網(LAN)(1152)及び/または、より大きいネットワーク、例えば、遠距離通信網(WAN)(1154)における有線・無線の接続を含む。このようなLAN及びWANのネットワーキング環境は、オフィスや会社では一般的なもので、イントラネット等の全社的コンピューターネットワーク(enterprise-wide computer network)を容易にし、これらはすべて全世界のコンピューターネットワーク、例えば、インターネットに繋がることができる。
【0106】
LANネットワーキング環境で使われるとき、コンピューター(1102)は、有線及び/または無線通信ネットワークインターフェース、または、アダプター(1156)を通じてローカルネットワーク(1152)に繋がる。アダプター(1156)は、LAN(1152)への有線または無線通信を容易にすることができ、このLAN(1152)は、また無線アダプター(1156)と通信するためにそれに設置されている無線アクセスポイントを含む。WANネットワーキング環境で使われるとき、コンピューター(1102)は、モデム(1158)を含むことができたり、WAN(1154)上の通信サーバーに繋がったり、またはインターネットを通じる等、WAN(1154)を通じて通信を設定するその他の手段を持つ。内蔵型又は外付け型、そして、有線または無線装置になり得るモデム(1158)は、直列ポートインターフェース(1142)を通じてシステムバス(1108)に繋がる。ネットワーク化された環境において、コンピューター(1102)について説明されたプログラムモジュールまたはその一部分が、遠隔メモリー/保存装置(1150)に保存されることができる。図示されたネットワーク接続が例示的なものであり、複数のコンピューター間で通信リンクを設定する他の手段が使われることができるということは容易に理解できることである。
【0107】
コンピューター(1102)は、無線通信で配置されて動作する任意の無線装置またはユニット、例えば、プリンター、スキャナー、デスクトップ及び/または携帯用コンピューター、PDA(portable data assistant)、通信衛星、無線で検出可能なタグに係る任意の装備または場所及、及び電話と通信する動作をする。これは、少なくともWi-Fi及びブルートゥース無線技術を含む。従って、通信は、従来のネットワークのように予め定義された構造であったり、単純に少なくとも2つの装置の間でのアドホック通信(ad hoc communication)になり得る。
【0108】
Wi-Fi(Wireless Fidelity)は、有線で繋がっていなくても、インターネット等への接続を可能にする。Wi-Fiは、このような装置、例えば、コンピューターが室内及び室外で、つまり基地局の通話圏内のどこからでもデータを送受信できるようにするセル電話のような無線技術である。Wi-Fiネットワークは、安全で信頼性があり、高速である無線接続を提供するためにIEEE802.11(a、b、g、その他)という無線技術を使う。コンピューターを互いに、インターネット及び有線ネットワーク(IEEE802.3またはイーサネットを使う)に接続するためにWi-Fiが使われることができる。Wi-Fiネットワークは、非認可2.4や5GHzの無線帯域において、例えば、11Mbps(802.11a)または54Mbps(802.11b)のデータレートで動作したり、両帯域(デュエル帯域)を含む製品において動作することができる。
【0109】
本開示の技術分野における通常の知識を持つ者は情報及び信号が任意の多様な異なる技術及び手法を利用して示されることができることを理解できる。例えば、上記の説明において参照できるデータ、指示、命令、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁気派、磁場等または粒子、光学場等または粒子、またはこれらの任意の組み合わせによって示されることができる。
【0110】
本開示の技術分野において通常の知識を持つ者は、ここに開示された実施例に係る説明で取り挙げられた多様な例示的な論理ブロック、モジュール、プロセッサー、手段、回路、アルゴリズム段階が電子ハードウェア、(利便性のために、ここでは「ソフトウェア」と称される)多様な形のプログラムまたは設計コード、またはこれらすべての結合により実装されることができることを理解できるだろう。ハードウェア及びソフトウェアのこのような相互互換性を明確に説明するために、多様な例示的なコンポーネント、ブロック、モジュール、回路、及び段階がこれらの機能に着目して上記で一般的に説明された。このような機能がハードウェアやソフトウェアで実装されるかどうかは、特定のアプリケーションおよび全体システムに対して付与される設計上の制限によって決まる。本開示の技術分野において通常の知識を持つ者は、個々の特定のアプリケーションについて多様な手法で説明された機能を実現することができるが、このような実現の決定は、本開示の範囲を逸脱するものと解釈されてはならない。
【0111】
ここに示された多様な実施例は、方法、装置、または標準プログラミング及び/またはエンジニアリング技術を使った製造物品(article)によって実現できる。用語「製造物品」は、任意のコンピューターで可読な装置からアクセス可能なコンピュータープログラム、キャリアー、または媒体(media)を含む。例えば、コンピューターで可読保存媒体は、磁気保存装置(例えば、ハードディスク、フロッピーディスク、磁気ストリップ等)、光学ディスク(例えば、CD、DVD等)、スマートカード及びフラッシュメモリー装置(例えば、EEPROM、カード、スティック、キードライブ等)を含むが、これらに限定されるものではない。また、ここに示されている多様な保存媒体は、情報を保存するための1つ以上の装置及び/または他の機械可読媒体を含む。
【0112】
示されたプロセスにおける複数の段階の特定の順番または階層構造は、例示的なアプローチの一例であることを理解すべきである。設計上の優先順位に基づき、本開示の範囲内で、プロセスにおける段階の特定の順番または階層構造が再配列されることができることを理解すべきである。添付の方法請求項は、サンプルとしての順番で、多様な段階のエレメントを提供するが、示された特定の順番または階層構造に限定されることを意味するわけではない。
【0113】
示された実施例に関する説明は、任意の本開示の技術分野において通常の知識を持つ者が、本開示を利用したり、または実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものであり、ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることができる。従って、本開示はここに示す実施例によって限定されるものではなく、ここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。
【0114】
本開示は、以下に記載された、政府の支援の下で取り組む課題の一環として行われたものである。
課題固有番号:20018010
部署名:産業通商資源部
研究管理専門機関:韓国産業技術評価管理院
研究事業名:優秀企業研究所育成事業(ATC+)-優秀企業研究所育成事業(ATC+)
研究課題名:LCAP(LowCode Application Platform)基盤の応用ソフトウェアを活用した企業の協業自動化管理統合プラットフォーム開発
寄与率:100%
主管機関:株式会社ビーアイマトリックス
研究期間:2022年4月1日~2025年12月31日
図1
図2
図3
図4
図5
図6
図7
図8