精华内容
下载资源
问答
  • TEMPORAL LOGIC

    2013-05-24 16:35:58
    TEMPORAL LOGIC From Ancient Ideas to Artificial Intelligence
  • 时态js 用于Temporal的Javascript和TypeScript sdk( ) 用法 要从npm安装,您可以使用npm install bonedaddy/temporal-js 。 测试 使用npm test (由于某些原因,仅mocha test似乎可行)。
  • Temporal-spatial unpredictable auditory information modulates temporal-spatial coincident audiovisual integration
  • Temporal Broadcast-开源

    2021-07-04 10:20:12
    Temporal 将是一个完整的广播工作室解决方案,无论是网络广播、FM 广播还是雅虎! 信使语音站。 对 CD、mp3 和 ogg 文件的支持以及对电台的远程控制将使 Temporal 成为首选的广播解决方案。
  • @Temporal

    2018-06-23 14:27:52
    [@Temporal] - 用于定义映射到数据库的时间精度: @Temporal(TemporalType=DATE) 日期 @Temporal(TemporalType=TIME) 时间 @Temporal(TemporalType=TIMESTAMP) 两者兼具 【注意】此注解仅适用于 属性 为 java....
    [@Temporal]
        - 用于定义映射到数据库的时间精度:
      @Temporal(TemporalType=DATE) 日期
      @Temporal(TemporalType=TIME) 时间
      @Temporal(TemporalType=TIMESTAMP) 两者兼具    
      【注意】此注解仅适用于 属性 为 java.util.Date java.util.Calendar 这两种类型 

    package sun.rain.amazing.javax.anno.domain;
    
    import lombok.Data;
    
    import javax.persistence.*;
    import java.util.Date;
    
    /**
     * @author  sunRainAmazing
     */
    @Entity
    @Data
    public class UserTemporal {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private int id;
    
        @Temporal(TemporalType.DATE)
        @Column(updatable = false,columnDefinition="DATE")
        private Date createTime;
    
        @Column(updatable = false,columnDefinition="TIMESTAMP")
        private Date regTime;
        /***
         * 默认是 datetime
         */
        private Date updateTime;
    }
    /*
    CREATE TABLE `user_temporal` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `create_time` date DEFAULT NULL,
      `reg_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `update_time` datetime DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    
    
     */

    展开全文
  • 核心 SDK,可用作所有其他 Temporal SDK 的基础。入门有关一些高级信息,请参阅架构文档。这个 repo 为上游 protobuf 文件使用一个子模块。路径protos/api_upstream是一个子模块——当第一次检出 repo 时,确保你...
  • Temporal Uncertainty of Geographical Information,舒红,,Temporal uncertainty is a crossing point of temporal and error-aware geographical information systems. In Geoinformatics, temporal uncertainty...
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks
  • Flink Temporal tables

    千次阅读 2020-02-18 18:52:18
    该文章主要是对Flink官网相关内容进行翻译,原文地址:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/streaming/temporal_tables.html#temporal-table-functions 时态表(又称之为临时表)...

    该文章主要是对Flink官网相关内容进行翻译,原文地址:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/streaming/temporal_tables.html#temporal-table-functions

    Temporal table时态表表示改变的历史记录表上的(参数化)视图的概念,该表返回特定时间点的表的内容

    更改表可以是跟踪更改的更改历史表(例如数据库更改日志),也可以是具体化更改的更改维表(例如数据库表)。

    对于更改历史记录表,Flink可以跟踪更改,并允许在查询中的特定时间点访问表的内容。在Flink中,这种表由Temporal Table Function(时态表函数)表示。

    对于变化的维表,Flink允许在查询中的处理时访问表的内容。在Flink中,这种表为Temporal Table

    产生的原因

    与更改的历史记录表相关

    我们假设有下表RatesHistory。

    SELECT * FROM RatesHistory;
    
    rowtime currency   rate
    ======= ======== ======
    09:00   US Dollar   102
    09:00   Euro        114
    09:00   Yen           1
    10:45   Euro        116
    11:15   Euro        119
    11:49   Pounds      108
    

    RatesHistory代表一个增长的日元(汇率为1)仅追加(append-only)货币汇率表。例如,欧元兑日元从09:00到10:45的汇率为114;从10:45到11:15,汇率为116。

    假设我们要在10:58的时间输出所有当前汇率,则需要以下SQL查询来计算结果表:

    SELECT *
    FROM RatesHistory AS r
    WHERE r.rowtime = (
      SELECT MAX(rowtime)
      FROM RatesHistory AS r2
      WHERE r2.currency = r.currency
      AND r2.rowtime <= TIME '10:58');
    

    相关子查询确定相应货币的最大时间小于或等于所需时间。 外部查询列出具有最大时间戳的汇率。

    下表显示了这种计算的结果。在我们的示例中,考虑了10:45时欧元的更新,但是在10:58时表的版本中未考虑11:15时欧元的更新值以及新的值。

    rowtime currency   rate
    ======= ======== ======
    09:00   US Dollar   102
    09:00   Yen           1
    10:45   Euro        116
    

    Temporal Table的概念旨在简化此类查询,加快其执行速度,并减少Flink的状态使用率。Temporal Table是仅附加表的参数化视图,它将仅附加( append-only)表的行解释为表的更改日志,并在特定时间点提供该表的版本。 将仅附加表解释为更改日志(changelog)需要指定主键属性和时间戳属性。 主键确定覆盖哪些行,时间戳确定行有效的时间。
    在上面的示例中,currency是RatesHistory表的主键,rowtime是timestamp属性。

    在Flink中,这由Temporal Table Function表示。

    与维度表变化相关

    另一方面,某些用例需要连接变化的维表,该表是外部数据库表。假设LatestRates是一个以最新汇率具体化的表格(例如存储在其中)。LatestRates是物化历史RatesHistory。然后,时间10:58的LatestRates表的内容将是:

    10:58> SELECT * FROM LatestRates;
    currency   rate
    ======== ======
    US Dollar   102
    Yen           1
    Euro        116
    

    12:00时间的LatestRates表的内容为:

    12:00> SELECT * FROM LatestRates;
    currency   rate
    ======== ======
    US Dollar   102
    Yen           1
    Euro        119
    Pounds      108
    

    在Flink中,这由时态表表示。

    时态表函数

    为了访问时态表中的数据,必须传递一个时间属性,该属性确定将要返回的表的版本。Flink使用table functions的SQL语法提供一种表达它的方法。

    定义后,Temporal Table Function将使用单个时间参数timeAttribute并返回一组行。该集合包含相对于给定时间属性的所有现有主键的行的最新版本。

    假设我们基于RatesHistory表定义了一个时态表函数Rates(timeAttribute),则可以通过以下方式查询该函数:

    SELECT * FROM Rates('10:15');
    
    rowtime currency   rate
    ======= ======== ======
    09:00   US Dollar   102
    09:00   Euro        114
    09:00   Yen           1
    
    SELECT * FROM Rates('11:00');
    
    rowtime currency   rate
    ======= ======== ======
    09:00   US Dollar   102
    10:45   Euro        116
    09:00   Yen           1
    

    Rates(timeAttribute)的每个查询都返回给定timeAttribute的Rates的状态。

    注意:目前,Flink不支持使用常量时间属性参数直接查询时态表函数。目前,时态表函数只能在联接join中使用。上面的示例用于提供有关Rates(timeAttribute)函数返回值的直观信息。

    定义时态表函数

    以下代码段说明了如何从仅追加表中创建时态表函数。

    // Get the stream and table environments.
    val env = StreamExecutionEnvironment.getExecutionEnvironment
    val tEnv = StreamTableEnvironment.create(env)
    
    // Provide a static data set of the rates history table.
    val ratesHistoryData = new mutable.MutableList[(String, Long)]
    ratesHistoryData.+=(("US Dollar", 102L))
    ratesHistoryData.+=(("Euro", 114L))
    ratesHistoryData.+=(("Yen", 1L))
    ratesHistoryData.+=(("Euro", 116L))
    ratesHistoryData.+=(("Euro", 119L))
    
    // Create and register an example table using above data set.
    // In the real setup, you should replace this with your own table.
    val ratesHistory = env
      .fromCollection(ratesHistoryData)
      .toTable(tEnv, 'r_currency, 'r_rate, 'r_proctime.proctime)
    
    tEnv.registerTable("RatesHistory", ratesHistory)
    
    // Create and register TemporalTableFunction.
    // Define "r_proctime" as the time attribute and "r_currency" as the primary key.
    val rates = ratesHistory.createTemporalTableFunction('r_proctime, 'r_currency) // <==== (1)
    tEnv.registerFunction("Rates", rates)                                          // <==== (2)
    

    第(1)行创建了一个rates时态表函数,它允许我们使用表API中的函数rates。

    第(2)行在我们的表环境中以名称Rates注册此函数,这允许我们在SQL中使用Rates函数。

    时态表

    注意:仅blink planner支持此功能。

    为了访问时态表中的数据,当前必须使用LookupableTableSource定义一个TableSource。Flink使用FOR SYSTEM_TIME AS OF的SQL语法查询时态表,这在SQL:2011中提出。

    假设我们定义了一个称为LatestRates的时态表,我们可以通过以下方式查询此类表:

    SELECT * FROM LatestRates FOR SYSTEM_TIME AS OF TIME '10:15';
    
    currency   rate
    ======== ======
    US Dollar   102
    Euro        114
    Yen           1
    
    SELECT * FROM LatestRates FOR SYSTEM_TIME AS OF TIME '11:00';
    
    currency   rate
    ======== ======
    US Dollar   102
    Euro        116
    Yen           1
    

    注意:目前,Flink不支持以固定时间直接查询时态表。目前,时态表只能在联接中使用。上面的示例用于提供有关时态表LatestRates返回的内容的直觉。

    另请参阅有关用于joins for continuous queries的页面,以获取有关如何与时态表联接的更多信息。

    定义时态表

    // Get the stream and table environments.
    val env = StreamExecutionEnvironment.getExecutionEnvironment
    val tEnv = TableEnvironment.getTableEnvironment(env)
    
    // Create an HBaseTableSource as a temporal table which implements LookableTableSource
    // In the real setup, you should replace this with your own table.
    val rates = new HBaseTableSource(conf, "Rates")
    rates.setRowKey("currency", String.class)   // currency as the primary key
    rates.addColumn("fam1", "rate", Double.class)
    
    // register the temporal table into environment, then we can query it in sql
    tEnv.registerTableSource("Rates", rates)
    
    展开全文
  • Temporal logics provide a generic logical framework for modelling and reasoning about time and temporal aspects of the world. While stemming from philosophical considerations and discussions, temporal...
  • Temporal框架学习

    2021-07-14 21:25:35
    本人出于学习的态度便学习Temporal框架,并希望后续能独立接手该项目,积累实战经验,所以深入学习了Temporal。 一、Temporal是什么? 官方说明:Temporal是一种分布式、可扩展、持久且高度可用的编排引擎,用于以可...

    前言

    公司前员工优化了内部的视频转码流程,引入了工作流,使用的是Temporal框架,其离职后没人了解该项目。本人出于学习的态度便学习Temporal框架,并希望后续能独立接手该项目,积累实战经验,所以深入学习了Temporal。
    我们的视频工作流只要包括:去水印、视频下载、多码率转码等。

    一、Temporal是什么?

    官方说明:Temporal是一种分布式、可扩展、持久且高度可用的编排引擎,用于以可扩展和弹性的方式执行一步长时间运行的业务逻辑。Temporal Go SDK是使用Go语言创作工作流活动的框架。
    从官方说明SDK里可以看到2个关键词 “工作流” 和 “活动”,这两个是主体。

    二、组件有哪些?

    官方给的组件示意图如下,由四部分组成Start、Temporal Server、Worker、Bank。

    • Start:工作流的创建者/发起者
    • Temporal Server:存储所有工作流的数据、状态的中间件,整个工作依赖于该server(后续简写为TS)
    • Worker:实际进行逻辑处理的执行者
    • Bank:官方给的示例,可以理解为DB
      具体的流程描述:启动Temporal Server。启动Worder监听TS,循环获取待执行的工作流。Start创建一个工作流,封装参数,调用sdk的api(rpc)发送到TS。Worker拉取到工作流开始逻辑处理。
      在这里插入图片描述
      woker是Activity和Workflow的包装,worker的唯一工作就是执行Activity和Workflow并将结果返回给TS。
      一个Wokeflow包含多个Activity,对Activity进行编排,多个Activity可以并行,也可以同步(阻塞到都某个Activity执行完毕)。其底层会阻塞到Future.Get()方法上。

    三、TS启动

    在本地下载并启动TS。

    git clone https://github.com/temporalio/docker-compose.git
    cd docker-compose
    docker-compose up
    

    使用temporal的命令行工具与本地TS交互。

    alias tctl="docker exec temporal-admin-tools tctl"
    tctl namespace list
    tctl workflow list
    

    启动后,网页里输入 http://localhost:8088,检查TS是否正常运行。
    在这里插入图片描述

    四、样例代码

    1.目录结构

    代码目录

    2.代码

    2.1 start

    package main
    
    import (
    	"context"
    	"go.temporal.io/sdk/client"
    	"log"
    	"temporal/workflow"
    )
    
    type Student struct {
    	Id   int64
    	Name string
    }
    
    func main() {
    	c, err := client.NewClient(client.Options{})
    	if err != nil {
    		log.Fatalln("unable to create Temporal client", err)
    	}
    	defer c.Close()
    
    	options := client.StartWorkflowOptions{
    		ID:        "xl_test2", // ID应唯一
    		TaskQueue: "xl_test_queue",
    	}
    	student := Student{
    		Id:   1,
    		Name: "xiaoming",
    	}
    	we, err := c.ExecuteWorkflow(context.Background(), options, workflow.HandleStudent, student)
    	if err != nil {
    		log.Println("failed to ExecuteWorkflow err: %s", err.Error())
    		return
    	}
    	log.Println(we.GetID(), we.GetRunID())
    }
    
    

    2.2 activity

    package activity
    
    import (
    	"context"
    	"fmt"
    )
    
    func PrintStudent(ctx context.Context, student interface{}) (err error) {
    	// 实现活动的具体逻辑
    	fmt.Println("print student %v", student)
    	return
    }
    

    2.3 workflow

    package workflow
    
    import (
    	"fmt"
    	"go.temporal.io/sdk/temporal"
    	"go.temporal.io/sdk/workflow"
    	"temporal/activity"
    	"time"
    )
    
    func HandleStudent(ctx workflow.Context, student interface{}) (err error) {
    	retrypolicy := &temporal.RetryPolicy{
    		InitialInterval:    time.Second,
    		BackoffCoefficient: 2.0,
    		MaximumInterval:    time.Minute,
    		MaximumAttempts:    500,
    	}
    	options := workflow.ActivityOptions{
    		// Timeout options specify when to automatically timeout Actvitivy functions.
    		StartToCloseTimeout: time.Minute,
    		// Optionally provide a customized RetryPolicy.
    		// Temporal retries failures by default, this is just an example.
    		RetryPolicy: retrypolicy,
    	}
    	// 特定位置执行特定活动,对活动可以进行编排
    	ctx = workflow.WithActivityOptions(ctx, options)
    	// activity.PrintStudent 底层会反射拿到该方法名
    	// 也可以直接传字符串,但是会失去方法的参数校验
    	printFuture := workflow.ExecuteActivity(ctx, activity.PrintStudent, student)
    	// Future.Get()方法会阻塞,获取活动结果
    	err = printFuture.Get(ctx, nil)
    	if err != nil {
    		fmt.Println("failed handle student err: %s", err.Error())
    		return
    	}
    	return
    }
    

    2.4 worker

    package main
    
    import (
    	"go.temporal.io/sdk/client"
    	"go.temporal.io/sdk/worker"
    	"log"
    	"temporal/activity"
    	"temporal/workflow"
    )
    
    func main() {
    	c, err := client.NewClient(client.Options{})
    	if err != nil {
    		log.Fatal("new client failed")
    		return
    	}
    	defer c.Close()
    
    	// 创建worker,并注册workflow和activity
    	w := worker.New(c, "xl_test_queue", worker.Options{})
    	w.RegisterWorkflow(workflow.HandleStudent)
    	w.RegisterActivity(activity.PrintStudent)
    	err = w.Run(worker.InterruptCh())
    	if err != nil {
    		log.Fatalln("unable to start Worker", err)
    	}
    }
    
    

    五、运行结果

    1、写入一个任务

    localhost:temporal zuiyou$ go run start/main.go
    2021/07/19 20:47:38 INFO  No logger configured for temporal client. Created default one.
    2021/07/19 20:47:38 xl_test2 1bed122b-7be5-489b-a896-c9b4d1320f35
    

    在这里插入图片描述
    2、启动worker处理

    localhost:temporal zuiyou$ go run worker/main.go
    2021/07/19 20:49:26 INFO  No logger configured for temporal client. Created default one.
    2021/07/19 20:49:26 INFO  Started Worker Namespace default TaskQueue xl_test_queue WorkerID 21499@xxxdeMacBook-Pro.local@
    2021/07/19 20:49:26 DEBUG ExecuteActivity Namespace default TaskQueue xl_test_queue WorkerID 21499@xxxdeMacBook-Pro.local@ WorkflowType HandleStudent WorkflowID xl_test2 RunID 1bed122b-7be5-489b-a896-c9b4d1320f35 Attempt 1 ActivityID 5 ActivityType PrintStudent
    print student %v map[Id:1 Name:xiaoming]
    

    在这里插入图片描述

    END

    展开全文
  • This paper addresses the mathematical relation on a set of periods and temporal indexing construc- tions as well as their applications. First we introduce two concepts, i.e. the temporal connection ...
  • Community Detection Temporal Methods

    万次阅读 2019-12-14 13:21:49
    Temporal Methods DynComm R Package - Dynamic Community Detection for Evolving Networks (Arxiv 2019) Rui Portocarrero Sarmento, Luís Lemos, Mário Cordeiro, Giulio Rossetti, and Douglas Cardoso ...

    Temporal Methods

    • DynComm R Package - Dynamic Community Detection for Evolving Networks (Arxiv 2019)

      • Rui Portocarrero Sarmento, Luís Lemos, Mário Cordeiro, Giulio Rossetti, and Douglas Cardoso
      • [Paper]
      • [R Reference]
    • Block-Structure Based Time-Series Models For Graph Sequences (Arxiv 2018)

    • DyPerm: Maximizing Permanence for Dynamic Community Detection (PKDD 2018)

    • Temporally Evolving Community Detection and Prediction in Content-Centric Networks (ECML 2018)

    • A Streaming Algorithm for Graph Clustering (Arxiv 2017)

    • DynaMo: Dynamic Community Detection by Incrementally Maximizing Modularity (Arxiv 2017)

    • Model-Based Clustering of Time-Evolving Networks through Temporal Exponential-Family Random Graph Models (Arxiv 2017)

    • Dynamic Community Detection Based on Network Structural Perturbation and Topological Similarity (Journal of Statistical Mechanics 2017)

    • RDYN⁠: Graph Benchmark Handling Community Dynamics (Arxiv 2017)

    • Sequential Detection of Temporal Communities by Estrangement Confinement (Scientific Reports 2012)

    • GraphScope: Parameter-Free Mining of Large Time-Evolving Graphs (KDD 2007)

    展开全文
  • Temporal是一种企业级存储解决方案,使您可以轻松地与IPFS等分布式存储技术集成,而不会利用易于使用的API牺牲功能性,从而充分利用了分布式Web所提供的所有优势。 Temporal的API有两种形式,托管的或现场的。 如果...
  • Temporal Interlacing Network

    2021-07-12 19:19:43
    论文笔记(11)Temporal Interlacing Network主要贡献TIN实验 Temporal Interlacing Network 主要贡献 提出了时间交错网络(TIN) TIN 实验 Quantitative comparison of TIN with other methods on Something-...
  • @Temporal使用

    2017-10-06 16:19:32
    @Temporal(TemporalType.DATE) @Column(name = "applyDate", nullable = false, length = 10) public Date getApplyDate() { return applyDate; }在页面端取值:2011-04-12   2.时间: @Temporal...
  • TSN(Temporal Segment Networks)算法笔记

    万次阅读 多人点赞 2018-01-10 23:04:18
    论文:Temporal Segment Networks: Towards Good Practices for Deep Action Recognition 论文链接:https://arxiv.org/abs/1608.00859 代码链接一:https://github.com/yjxiong/temporal-segment-networks ...
  • temporal_web_games-源码

    2021-03-08 05:35:24
    temporal_web_games
  • Temporal_Graph_library Tink 该存储库包含库 Tink,这是一个使用 Flink 数据流进行时态图分析的库。 此自述文件包含库的基本设置。 这仍在进行中,以后可能会扩展。 项目信息 由于该库中的所有内容都与图形有关,...
  • temporal_network_viz-源码

    2021-02-18 15:08:20
    temporal_network_viz
  • temporal-python-sdk-源码

    2021-04-01 03:10:53
    from temporal . activity_method import activity_method from temporal . workerfactory import WorkerFactory from temporal . workflow import workflow_method , Workflow , WorkflowClient logging . ...
  • Temporal_ESA_PetriNet

    2018-06-22 11:25:26
    Temporal_ESA_PetriNet是一款应用于petri网建模的工具
  • Enhancing Human Pose Estimation with Temporal Clues
  • Spatio-Temporal Keywords Queries in HBase
  • We propose an algorithm to explore the temporal relationship between video trajectories and apply it to motion recognition and intelligent human-computer interaction systems. Trajectory components ...
  • TURN TAP: Temporal Unit Regression Network for Temporal Action Proposals摘要 摘要

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,523
精华内容 13,409
关键字:

temporal